From 93884e0033cea1c179d9263155f43a18d198a03a Mon Sep 17 00:00:00 2001 From: d07riv Date: Thu, 8 Aug 2019 22:33:11 +0300 Subject: [PATCH] Updates --- ...orker.js => 6aa26238cc9e8b6852cd.worker.js | 4 ++-- ....map => 6aa26238cc9e8b6852cd.worker.js.map | 2 +- asset-manifest.json | 14 ++++++------ index.html | 2 +- ...nifest.39e1818522dd8c2b9cdf3e74a041e226.js | 20 +++++++++--------- service-worker.js | 2 +- ...d376ae.chunk.js => main.4bf04ab4.chunk.js} | 4 ++-- ...hunk.js.map => main.4bf04ab4.chunk.js.map} | 2 +- ...blo.b852e747.wasm => Diablo.283757c2.wasm} | Bin 1310842 -> 1311028 bytes ...f791d70.wasm => DiabloSpawn.2755a1a7.wasm} | Bin 1176561 -> 1176736 bytes 10 files changed, 25 insertions(+), 25 deletions(-) rename 815a4c1de37951a017c2.worker.js => 6aa26238cc9e8b6852cd.worker.js (99%) rename 815a4c1de37951a017c2.worker.js.map => 6aa26238cc9e8b6852cd.worker.js.map (99%) rename precache-manifest.9770641dd227483adbc05ead5b31cbd9.js => precache-manifest.39e1818522dd8c2b9cdf3e74a041e226.js (69%) rename static/js/{main.bcd376ae.chunk.js => main.4bf04ab4.chunk.js} (99%) rename static/js/{main.bcd376ae.chunk.js.map => main.4bf04ab4.chunk.js.map} (99%) rename static/media/{Diablo.b852e747.wasm => Diablo.283757c2.wasm} (60%) rename static/media/{DiabloSpawn.2f791d70.wasm => DiabloSpawn.2755a1a7.wasm} (59%) diff --git a/815a4c1de37951a017c2.worker.js b/6aa26238cc9e8b6852cd.worker.js similarity index 99% rename from 815a4c1de37951a017c2.worker.js rename to 6aa26238cc9e8b6852cd.worker.js index adc77cd..3fd3e8d 100644 --- a/815a4c1de37951a017c2.worker.js +++ b/6aa26238cc9e8b6852cd.worker.js @@ -1,2 +1,2 @@ -!function(e){var n={};function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)t.d(r,i,function(n){return e[n]}.bind(null,i));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="/diabloweb/",t(t.s=35)}([function(e,n,t){"use strict";var r=t(5),i=t(20),o=Object.prototype.toString;function a(e){return"[object Array]"===o.call(e)}function u(e){return null!==e&&"object"===typeof e}function s(e){return"[object Function]"===o.call(e)}function c(e,n){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),a(e))for(var t=0,r=e.length;t1)for(var t=1;t=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),t++):t&&(e.splice(r,1),t--)}if(n)for(;t--;t)e.unshift("..");return e}function r(e,n){if(e.filter)return e.filter(n);for(var t=[],r=0;r=-1&&!i;o--){var a=o>=0?arguments[o]:e.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,i="/"===a.charAt(0))}return(i?"/":"")+(n=t(r(n.split("/"),function(e){return!!e}),!i).join("/"))||"."},n.normalize=function(e){var o=n.isAbsolute(e),a="/"===i(e,-1);return(e=t(r(e.split("/"),function(e){return!!e}),!o).join("/"))||o||(e="."),e&&a&&(e+="/"),(o?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(r(e,function(e,n){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function r(e){for(var n=0;n=0&&""===e[t];t--);return n>t?[]:e.slice(n,t-n+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var i=r(e.split("/")),o=r(t.split("/")),a=Math.min(i.length,o.length),u=a,s=0;s=1;--o)if(47===(n=e.charCodeAt(o))){if(!i){r=o;break}}else i=!1;return-1===r?t?"/":".":t&&1===r?"/":e.slice(0,r)},n.basename=function(e,n){var t=function(e){"string"!==typeof e&&(e+="");var n,t=0,r=-1,i=!0;for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!i){t=n+1;break}}else-1===r&&(i=!1,r=n+1);return-1===r?"":e.slice(t,r)}(e);return n&&t.substr(-1*n.length)===n&&(t=t.substr(0,t.length-n.length)),t},n.extname=function(e){"string"!==typeof e&&(e+="");for(var n=-1,t=0,r=-1,i=!0,o=0,a=e.length-1;a>=0;--a){var u=e.charCodeAt(a);if(47!==u)-1===r&&(i=!1,r=a+1),46===u?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!i){t=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===t+1?"":e.slice(n,r)};var i="b"==="ab".substr(-1)?function(e,n,t){return e.substr(n,t)}:function(e,n,t){return n<0&&(n=e.length+n),e.substr(n,t)}}).call(this,t(2))},function(e,n,t){"use strict";e.exports=function(e,n){return function(){for(var t=new Array(arguments.length),r=0;r=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],function(e){u.headers[e]={}}),r.forEach(["post","put","patch"],function(e){u.headers[e]=r.merge(o)}),e.exports=u}).call(this,t(2))},function(e,n,t){"use strict";var r=t(0),i=t(26),o=t(6),a=t(28),u=t(29),s=t(10);e.exports=function(e){return new Promise(function(n,c){var f=e.data,l=e.headers;r.isFormData(f)&&delete l["Content-Type"];var _=new XMLHttpRequest;if(e.auth){var p=e.auth.username||"",d=e.auth.password||"";l.Authorization="Basic "+btoa(p+":"+d)}if(_.open(e.method.toUpperCase(),o(e.url,e.params,e.paramsSerializer),!0),_.timeout=e.timeout,_.onreadystatechange=function(){if(_&&4===_.readyState&&(0!==_.status||_.responseURL&&0===_.responseURL.indexOf("file:"))){var t="getAllResponseHeaders"in _?a(_.getAllResponseHeaders()):null,r={data:e.responseType&&"text"!==e.responseType?_.response:_.responseText,status:_.status,statusText:_.statusText,headers:t,config:e,request:_};i(n,c,r),_=null}},_.onabort=function(){_&&(c(s("Request aborted",e,"ECONNABORTED",_)),_=null)},_.onerror=function(){c(s("Network Error",e,null,_)),_=null},_.ontimeout=function(){c(s("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",_)),_=null},r.isStandardBrowserEnv()){var m=t(30),y=(e.withCredentials||u(e.url))&&e.xsrfCookieName?m.read(e.xsrfCookieName):void 0;y&&(l[e.xsrfHeaderName]=y)}if("setRequestHeader"in _&&r.forEach(l,function(e,n){"undefined"===typeof f&&"content-type"===n.toLowerCase()?delete l[n]:_.setRequestHeader(n,e)}),e.withCredentials&&(_.withCredentials=!0),e.responseType)try{_.responseType=e.responseType}catch(h){if("json"!==e.responseType)throw h}"function"===typeof e.onDownloadProgress&&_.addEventListener("progress",e.onDownloadProgress),"function"===typeof e.onUploadProgress&&_.upload&&_.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){_&&(_.abort(),c(e),_=null)}),void 0===f&&(f=null),_.send(f)})}},function(e,n,t){"use strict";var r=t(27);e.exports=function(e,n,t,i,o){var a=new Error(e);return r(a,n,t,i,o)}},function(e,n,t){"use strict";var r=t(0);e.exports=function(e,n){n=n||{};var t={};return r.forEach(["url","method","params","data"],function(e){"undefined"!==typeof n[e]&&(t[e]=n[e])}),r.forEach(["headers","auth","proxy"],function(i){r.isObject(n[i])?t[i]=r.deepMerge(e[i],n[i]):"undefined"!==typeof n[i]?t[i]=n[i]:r.isObject(e[i])?t[i]=r.deepMerge(e[i]):"undefined"!==typeof e[i]&&(t[i]=e[i])}),r.forEach(["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"],function(r){"undefined"!==typeof n[r]?t[r]=n[r]:"undefined"!==typeof e[r]&&(t[r]=e[r])}),t}},function(e,n,t){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,n,t){e.exports=t.p+"static/media/Diablo.b852e747.wasm"},function(e,n,t){(function(n,r){var i=function(){var e="undefined"!==typeof document&&document.currentScript?document.currentScript.src:void 0;return function(i){var o,a="undefined"!==typeof(i=i||{})?i:{},u={};for(o in a)a.hasOwnProperty(o)&&(u[o]=a[o]);a.arguments=[],a.thisProgram="./this.program",a.quit=function(e,n){throw n},a.preRun=[],a.postRun=[];var s,c,f=!1,l=!1;f="object"===typeof window,l="function"===typeof importScripts,s="object"===typeof n&&!f&&!l,c=!f&&!s&&!l;var _,p,d="";function m(e){return a.locateFile?a.locateFile(e,d):d+e}s?(d=r+"/",a.read=function(e,n){var r;return _||(_=t(3)),p||(p=t(4)),e=p.normalize(e),r=_.readFileSync(e),n?r:r.toString()},a.readBinary=function(e){var n=a.read(e,!0);return n.buffer||(n=new Uint8Array(n)),w(n.buffer),n},n.argv.length>1&&(a.thisProgram=n.argv[1].replace(/\\/g,"/")),a.arguments=n.argv.slice(2),n.on("uncaughtException",function(e){if(!(e instanceof we))throw e}),n.on("unhandledRejection",function(e,t){n.exit(1)}),a.quit=function(e){n.exit(e)},a.inspect=function(){return"[Emscripten Module object]"}):c?("undefined"!=typeof read&&(a.read=function(e){return read(e)}),a.readBinary=function(e){var n;return"function"===typeof readbuffer?new Uint8Array(readbuffer(e)):(w("object"===typeof(n=read(e,"binary"))),n)},"undefined"!=typeof scriptArgs?a.arguments=scriptArgs:"undefined"!=typeof arguments&&(a.arguments=arguments),"function"===typeof quit&&(a.quit=function(e){quit(e)})):(f||l)&&(f?document.currentScript&&(d=document.currentScript.src):d=self.location.href,e&&(d=e),d=0!==d.indexOf("blob:")?d.split("/").slice(0,-1).join("/")+"/":"",a.read=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.send(null),n.responseText},l&&(a.readBinary=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.responseType="arraybuffer",n.send(null),new Uint8Array(n.response)}),a.readAsync=function(e,n,t){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?n(r.response):t()},r.onerror=t,r.send(null)},a.setWindowTitle=function(e){document.title=e});var y=a.print||("undefined"!==typeof console?console.log.bind(console):"undefined"!==typeof print?print:null),h=a.printErr||("undefined"!==typeof printErr?printErr:"undefined"!==typeof console&&console.warn.bind(console)||y);for(o in u)u.hasOwnProperty(o)&&(a[o]=u[o]);u=void 0;var v=16;function g(e,n){return n||(n=v),e=Math.ceil(e/n)*n}var E={"f64-rem":function(e,n){return e%n},debugger:function(){}},b=(new Array(0),0);function w(e,n){e||Te("Assertion failed: "+n)}function A(e,n){if(0===n||!e)return"";for(var t,r=0,i=0;r|=t=x[e+i>>0],(0!=t||n)&&(i++,!n||i!=n););n||(n=i);var o="";if(r<128){for(var a;n>0;)a=String.fromCharCode.apply(String,x.subarray(e,e+Math.min(n,1024))),o=o?o+a:a,e+=1024,n-=1024;return o}return function(e){return O(x,e)}(e)}var T="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;function O(e,n){for(var t=n;e[t];)++t;if(t-n>16&&e.subarray&&T)return T.decode(e.subarray(n,t));for(var r,i,o,a,u,s="";;){if(!(r=e[n++]))return s;if(128&r)if(i=63&e[n++],192!=(224&r))if(o=63&e[n++],224==(240&r)?r=(15&r)<<12|i<<6|o:(a=63&e[n++],240==(248&r)?r=(7&r)<<18|i<<12|o<<6|a:(u=63&e[n++],r=248==(252&r)?(3&r)<<24|i<<18|o<<12|a<<6|u:(1&r)<<30|i<<24|o<<18|a<<12|u<<6|63&e[n++])),r<65536)s+=String.fromCharCode(r);else{var c=r-65536;s+=String.fromCharCode(55296|c>>10,56320|1023&c)}else s+=String.fromCharCode((31&r)<<6|i);else s+=String.fromCharCode(r)}}"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var C,S,x,R,j,N,D,L,M,I,P=65536,B=16777216,k=16777216;function U(e,n){return e%n>0&&(e+=n-e%n),e}function F(e){a.buffer=C=e}function H(){a.HEAP8=S=new Int8Array(C),a.HEAP16=new Int16Array(C),a.HEAP32=R=new Int32Array(C),a.HEAPU8=x=new Uint8Array(C),a.HEAPU16=new Uint16Array(C),a.HEAPU32=new Uint32Array(C),a.HEAPF32=j=new Float32Array(C),a.HEAPF64=new Float64Array(C)}N=L=I=0,a.reallocBuffer||(a.reallocBuffer=function(e){var n;try{if(ArrayBuffer.transfer)n=ArrayBuffer.transfer(C,e);else{var t=S;n=new ArrayBuffer(e),new Int8Array(n).set(t)}}catch(r){return!1}return!!ye(n)&&n});try{Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get)(new ArrayBuffer(4))}catch(Oe){(function(e){return e.byteLength})}var W=a.TOTAL_STACK||5242880,G=a.TOTAL_MEMORY||134217728;function q(e){for(;e.length>0;){var n=e.shift();if("function"!=typeof n){var t=n.func;"number"===typeof t?void 0===n.arg?a.dynCall_v(t):a.dynCall_vi(t,n.arg):t(void 0===n.arg?null:n.arg)}else n()}}G0),n.refcount--,0!==n.refcount||n.rethrown||(n.destructor&&a.dynCall_vi(n.destructor,e),delete oe.infos[e],ae(e))}},clearRef:function(e){e&&(oe.infos[e].refcount=0)}};function ae(e){try{return he(e)}catch(Oe){}}function ue(){var e=oe.last;if(!e)return 0|(ge(0),0);var n=oe.infos[e],t=n.type;if(!t)return 0|(ge(0),e);var r=Array.prototype.slice.call(arguments);a.___cxa_is_pointer_type(t);ue.buffer||(ue.buffer=ve(4)),R[ue.buffer>>2]=e,e=ue.buffer;for(var i=0;i>2],n.adjusted=e,0|(ge(r[i]),e);return e=R[e>>2],0|(ge(t),e)}var se={varargs:0,get:function(e){return se.varargs+=4,R[se.varargs-4>>2]},getStr:function(){return A(se.get())},get64:function(){var e=se.get(),n=se.get();return w(e>=0?0===n:-1===n),e},getZero:function(){w(0===se.get())}};function ce(e){!function(e,n){if(n&&a.noExitRuntime&&0===e)return;a.noExitRuntime||(b=!0,e,L=de,q(Y),!0,a.onExit&&a.onExit(e));a.quit(e,new we(e))}(e)}var fe={};var le=1,_e={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};I=function(e){var n=N;return N=N+e+15&-16,n}(4),D=L=g(N),M=g(D+W),R[I>>2]=M,a.wasmTableSize=616,a.wasmMaxTableSize=616,a.asmGlobalArg={},a.asmLibraryArg={abort:Te,enlargeMemory:function(){var e=a.usingWasm?P:B,n=2147483648-e;if(R[I>>2]>n)return!1;var t=G;for(G=Math.max(G,k);G>2];)G=G<=536870912?U(2*G,e):Math.min(U((3*G+2147483648)/4,e),n);var r=a.reallocBuffer(G);return r&&r.byteLength==G?(F(r),H(),!0):(G=t,!1)},getTotalMemory:function(){return G},abortOnCannotGrowMemory:function(){Te("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_i:function(e){var n=be();try{return a.dynCall_i(e)}catch(Oe){if(Ee(n),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_ii:function(e,n){var t=be();try{return a.dynCall_ii(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iii:function(e,n,t){var r=be();try{return a.dynCall_iii(e,n,t)}catch(Oe){if(Ee(r),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiii:function(e,n,t,r){var i=be();try{return a.dynCall_iiii(e,n,t,r)}catch(Oe){if(Ee(i),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiiii:function(e,n,t,r,i){var o=be();try{return a.dynCall_iiiii(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiiiii:function(e,n,t,r,i,o){var u=be();try{return a.dynCall_iiiiii(e,n,t,r,i,o)}catch(Oe){if(Ee(u),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_ji:function(e,n){var t=be();try{return a.dynCall_ji(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_v:function(e){var n=be();try{a.dynCall_v(e)}catch(Oe){if(Ee(n),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_vi:function(e,n){var t=be();try{a.dynCall_vi(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_vii:function(e,n,t){var r=be();try{a.dynCall_vii(e,n,t)}catch(Oe){if(Ee(r),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viii:function(e,n,t,r){var i=be();try{a.dynCall_viii(e,n,t,r)}catch(Oe){if(Ee(i),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viiii:function(e,n,t,r,i){var o=be();try{a.dynCall_viiii(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viiiii:function(e,n,t,r,i,o){var u=be();try{a.dynCall_viiiii(e,n,t,r,i,o)}catch(Oe){if(Ee(u),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viji:function(e,n,t,r,i){var o=be();try{a.dynCall_viji(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},___assert_fail:function(e,n,t,r){Te("Assertion failed: "+A(e)+", at: "+[n?A(n):"unknown filename",t,r?A(r):"unknown function"])},___cxa_allocate_exception:function(e){return ve(e)},___cxa_begin_catch:function(e){var n=oe.infos[e];return n&&!n.caught&&(n.caught=!0,ie.uncaught_exception--),n&&(n.rethrown=!1),oe.caught.push(e),oe.addRef(oe.deAdjust(e)),e},___cxa_end_catch:function(){a.setThrew(0);var e=oe.caught.pop();e&&(oe.decRef(oe.deAdjust(e)),oe.last=0)},___cxa_find_matching_catch_2:function(){return ue.apply(null,arguments)},___cxa_find_matching_catch_3:function(){return ue.apply(null,arguments)},___cxa_free_exception:ae,___cxa_throw:function(e,n,t){throw oe.infos[e]={ptr:e,adjusted:e,type:n,destructor:t,refcount:0,caught:!1,rethrown:!1},oe.last=e,"uncaught_exception"in ie?ie.uncaught_exception++:ie.uncaught_exception=1,e},___lock:function(){},___resumeException:function(e){throw oe.last||(oe.last=e),e},___setErrNo:function(e){return a.___errno_location&&(R[a.___errno_location()>>2]=e),e},___syscall140:function(e,n){se.varargs=n;try{var t=se.getStreamFromFD(),r=(se.get(),se.get()),i=se.get(),o=se.get(),a=r;return FS.llseek(t,a,o),R[i>>2]=t.position,t.getdents&&0===a&&0===o&&(t.getdents=null),0}catch(Oe){return"undefined"!==typeof FS&&Oe instanceof FS.ErrnoError||Te(Oe),-Oe.errno}},___syscall146:function e(n,t){se.varargs=t;try{var r=se.get(),i=se.get(),o=se.get(),a=0;e.buffers||(e.buffers=[null,[],[]],e.printChar=function(n,t){var r=e.buffers[n];w(r),0===t||10===t?((1===n?y:h)(O(r,0)),r.length=0):r.push(t)});for(var u=0;u>2],c=R[i+(8*u+4)>>2],f=0;f>2]=le,fe[le]=0,le++,0)},_pthread_once:function e(n,t){e.seen||(e.seen={}),n in e.seen||(a.dynCall_v(t),e.seen[n]=1)},_pthread_setspecific:function(e,n){return e in fe?(fe[e]=n,0):_e.EINVAL},_put_file_contents:function(e,n,t){var r=x.indexOf(0,e),i=String.fromCharCode.apply(null,x.subarray(e,r));self.DApi.put_file_contents(i,x.slice(n,n+t))},_remove_file:function(e){var n=x.indexOf(0,e),t=String.fromCharCode.apply(null,x.subarray(e,n));self.DApi.remove_file(t)},_show_alert:function(e){var n=x.indexOf(0,e),t=String.fromCharCode.apply(null,x.subarray(e,n));self.alert(t)},_time:function(e){var n=Date.now()/1e3|0;return e&&(R[e>>2]=n),n},DYNAMICTOP_PTR:I,STACKTOP:L};var pe=a.asm(a.asmGlobalArg,a.asmLibraryArg,C);a.asm=pe;a._DApi_Char=function(){return a.asm._DApi_Char.apply(null,arguments)},a._DApi_Init=function(){return a.asm._DApi_Init.apply(null,arguments)},a._DApi_Key=function(){return a.asm._DApi_Key.apply(null,arguments)},a._DApi_Mouse=function(){return a.asm._DApi_Mouse.apply(null,arguments)},a._DApi_Render=function(){return a.asm._DApi_Render.apply(null,arguments)},a._DApi_SyncText=function(){return a.asm._DApi_SyncText.apply(null,arguments)};var de,me=a.__GLOBAL__sub_I_msgcmd_cpp=function(){return a.asm.__GLOBAL__sub_I_msgcmd_cpp.apply(null,arguments)},ye=(a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)},a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)},a.___em_js__api_close_keyboard=function(){return a.asm.___em_js__api_close_keyboard.apply(null,arguments)},a.___em_js__api_create_sound=function(){return a.asm.___em_js__api_create_sound.apply(null,arguments)},a.___em_js__api_create_sound_float=function(){return a.asm.___em_js__api_create_sound_float.apply(null,arguments)},a.___em_js__api_delete_sound=function(){return a.asm.___em_js__api_delete_sound.apply(null,arguments)},a.___em_js__api_draw_begin=function(){return a.asm.___em_js__api_draw_begin.apply(null,arguments)},a.___em_js__api_draw_belt=function(){return a.asm.___em_js__api_draw_belt.apply(null,arguments)},a.___em_js__api_draw_blit=function(){return a.asm.___em_js__api_draw_blit.apply(null,arguments)},a.___em_js__api_draw_clip_text=function(){return a.asm.___em_js__api_draw_clip_text.apply(null,arguments)},a.___em_js__api_draw_end=function(){return a.asm.___em_js__api_draw_end.apply(null,arguments)},a.___em_js__api_draw_text=function(){return a.asm.___em_js__api_draw_text.apply(null,arguments)},a.___em_js__api_duplicate_sound=function(){return a.asm.___em_js__api_duplicate_sound.apply(null,arguments)},a.___em_js__api_exit_game=function(){return a.asm.___em_js__api_exit_game.apply(null,arguments)},a.___em_js__api_open_keyboard=function(){return a.asm.___em_js__api_open_keyboard.apply(null,arguments)},a.___em_js__api_play_sound=function(){return a.asm.___em_js__api_play_sound.apply(null,arguments)},a.___em_js__api_set_cursor=function(){return a.asm.___em_js__api_set_cursor.apply(null,arguments)},a.___em_js__api_set_volume=function(){return a.asm.___em_js__api_set_volume.apply(null,arguments)},a.___em_js__api_stop_sound=function(){return a.asm.___em_js__api_stop_sound.apply(null,arguments)},a.___em_js__exit_error=function(){return a.asm.___em_js__exit_error.apply(null,arguments)},a.___em_js__get_file_contents=function(){return a.asm.___em_js__get_file_contents.apply(null,arguments)},a.___em_js__get_file_size=function(){return a.asm.___em_js__get_file_size.apply(null,arguments)},a.___em_js__put_file_contents=function(){return a.asm.___em_js__put_file_contents.apply(null,arguments)},a.___em_js__remove_file=function(){return a.asm.___em_js__remove_file.apply(null,arguments)},a.___em_js__show_alert=function(){return a.asm.___em_js__show_alert.apply(null,arguments)},a.___em_js__trace_pop=function(){return a.asm.___em_js__trace_pop.apply(null,arguments)},a.___em_js__trace_push=function(){return a.asm.___em_js__trace_push.apply(null,arguments)},a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)}),he=a._free=function(){return a.asm._free.apply(null,arguments)},ve=a._malloc=function(){return a.asm._malloc.apply(null,arguments)},ge=a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)},Ee=(a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)},a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)}),be=a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_i=function(){return a.asm.dynCall_i.apply(null,arguments)},a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)},a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)},a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)},a.dynCall_iiiii=function(){return a.asm.dynCall_iiiii.apply(null,arguments)},a.dynCall_iiiiii=function(){return a.asm.dynCall_iiiiii.apply(null,arguments)},a.dynCall_ji=function(){return a.asm.dynCall_ji.apply(null,arguments)},a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)},a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)},a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)},a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)},a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)},a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)},a.dynCall_viji=function(){return a.asm.dynCall_viji.apply(null,arguments)};function we(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Ae(e){function n(){a.calledRun||(a.calledRun=!0,b||(Q||(Q=!0,q(K)),q(X),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)J(a.postRun.shift());q(V)}()))}e=e||a.arguments,Z>0||(!function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)e=a.preRun.shift(),z.unshift(e);var e;q(z)}(),Z>0||a.calledRun||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1),n()},1)):n()))}function Te(e){throw a.onAbort&&a.onAbort(e),void 0!==e?(y(e),h(e),e=JSON.stringify(e)):e="",b=!0,1,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(a.asm=pe,a.then=function(e){if(a.calledRun)e(a);else{var n=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){n&&n(),e(a)}}return a},we.prototype=new Error,we.prototype.constructor=we,ee=function e(){a.calledRun||Ae(),a.calledRun||(ee=e)},a.run=Ae,a.abort=Te,a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return a.noExitRuntime=!0,Ae(),a.ready=new Promise(function(e,n){delete a.then,a.onAbort=function(e){n(e)},J(function(){e(a)})}),i}}();e.exports=i}).call(this,t(2),"/")},function(e,n,t){e.exports=t.p+"static/media/DiabloSpawn.2f791d70.wasm"},function(e,n,t){(function(n,r){var i=function(){var e="undefined"!==typeof document&&document.currentScript?document.currentScript.src:void 0;return function(i){var o,a="undefined"!==typeof(i=i||{})?i:{},u={};for(o in a)a.hasOwnProperty(o)&&(u[o]=a[o]);a.arguments=[],a.thisProgram="./this.program",a.quit=function(e,n){throw n},a.preRun=[],a.postRun=[];var s,c,f=!1,l=!1;f="object"===typeof window,l="function"===typeof importScripts,s="object"===typeof n&&!f&&!l,c=!f&&!s&&!l;var _,p,d="";function m(e){return a.locateFile?a.locateFile(e,d):d+e}s?(d=r+"/",a.read=function(e,n){var r;return _||(_=t(3)),p||(p=t(4)),e=p.normalize(e),r=_.readFileSync(e),n?r:r.toString()},a.readBinary=function(e){var n=a.read(e,!0);return n.buffer||(n=new Uint8Array(n)),w(n.buffer),n},n.argv.length>1&&(a.thisProgram=n.argv[1].replace(/\\/g,"/")),a.arguments=n.argv.slice(2),n.on("uncaughtException",function(e){if(!(e instanceof we))throw e}),n.on("unhandledRejection",function(e,t){n.exit(1)}),a.quit=function(e){n.exit(e)},a.inspect=function(){return"[Emscripten Module object]"}):c?("undefined"!=typeof read&&(a.read=function(e){return read(e)}),a.readBinary=function(e){var n;return"function"===typeof readbuffer?new Uint8Array(readbuffer(e)):(w("object"===typeof(n=read(e,"binary"))),n)},"undefined"!=typeof scriptArgs?a.arguments=scriptArgs:"undefined"!=typeof arguments&&(a.arguments=arguments),"function"===typeof quit&&(a.quit=function(e){quit(e)})):(f||l)&&(f?document.currentScript&&(d=document.currentScript.src):d=self.location.href,e&&(d=e),d=0!==d.indexOf("blob:")?d.split("/").slice(0,-1).join("/")+"/":"",a.read=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.send(null),n.responseText},l&&(a.readBinary=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.responseType="arraybuffer",n.send(null),new Uint8Array(n.response)}),a.readAsync=function(e,n,t){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?n(r.response):t()},r.onerror=t,r.send(null)},a.setWindowTitle=function(e){document.title=e});var y=a.print||("undefined"!==typeof console?console.log.bind(console):"undefined"!==typeof print?print:null),h=a.printErr||("undefined"!==typeof printErr?printErr:"undefined"!==typeof console&&console.warn.bind(console)||y);for(o in u)u.hasOwnProperty(o)&&(a[o]=u[o]);u=void 0;var v=16;function g(e,n){return n||(n=v),e=Math.ceil(e/n)*n}var E={"f64-rem":function(e,n){return e%n},debugger:function(){}},b=(new Array(0),0);function w(e,n){e||Te("Assertion failed: "+n)}function A(e,n){if(0===n||!e)return"";for(var t,r=0,i=0;r|=t=x[e+i>>0],(0!=t||n)&&(i++,!n||i!=n););n||(n=i);var o="";if(r<128){for(var a;n>0;)a=String.fromCharCode.apply(String,x.subarray(e,e+Math.min(n,1024))),o=o?o+a:a,e+=1024,n-=1024;return o}return function(e){return O(x,e)}(e)}var T="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;function O(e,n){for(var t=n;e[t];)++t;if(t-n>16&&e.subarray&&T)return T.decode(e.subarray(n,t));for(var r,i,o,a,u,s="";;){if(!(r=e[n++]))return s;if(128&r)if(i=63&e[n++],192!=(224&r))if(o=63&e[n++],224==(240&r)?r=(15&r)<<12|i<<6|o:(a=63&e[n++],240==(248&r)?r=(7&r)<<18|i<<12|o<<6|a:(u=63&e[n++],r=248==(252&r)?(3&r)<<24|i<<18|o<<12|a<<6|u:(1&r)<<30|i<<24|o<<18|a<<12|u<<6|63&e[n++])),r<65536)s+=String.fromCharCode(r);else{var c=r-65536;s+=String.fromCharCode(55296|c>>10,56320|1023&c)}else s+=String.fromCharCode((31&r)<<6|i);else s+=String.fromCharCode(r)}}"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var C,S,x,R,j,N,D,L,M,I,P=65536,B=16777216,k=16777216;function U(e,n){return e%n>0&&(e+=n-e%n),e}function F(e){a.buffer=C=e}function H(){a.HEAP8=S=new Int8Array(C),a.HEAP16=new Int16Array(C),a.HEAP32=R=new Int32Array(C),a.HEAPU8=x=new Uint8Array(C),a.HEAPU16=new Uint16Array(C),a.HEAPU32=new Uint32Array(C),a.HEAPF32=j=new Float32Array(C),a.HEAPF64=new Float64Array(C)}N=L=I=0,a.reallocBuffer||(a.reallocBuffer=function(e){var n;try{if(ArrayBuffer.transfer)n=ArrayBuffer.transfer(C,e);else{var t=S;n=new ArrayBuffer(e),new Int8Array(n).set(t)}}catch(r){return!1}return!!ye(n)&&n});try{Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get)(new ArrayBuffer(4))}catch(Oe){(function(e){return e.byteLength})}var W=a.TOTAL_STACK||5242880,G=a.TOTAL_MEMORY||134217728;function q(e){for(;e.length>0;){var n=e.shift();if("function"!=typeof n){var t=n.func;"number"===typeof t?void 0===n.arg?a.dynCall_v(t):a.dynCall_vi(t,n.arg):t(void 0===n.arg?null:n.arg)}else n()}}G0),n.refcount--,0!==n.refcount||n.rethrown||(n.destructor&&a.dynCall_vi(n.destructor,e),delete oe.infos[e],ae(e))}},clearRef:function(e){e&&(oe.infos[e].refcount=0)}};function ae(e){try{return he(e)}catch(Oe){}}function ue(){var e=oe.last;if(!e)return 0|(ge(0),0);var n=oe.infos[e],t=n.type;if(!t)return 0|(ge(0),e);var r=Array.prototype.slice.call(arguments);a.___cxa_is_pointer_type(t);ue.buffer||(ue.buffer=ve(4)),R[ue.buffer>>2]=e,e=ue.buffer;for(var i=0;i>2],n.adjusted=e,0|(ge(r[i]),e);return e=R[e>>2],0|(ge(t),e)}var se={varargs:0,get:function(e){return se.varargs+=4,R[se.varargs-4>>2]},getStr:function(){return A(se.get())},get64:function(){var e=se.get(),n=se.get();return w(e>=0?0===n:-1===n),e},getZero:function(){w(0===se.get())}};function ce(e){!function(e,n){if(n&&a.noExitRuntime&&0===e)return;a.noExitRuntime||(b=!0,e,L=de,q(Y),!0,a.onExit&&a.onExit(e));a.quit(e,new we(e))}(e)}var fe={};var le=1,_e={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};I=function(e){var n=N;return N=N+e+15&-16,n}(4),D=L=g(N),M=g(D+W),R[I>>2]=M,a.wasmTableSize=588,a.wasmMaxTableSize=588,a.asmGlobalArg={},a.asmLibraryArg={abort:Te,enlargeMemory:function(){var e=a.usingWasm?P:B,n=2147483648-e;if(R[I>>2]>n)return!1;var t=G;for(G=Math.max(G,k);G>2];)G=G<=536870912?U(2*G,e):Math.min(U((3*G+2147483648)/4,e),n);var r=a.reallocBuffer(G);return r&&r.byteLength==G?(F(r),H(),!0):(G=t,!1)},getTotalMemory:function(){return G},abortOnCannotGrowMemory:function(){Te("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_i:function(e){var n=be();try{return a.dynCall_i(e)}catch(Oe){if(Ee(n),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_ii:function(e,n){var t=be();try{return a.dynCall_ii(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iii:function(e,n,t){var r=be();try{return a.dynCall_iii(e,n,t)}catch(Oe){if(Ee(r),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiii:function(e,n,t,r){var i=be();try{return a.dynCall_iiii(e,n,t,r)}catch(Oe){if(Ee(i),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiiii:function(e,n,t,r,i){var o=be();try{return a.dynCall_iiiii(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiiiii:function(e,n,t,r,i,o){var u=be();try{return a.dynCall_iiiiii(e,n,t,r,i,o)}catch(Oe){if(Ee(u),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_ji:function(e,n){var t=be();try{return a.dynCall_ji(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_v:function(e){var n=be();try{a.dynCall_v(e)}catch(Oe){if(Ee(n),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_vi:function(e,n){var t=be();try{a.dynCall_vi(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_vii:function(e,n,t){var r=be();try{a.dynCall_vii(e,n,t)}catch(Oe){if(Ee(r),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viii:function(e,n,t,r){var i=be();try{a.dynCall_viii(e,n,t,r)}catch(Oe){if(Ee(i),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viiii:function(e,n,t,r,i){var o=be();try{a.dynCall_viiii(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viiiii:function(e,n,t,r,i,o){var u=be();try{a.dynCall_viiiii(e,n,t,r,i,o)}catch(Oe){if(Ee(u),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viji:function(e,n,t,r,i){var o=be();try{a.dynCall_viji(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},___assert_fail:function(e,n,t,r){Te("Assertion failed: "+A(e)+", at: "+[n?A(n):"unknown filename",t,r?A(r):"unknown function"])},___cxa_allocate_exception:function(e){return ve(e)},___cxa_begin_catch:function(e){var n=oe.infos[e];return n&&!n.caught&&(n.caught=!0,ie.uncaught_exception--),n&&(n.rethrown=!1),oe.caught.push(e),oe.addRef(oe.deAdjust(e)),e},___cxa_end_catch:function(){a.setThrew(0);var e=oe.caught.pop();e&&(oe.decRef(oe.deAdjust(e)),oe.last=0)},___cxa_find_matching_catch_2:function(){return ue.apply(null,arguments)},___cxa_find_matching_catch_3:function(){return ue.apply(null,arguments)},___cxa_free_exception:ae,___cxa_throw:function(e,n,t){throw oe.infos[e]={ptr:e,adjusted:e,type:n,destructor:t,refcount:0,caught:!1,rethrown:!1},oe.last=e,"uncaught_exception"in ie?ie.uncaught_exception++:ie.uncaught_exception=1,e},___lock:function(){},___resumeException:function(e){throw oe.last||(oe.last=e),e},___setErrNo:function(e){return a.___errno_location&&(R[a.___errno_location()>>2]=e),e},___syscall140:function(e,n){se.varargs=n;try{var t=se.getStreamFromFD(),r=(se.get(),se.get()),i=se.get(),o=se.get(),a=r;return FS.llseek(t,a,o),R[i>>2]=t.position,t.getdents&&0===a&&0===o&&(t.getdents=null),0}catch(Oe){return"undefined"!==typeof FS&&Oe instanceof FS.ErrnoError||Te(Oe),-Oe.errno}},___syscall146:function e(n,t){se.varargs=t;try{var r=se.get(),i=se.get(),o=se.get(),a=0;e.buffers||(e.buffers=[null,[],[]],e.printChar=function(n,t){var r=e.buffers[n];w(r),0===t||10===t?((1===n?y:h)(O(r,0)),r.length=0):r.push(t)});for(var u=0;u>2],c=R[i+(8*u+4)>>2],f=0;f>2]=le,fe[le]=0,le++,0)},_pthread_once:function e(n,t){e.seen||(e.seen={}),n in e.seen||(a.dynCall_v(t),e.seen[n]=1)},_pthread_setspecific:function(e,n){return e in fe?(fe[e]=n,0):_e.EINVAL},_put_file_contents:function(e,n,t){var r=x.indexOf(0,e),i=String.fromCharCode.apply(null,x.subarray(e,r));self.DApi.put_file_contents(i,x.slice(n,n+t))},_remove_file:function(e){var n=x.indexOf(0,e),t=String.fromCharCode.apply(null,x.subarray(e,n));self.DApi.remove_file(t)},_show_alert:function(e){var n=x.indexOf(0,e),t=String.fromCharCode.apply(null,x.subarray(e,n));self.alert(t)},_time:function(e){var n=Date.now()/1e3|0;return e&&(R[e>>2]=n),n},DYNAMICTOP_PTR:I,STACKTOP:L};var pe=a.asm(a.asmGlobalArg,a.asmLibraryArg,C);a.asm=pe;a._DApi_Char=function(){return a.asm._DApi_Char.apply(null,arguments)},a._DApi_Init=function(){return a.asm._DApi_Init.apply(null,arguments)},a._DApi_Key=function(){return a.asm._DApi_Key.apply(null,arguments)},a._DApi_Mouse=function(){return a.asm._DApi_Mouse.apply(null,arguments)},a._DApi_Render=function(){return a.asm._DApi_Render.apply(null,arguments)},a._DApi_SyncText=function(){return a.asm._DApi_SyncText.apply(null,arguments)};var de,me=a.__GLOBAL__sub_I_msgcmd_cpp=function(){return a.asm.__GLOBAL__sub_I_msgcmd_cpp.apply(null,arguments)},ye=(a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)},a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)},a.___em_js__api_close_keyboard=function(){return a.asm.___em_js__api_close_keyboard.apply(null,arguments)},a.___em_js__api_create_sound=function(){return a.asm.___em_js__api_create_sound.apply(null,arguments)},a.___em_js__api_create_sound_float=function(){return a.asm.___em_js__api_create_sound_float.apply(null,arguments)},a.___em_js__api_delete_sound=function(){return a.asm.___em_js__api_delete_sound.apply(null,arguments)},a.___em_js__api_draw_begin=function(){return a.asm.___em_js__api_draw_begin.apply(null,arguments)},a.___em_js__api_draw_belt=function(){return a.asm.___em_js__api_draw_belt.apply(null,arguments)},a.___em_js__api_draw_blit=function(){return a.asm.___em_js__api_draw_blit.apply(null,arguments)},a.___em_js__api_draw_clip_text=function(){return a.asm.___em_js__api_draw_clip_text.apply(null,arguments)},a.___em_js__api_draw_end=function(){return a.asm.___em_js__api_draw_end.apply(null,arguments)},a.___em_js__api_draw_text=function(){return a.asm.___em_js__api_draw_text.apply(null,arguments)},a.___em_js__api_duplicate_sound=function(){return a.asm.___em_js__api_duplicate_sound.apply(null,arguments)},a.___em_js__api_exit_game=function(){return a.asm.___em_js__api_exit_game.apply(null,arguments)},a.___em_js__api_open_keyboard=function(){return a.asm.___em_js__api_open_keyboard.apply(null,arguments)},a.___em_js__api_play_sound=function(){return a.asm.___em_js__api_play_sound.apply(null,arguments)},a.___em_js__api_set_cursor=function(){return a.asm.___em_js__api_set_cursor.apply(null,arguments)},a.___em_js__api_set_volume=function(){return a.asm.___em_js__api_set_volume.apply(null,arguments)},a.___em_js__api_stop_sound=function(){return a.asm.___em_js__api_stop_sound.apply(null,arguments)},a.___em_js__exit_error=function(){return a.asm.___em_js__exit_error.apply(null,arguments)},a.___em_js__get_file_contents=function(){return a.asm.___em_js__get_file_contents.apply(null,arguments)},a.___em_js__get_file_size=function(){return a.asm.___em_js__get_file_size.apply(null,arguments)},a.___em_js__put_file_contents=function(){return a.asm.___em_js__put_file_contents.apply(null,arguments)},a.___em_js__remove_file=function(){return a.asm.___em_js__remove_file.apply(null,arguments)},a.___em_js__show_alert=function(){return a.asm.___em_js__show_alert.apply(null,arguments)},a.___em_js__trace_pop=function(){return a.asm.___em_js__trace_pop.apply(null,arguments)},a.___em_js__trace_push=function(){return a.asm.___em_js__trace_push.apply(null,arguments)},a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)}),he=a._free=function(){return a.asm._free.apply(null,arguments)},ve=a._malloc=function(){return a.asm._malloc.apply(null,arguments)},ge=a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)},Ee=(a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)},a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)}),be=a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_i=function(){return a.asm.dynCall_i.apply(null,arguments)},a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)},a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)},a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)},a.dynCall_iiiii=function(){return a.asm.dynCall_iiiii.apply(null,arguments)},a.dynCall_iiiiii=function(){return a.asm.dynCall_iiiiii.apply(null,arguments)},a.dynCall_ji=function(){return a.asm.dynCall_ji.apply(null,arguments)},a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)},a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)},a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)},a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)},a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)},a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)},a.dynCall_viji=function(){return a.asm.dynCall_viji.apply(null,arguments)};function we(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Ae(e){function n(){a.calledRun||(a.calledRun=!0,b||(Q||(Q=!0,q(K)),q(X),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)J(a.postRun.shift());q(V)}()))}e=e||a.arguments,Z>0||(!function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)e=a.preRun.shift(),z.unshift(e);var e;q(z)}(),Z>0||a.calledRun||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1),n()},1)):n()))}function Te(e){throw a.onAbort&&a.onAbort(e),void 0!==e?(y(e),h(e),e=JSON.stringify(e)):e="",b=!0,1,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(a.asm=pe,a.then=function(e){if(a.calledRun)e(a);else{var n=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){n&&n(),e(a)}}return a},we.prototype=new Error,we.prototype.constructor=we,ee=function e(){a.calledRun||Ae(),a.calledRun||(ee=e)},a.run=Ae,a.abort=Te,a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return a.noExitRuntime=!0,Ae(),a.ready=new Promise(function(e,n){delete a.then,a.onAbort=function(e){n(e)},J(function(){e(a)})}),i}}();e.exports=i}).call(this,t(2),"/")},function(e,n,t){e.exports=t(19)},function(e,n,t){var r=function(e){"use strict";var n,t=Object.prototype,r=t.hasOwnProperty,i="function"===typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(e,n,t,r){var i=n&&n.prototype instanceof m?n:m,o=Object.create(i.prototype),a=new S(r||[]);return o._invoke=function(e,n,t){var r=f;return function(i,o){if(r===_)throw new Error("Generator is already running");if(r===p){if("throw"===i)throw o;return R()}for(t.method=i,t.arg=o;;){var a=t.delegate;if(a){var u=T(a,t);if(u){if(u===d)continue;return u}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(r===f)throw r=p,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);r=_;var s=c(e,n,t);if("normal"===s.type){if(r=t.done?p:l,s.arg===d)continue;return{value:s.arg,done:t.done}}"throw"===s.type&&(r=p,t.method="throw",t.arg=s.arg)}}}(e,t,a),o}function c(e,n,t){try{return{type:"normal",arg:e.call(n,t)}}catch(r){return{type:"throw",arg:r}}}e.wrap=s;var f="suspendedStart",l="suspendedYield",_="executing",p="completed",d={};function m(){}function y(){}function h(){}var v={};v[o]=function(){return this};var g=Object.getPrototypeOf,E=g&&g(g(x([])));E&&E!==t&&r.call(E,o)&&(v=E);var b=h.prototype=m.prototype=Object.create(v);function w(e){["next","throw","return"].forEach(function(n){e[n]=function(e){return this._invoke(n,e)}})}function A(e){var n;this._invoke=function(t,i){function o(){return new Promise(function(n,o){!function n(t,i,o,a){var u=c(e[t],e,i);if("throw"!==u.type){var s=u.arg,f=s.value;return f&&"object"===typeof f&&r.call(f,"__await")?Promise.resolve(f.__await).then(function(e){n("next",e,o,a)},function(e){n("throw",e,o,a)}):Promise.resolve(f).then(function(e){s.value=e,o(s)},function(e){return n("throw",e,o,a)})}a(u.arg)}(t,i,n,o)})}return n=n?n.then(o,o):o()}}function T(e,t){var r=e.iterator[t.method];if(r===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=n,T(e,t),"throw"===t.method))return d;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var i=c(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,d;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,d):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function O(e){var n={tryLoc:e[0]};1 in e&&(n.catchLoc=e[1]),2 in e&&(n.finallyLoc=e[2],n.afterLoc=e[3]),this.tryEntries.push(n)}function C(e){var n=e.completion||{};n.type="normal",delete n.arg,e.completion=n}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function x(e){if(e){var t=e[o];if(t)return t.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var i=-1,a=function t(){for(;++i=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--t){var i=this.tryEntries[t];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--n){var t=this.tryEntries[n];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),C(t),d}},catch:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var t=this.tryEntries[n];if(t.tryLoc===e){var r=t.completion;if("throw"===r.type){var i=r.arg;C(t)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:x(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),d}},e}(e.exports);try{regeneratorRuntime=r}catch(i){Function("r","regeneratorRuntime = r")(r)}},function(e,n,t){"use strict";var r=t(0),i=t(5),o=t(21),a=t(11);function u(e){var n=new o(e),t=i(o.prototype.request,n);return r.extend(t,o.prototype,n),r.extend(t,n),t}var s=u(t(8));s.Axios=o,s.create=function(e){return u(a(s.defaults,e))},s.Cancel=t(12),s.CancelToken=t(33),s.isCancel=t(7),s.all=function(e){return Promise.all(e)},s.spread=t(34),e.exports=s,e.exports.default=s},function(e,n){e.exports=function(e){return null!=e&&null!=e.constructor&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},function(e,n,t){"use strict";var r=t(0),i=t(6),o=t(22),a=t(23),u=t(11);function s(e){this.defaults=e,this.interceptors={request:new o,response:new o}}s.prototype.request=function(e){"string"===typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=u(this.defaults,e)).method=e.method?e.method.toLowerCase():"get";var n=[a,void 0],t=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){n.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){n.push(e.fulfilled,e.rejected)});n.length;)t=t.then(n.shift(),n.shift());return t},s.prototype.getUri=function(e){return e=u(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],function(e){s.prototype[e]=function(n,t){return this.request(r.merge(t||{},{method:e,url:n}))}}),r.forEach(["post","put","patch"],function(e){s.prototype[e]=function(n,t,i){return this.request(r.merge(i||{},{method:e,url:n,data:t}))}}),e.exports=s},function(e,n,t){"use strict";var r=t(0);function i(){this.handlers=[]}i.prototype.use=function(e,n){return this.handlers.push({fulfilled:e,rejected:n}),this.handlers.length-1},i.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},i.prototype.forEach=function(e){r.forEach(this.handlers,function(n){null!==n&&e(n)})},e.exports=i},function(e,n,t){"use strict";var r=t(0),i=t(24),o=t(7),a=t(8),u=t(31),s=t(32);function c(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return c(e),e.baseURL&&!u(e.url)&&(e.url=s(e.baseURL,e.url)),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),r.forEach(["delete","get","head","post","put","patch","common"],function(n){delete e.headers[n]}),(e.adapter||a.adapter)(e).then(function(n){return c(e),n.data=i(n.data,n.headers,e.transformResponse),n},function(n){return o(n)||(c(e),n&&n.response&&(n.response.data=i(n.response.data,n.response.headers,e.transformResponse))),Promise.reject(n)})}},function(e,n,t){"use strict";var r=t(0);e.exports=function(e,n,t){return r.forEach(t,function(t){e=t(e,n)}),e}},function(e,n,t){"use strict";var r=t(0);e.exports=function(e,n){r.forEach(e,function(t,r){r!==n&&r.toUpperCase()===n.toUpperCase()&&(e[n]=t,delete e[r])})}},function(e,n,t){"use strict";var r=t(10);e.exports=function(e,n,t){var i=t.config.validateStatus;!i||i(t.status)?e(t):n(r("Request failed with status code "+t.status,t.config,null,t.request,t))}},function(e,n,t){"use strict";e.exports=function(e,n,t,r,i){return e.config=n,t&&(e.code=t),e.request=r,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,n,t){"use strict";var r=t(0),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var n,t,o,a={};return e?(r.forEach(e.split("\n"),function(e){if(o=e.indexOf(":"),n=r.trim(e.substr(0,o)).toLowerCase(),t=r.trim(e.substr(o+1)),n){if(a[n]&&i.indexOf(n)>=0)return;a[n]="set-cookie"===n?(a[n]?a[n]:[]).concat([t]):a[n]?a[n]+", "+t:t}}),a):a}},function(e,n,t){"use strict";var r=t(0);e.exports=r.isStandardBrowserEnv()?function(){var e,n=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");function i(e){var r=e;return n&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return e=i(window.location.href),function(n){var t=r.isString(n)?i(n):n;return t.protocol===e.protocol&&t.host===e.host}}():function(){return!0}},function(e,n,t){"use strict";var r=t(0);e.exports=r.isStandardBrowserEnv()?{write:function(e,n,t,i,o,a){var u=[];u.push(e+"="+encodeURIComponent(n)),r.isNumber(t)&&u.push("expires="+new Date(t).toGMTString()),r.isString(i)&&u.push("path="+i),r.isString(o)&&u.push("domain="+o),!0===a&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var n=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,n,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,n,t){"use strict";e.exports=function(e,n){return n?e.replace(/\/+$/,"")+"/"+n.replace(/^\/+/,""):e}},function(e,n,t){"use strict";var r=t(12);function i(e){if("function"!==typeof e)throw new TypeError("executor must be a function.");var n;this.promise=new Promise(function(e){n=e});var t=this;e(function(e){t.reason||(t.reason=new r(e),n(t.reason))})}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i(function(n){e=n}),cancel:e}},e.exports=i},function(e,n,t){"use strict";e.exports=function(e){return function(n){return e.apply(null,n)}}},function(e,n,t){"use strict";function r(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=[],r=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(t.push(a.value),!n||t.length!==n);r=!0);}catch(s){i=!0,o=s}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}return t}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}t.r(n);var i=t(1),o=t.n(i);function a(e){return function(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n=300)&&w.postMessage({action:"error",error:"Failed to load remote file"}),this.byteLength=parseInt(t.getResponseHeader("Content-Length")),this.url=n,this.buffer=new Uint8Array(this.byteLength),this.chunks=new Uint8Array(this.byteLength+j-1>>20|0)}var n,t,r;return n=e,(t=[{key:"subarray",value:function(e,n){for(var t=e/j|0,r=(n+j-1)/j|0,i=r,o=t,a=t;a=300)w.postMessage({action:"error",error:"Failed to load remote file"});else{var s,c=u.getResponseHeader("Content-Range"),f=0;c&&(s=c.match(/bytes (\d+)-(\d+)\/(\d+)/))&&(f=parseInt(s[1])),this.buffer.set(new Uint8Array(u.response),f),t=(f+j-1)/j|0,r=(f+u.response.byteLength+j-1)/j|0;for(var l=t;l=0?R?"spawn".concat(e,".sv"):"single_".concat(e,".sv"):null})},get_file_size:function(e){var n=C.get(e.toLowerCase());return n?n.byteLength:0},get_file_contents:function(e,n,t){var r=C.get(e.toLowerCase());r&&n.set(r.subarray(t,t+n.byteLength))},put_file_contents:function(e,n){e=e.toLowerCase(),C.set(e,n),w.postMessage({action:"fs",func:"update",params:[e,n]})},remove_file:function(e){e=e.toLowerCase(),C.delete(e),w.postMessage({action:"fs",func:"delete",params:[e]})},set_cursor:function(e,n){w.postMessage({action:"cursor",x:e,y:n})},open_keyboard:function(){for(var e=arguments.length,n=new Array(e),t=0;t>16&255,o=r>>8&255,a=255&r;T.fillStyle="rgb(".concat(i,", ").concat(o,", ").concat(a,")"),T.fillText(t,e,n+22)},draw_end:function(){T.restore();var e=A.transferToImageBitmap(),n=[e];x&&n.push(x.buffer),w.postMessage({action:"render",batch:{bitmap:e,belt:x}},n),x=null},draw_belt:function(e){x=e.slice()}},I=null,P=null,B=0,k=0;["create_sound_raw","create_sound","duplicate_sound"].forEach(function(e){D[e]=function(){for(var n=arguments.length,t=new Array(n),r=0;r=B?I.push({func:e,params:t}):w.postMessage({action:"audio",func:e,params:t})}}),w.DApi=D;var U=null;function F(e){try{var n;I=[],P=[];for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i1)for(var t=1;t=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),t++):t&&(e.splice(r,1),t--)}if(n)for(;t--;t)e.unshift("..");return e}function r(e,n){if(e.filter)return e.filter(n);for(var t=[],r=0;r=-1&&!i;o--){var a=o>=0?arguments[o]:e.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,i="/"===a.charAt(0))}return(i?"/":"")+(n=t(r(n.split("/"),function(e){return!!e}),!i).join("/"))||"."},n.normalize=function(e){var o=n.isAbsolute(e),a="/"===i(e,-1);return(e=t(r(e.split("/"),function(e){return!!e}),!o).join("/"))||o||(e="."),e&&a&&(e+="/"),(o?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(r(e,function(e,n){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function r(e){for(var n=0;n=0&&""===e[t];t--);return n>t?[]:e.slice(n,t-n+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var i=r(e.split("/")),o=r(t.split("/")),a=Math.min(i.length,o.length),u=a,s=0;s=1;--o)if(47===(n=e.charCodeAt(o))){if(!i){r=o;break}}else i=!1;return-1===r?t?"/":".":t&&1===r?"/":e.slice(0,r)},n.basename=function(e,n){var t=function(e){"string"!==typeof e&&(e+="");var n,t=0,r=-1,i=!0;for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!i){t=n+1;break}}else-1===r&&(i=!1,r=n+1);return-1===r?"":e.slice(t,r)}(e);return n&&t.substr(-1*n.length)===n&&(t=t.substr(0,t.length-n.length)),t},n.extname=function(e){"string"!==typeof e&&(e+="");for(var n=-1,t=0,r=-1,i=!0,o=0,a=e.length-1;a>=0;--a){var u=e.charCodeAt(a);if(47!==u)-1===r&&(i=!1,r=a+1),46===u?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!i){t=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===t+1?"":e.slice(n,r)};var i="b"==="ab".substr(-1)?function(e,n,t){return e.substr(n,t)}:function(e,n,t){return n<0&&(n=e.length+n),e.substr(n,t)}}).call(this,t(2))},function(e,n,t){"use strict";e.exports=function(e,n){return function(){for(var t=new Array(arguments.length),r=0;r=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],function(e){u.headers[e]={}}),r.forEach(["post","put","patch"],function(e){u.headers[e]=r.merge(o)}),e.exports=u}).call(this,t(2))},function(e,n,t){"use strict";var r=t(0),i=t(26),o=t(6),a=t(28),u=t(29),s=t(10);e.exports=function(e){return new Promise(function(n,c){var f=e.data,l=e.headers;r.isFormData(f)&&delete l["Content-Type"];var _=new XMLHttpRequest;if(e.auth){var p=e.auth.username||"",d=e.auth.password||"";l.Authorization="Basic "+btoa(p+":"+d)}if(_.open(e.method.toUpperCase(),o(e.url,e.params,e.paramsSerializer),!0),_.timeout=e.timeout,_.onreadystatechange=function(){if(_&&4===_.readyState&&(0!==_.status||_.responseURL&&0===_.responseURL.indexOf("file:"))){var t="getAllResponseHeaders"in _?a(_.getAllResponseHeaders()):null,r={data:e.responseType&&"text"!==e.responseType?_.response:_.responseText,status:_.status,statusText:_.statusText,headers:t,config:e,request:_};i(n,c,r),_=null}},_.onabort=function(){_&&(c(s("Request aborted",e,"ECONNABORTED",_)),_=null)},_.onerror=function(){c(s("Network Error",e,null,_)),_=null},_.ontimeout=function(){c(s("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",_)),_=null},r.isStandardBrowserEnv()){var m=t(30),y=(e.withCredentials||u(e.url))&&e.xsrfCookieName?m.read(e.xsrfCookieName):void 0;y&&(l[e.xsrfHeaderName]=y)}if("setRequestHeader"in _&&r.forEach(l,function(e,n){"undefined"===typeof f&&"content-type"===n.toLowerCase()?delete l[n]:_.setRequestHeader(n,e)}),e.withCredentials&&(_.withCredentials=!0),e.responseType)try{_.responseType=e.responseType}catch(h){if("json"!==e.responseType)throw h}"function"===typeof e.onDownloadProgress&&_.addEventListener("progress",e.onDownloadProgress),"function"===typeof e.onUploadProgress&&_.upload&&_.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){_&&(_.abort(),c(e),_=null)}),void 0===f&&(f=null),_.send(f)})}},function(e,n,t){"use strict";var r=t(27);e.exports=function(e,n,t,i,o){var a=new Error(e);return r(a,n,t,i,o)}},function(e,n,t){"use strict";var r=t(0);e.exports=function(e,n){n=n||{};var t={};return r.forEach(["url","method","params","data"],function(e){"undefined"!==typeof n[e]&&(t[e]=n[e])}),r.forEach(["headers","auth","proxy"],function(i){r.isObject(n[i])?t[i]=r.deepMerge(e[i],n[i]):"undefined"!==typeof n[i]?t[i]=n[i]:r.isObject(e[i])?t[i]=r.deepMerge(e[i]):"undefined"!==typeof e[i]&&(t[i]=e[i])}),r.forEach(["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"],function(r){"undefined"!==typeof n[r]?t[r]=n[r]:"undefined"!==typeof e[r]&&(t[r]=e[r])}),t}},function(e,n,t){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,n,t){e.exports=t.p+"static/media/Diablo.283757c2.wasm"},function(e,n,t){(function(n,r){var i=function(){var e="undefined"!==typeof document&&document.currentScript?document.currentScript.src:void 0;return function(i){var o,a="undefined"!==typeof(i=i||{})?i:{},u={};for(o in a)a.hasOwnProperty(o)&&(u[o]=a[o]);a.arguments=[],a.thisProgram="./this.program",a.quit=function(e,n){throw n},a.preRun=[],a.postRun=[];var s,c,f=!1,l=!1;f="object"===typeof window,l="function"===typeof importScripts,s="object"===typeof n&&!f&&!l,c=!f&&!s&&!l;var _,p,d="";function m(e){return a.locateFile?a.locateFile(e,d):d+e}s?(d=r+"/",a.read=function(e,n){var r;return _||(_=t(3)),p||(p=t(4)),e=p.normalize(e),r=_.readFileSync(e),n?r:r.toString()},a.readBinary=function(e){var n=a.read(e,!0);return n.buffer||(n=new Uint8Array(n)),w(n.buffer),n},n.argv.length>1&&(a.thisProgram=n.argv[1].replace(/\\/g,"/")),a.arguments=n.argv.slice(2),n.on("uncaughtException",function(e){if(!(e instanceof we))throw e}),n.on("unhandledRejection",function(e,t){n.exit(1)}),a.quit=function(e){n.exit(e)},a.inspect=function(){return"[Emscripten Module object]"}):c?("undefined"!=typeof read&&(a.read=function(e){return read(e)}),a.readBinary=function(e){var n;return"function"===typeof readbuffer?new Uint8Array(readbuffer(e)):(w("object"===typeof(n=read(e,"binary"))),n)},"undefined"!=typeof scriptArgs?a.arguments=scriptArgs:"undefined"!=typeof arguments&&(a.arguments=arguments),"function"===typeof quit&&(a.quit=function(e){quit(e)})):(f||l)&&(f?document.currentScript&&(d=document.currentScript.src):d=self.location.href,e&&(d=e),d=0!==d.indexOf("blob:")?d.split("/").slice(0,-1).join("/")+"/":"",a.read=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.send(null),n.responseText},l&&(a.readBinary=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.responseType="arraybuffer",n.send(null),new Uint8Array(n.response)}),a.readAsync=function(e,n,t){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?n(r.response):t()},r.onerror=t,r.send(null)},a.setWindowTitle=function(e){document.title=e});var y=a.print||("undefined"!==typeof console?console.log.bind(console):"undefined"!==typeof print?print:null),h=a.printErr||("undefined"!==typeof printErr?printErr:"undefined"!==typeof console&&console.warn.bind(console)||y);for(o in u)u.hasOwnProperty(o)&&(a[o]=u[o]);u=void 0;var v=16;function g(e,n){return n||(n=v),e=Math.ceil(e/n)*n}var E={"f64-rem":function(e,n){return e%n},debugger:function(){}},b=(new Array(0),0);function w(e,n){e||Te("Assertion failed: "+n)}function A(e,n){if(0===n||!e)return"";for(var t,r=0,i=0;r|=t=x[e+i>>0],(0!=t||n)&&(i++,!n||i!=n););n||(n=i);var o="";if(r<128){for(var a;n>0;)a=String.fromCharCode.apply(String,x.subarray(e,e+Math.min(n,1024))),o=o?o+a:a,e+=1024,n-=1024;return o}return function(e){return O(x,e)}(e)}var T="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;function O(e,n){for(var t=n;e[t];)++t;if(t-n>16&&e.subarray&&T)return T.decode(e.subarray(n,t));for(var r,i,o,a,u,s="";;){if(!(r=e[n++]))return s;if(128&r)if(i=63&e[n++],192!=(224&r))if(o=63&e[n++],224==(240&r)?r=(15&r)<<12|i<<6|o:(a=63&e[n++],240==(248&r)?r=(7&r)<<18|i<<12|o<<6|a:(u=63&e[n++],r=248==(252&r)?(3&r)<<24|i<<18|o<<12|a<<6|u:(1&r)<<30|i<<24|o<<18|a<<12|u<<6|63&e[n++])),r<65536)s+=String.fromCharCode(r);else{var c=r-65536;s+=String.fromCharCode(55296|c>>10,56320|1023&c)}else s+=String.fromCharCode((31&r)<<6|i);else s+=String.fromCharCode(r)}}"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var C,S,x,R,j,N,D,L,M,I,P=65536,B=16777216,k=16777216;function U(e,n){return e%n>0&&(e+=n-e%n),e}function F(e){a.buffer=C=e}function H(){a.HEAP8=S=new Int8Array(C),a.HEAP16=new Int16Array(C),a.HEAP32=R=new Int32Array(C),a.HEAPU8=x=new Uint8Array(C),a.HEAPU16=new Uint16Array(C),a.HEAPU32=new Uint32Array(C),a.HEAPF32=j=new Float32Array(C),a.HEAPF64=new Float64Array(C)}N=L=I=0,a.reallocBuffer||(a.reallocBuffer=function(e){var n;try{if(ArrayBuffer.transfer)n=ArrayBuffer.transfer(C,e);else{var t=S;n=new ArrayBuffer(e),new Int8Array(n).set(t)}}catch(r){return!1}return!!ye(n)&&n});try{Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get)(new ArrayBuffer(4))}catch(Oe){(function(e){return e.byteLength})}var W=a.TOTAL_STACK||5242880,G=a.TOTAL_MEMORY||134217728;function q(e){for(;e.length>0;){var n=e.shift();if("function"!=typeof n){var t=n.func;"number"===typeof t?void 0===n.arg?a.dynCall_v(t):a.dynCall_vi(t,n.arg):t(void 0===n.arg?null:n.arg)}else n()}}G0),n.refcount--,0!==n.refcount||n.rethrown||(n.destructor&&a.dynCall_vi(n.destructor,e),delete oe.infos[e],ae(e))}},clearRef:function(e){e&&(oe.infos[e].refcount=0)}};function ae(e){try{return he(e)}catch(Oe){}}function ue(){var e=oe.last;if(!e)return 0|(ge(0),0);var n=oe.infos[e],t=n.type;if(!t)return 0|(ge(0),e);var r=Array.prototype.slice.call(arguments);a.___cxa_is_pointer_type(t);ue.buffer||(ue.buffer=ve(4)),R[ue.buffer>>2]=e,e=ue.buffer;for(var i=0;i>2],n.adjusted=e,0|(ge(r[i]),e);return e=R[e>>2],0|(ge(t),e)}var se={varargs:0,get:function(e){return se.varargs+=4,R[se.varargs-4>>2]},getStr:function(){return A(se.get())},get64:function(){var e=se.get(),n=se.get();return w(e>=0?0===n:-1===n),e},getZero:function(){w(0===se.get())}};function ce(e){!function(e,n){if(n&&a.noExitRuntime&&0===e)return;a.noExitRuntime||(b=!0,e,L=de,q(Y),!0,a.onExit&&a.onExit(e));a.quit(e,new we(e))}(e)}var fe={};var le=1,_e={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};I=function(e){var n=N;return N=N+e+15&-16,n}(4),D=L=g(N),M=g(D+W),R[I>>2]=M,a.wasmTableSize=616,a.wasmMaxTableSize=616,a.asmGlobalArg={},a.asmLibraryArg={abort:Te,enlargeMemory:function(){var e=a.usingWasm?P:B,n=2147483648-e;if(R[I>>2]>n)return!1;var t=G;for(G=Math.max(G,k);G>2];)G=G<=536870912?U(2*G,e):Math.min(U((3*G+2147483648)/4,e),n);var r=a.reallocBuffer(G);return r&&r.byteLength==G?(F(r),H(),!0):(G=t,!1)},getTotalMemory:function(){return G},abortOnCannotGrowMemory:function(){Te("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_i:function(e){var n=be();try{return a.dynCall_i(e)}catch(Oe){if(Ee(n),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_ii:function(e,n){var t=be();try{return a.dynCall_ii(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iii:function(e,n,t){var r=be();try{return a.dynCall_iii(e,n,t)}catch(Oe){if(Ee(r),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiii:function(e,n,t,r){var i=be();try{return a.dynCall_iiii(e,n,t,r)}catch(Oe){if(Ee(i),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiiii:function(e,n,t,r,i){var o=be();try{return a.dynCall_iiiii(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiiiii:function(e,n,t,r,i,o){var u=be();try{return a.dynCall_iiiiii(e,n,t,r,i,o)}catch(Oe){if(Ee(u),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_ji:function(e,n){var t=be();try{return a.dynCall_ji(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_v:function(e){var n=be();try{a.dynCall_v(e)}catch(Oe){if(Ee(n),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_vi:function(e,n){var t=be();try{a.dynCall_vi(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_vii:function(e,n,t){var r=be();try{a.dynCall_vii(e,n,t)}catch(Oe){if(Ee(r),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viii:function(e,n,t,r){var i=be();try{a.dynCall_viii(e,n,t,r)}catch(Oe){if(Ee(i),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viiii:function(e,n,t,r,i){var o=be();try{a.dynCall_viiii(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viiiii:function(e,n,t,r,i,o){var u=be();try{a.dynCall_viiiii(e,n,t,r,i,o)}catch(Oe){if(Ee(u),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viji:function(e,n,t,r,i){var o=be();try{a.dynCall_viji(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},___assert_fail:function(e,n,t,r){Te("Assertion failed: "+A(e)+", at: "+[n?A(n):"unknown filename",t,r?A(r):"unknown function"])},___cxa_allocate_exception:function(e){return ve(e)},___cxa_begin_catch:function(e){var n=oe.infos[e];return n&&!n.caught&&(n.caught=!0,ie.uncaught_exception--),n&&(n.rethrown=!1),oe.caught.push(e),oe.addRef(oe.deAdjust(e)),e},___cxa_end_catch:function(){a.setThrew(0);var e=oe.caught.pop();e&&(oe.decRef(oe.deAdjust(e)),oe.last=0)},___cxa_find_matching_catch_2:function(){return ue.apply(null,arguments)},___cxa_find_matching_catch_3:function(){return ue.apply(null,arguments)},___cxa_free_exception:ae,___cxa_throw:function(e,n,t){throw oe.infos[e]={ptr:e,adjusted:e,type:n,destructor:t,refcount:0,caught:!1,rethrown:!1},oe.last=e,"uncaught_exception"in ie?ie.uncaught_exception++:ie.uncaught_exception=1,e},___lock:function(){},___resumeException:function(e){throw oe.last||(oe.last=e),e},___setErrNo:function(e){return a.___errno_location&&(R[a.___errno_location()>>2]=e),e},___syscall140:function(e,n){se.varargs=n;try{var t=se.getStreamFromFD(),r=(se.get(),se.get()),i=se.get(),o=se.get(),a=r;return FS.llseek(t,a,o),R[i>>2]=t.position,t.getdents&&0===a&&0===o&&(t.getdents=null),0}catch(Oe){return"undefined"!==typeof FS&&Oe instanceof FS.ErrnoError||Te(Oe),-Oe.errno}},___syscall146:function e(n,t){se.varargs=t;try{var r=se.get(),i=se.get(),o=se.get(),a=0;e.buffers||(e.buffers=[null,[],[]],e.printChar=function(n,t){var r=e.buffers[n];w(r),0===t||10===t?((1===n?y:h)(O(r,0)),r.length=0):r.push(t)});for(var u=0;u>2],c=R[i+(8*u+4)>>2],f=0;f>2]=le,fe[le]=0,le++,0)},_pthread_once:function e(n,t){e.seen||(e.seen={}),n in e.seen||(a.dynCall_v(t),e.seen[n]=1)},_pthread_setspecific:function(e,n){return e in fe?(fe[e]=n,0):_e.EINVAL},_put_file_contents:function(e,n,t){var r=x.indexOf(0,e),i=String.fromCharCode.apply(null,x.subarray(e,r));self.DApi.put_file_contents(i,x.slice(n,n+t))},_remove_file:function(e){var n=x.indexOf(0,e),t=String.fromCharCode.apply(null,x.subarray(e,n));self.DApi.remove_file(t)},_show_alert:function(e){var n=x.indexOf(0,e),t=String.fromCharCode.apply(null,x.subarray(e,n));self.alert(t)},_time:function(e){var n=Date.now()/1e3|0;return e&&(R[e>>2]=n),n},DYNAMICTOP_PTR:I,STACKTOP:L};var pe=a.asm(a.asmGlobalArg,a.asmLibraryArg,C);a.asm=pe;a._DApi_Char=function(){return a.asm._DApi_Char.apply(null,arguments)},a._DApi_Init=function(){return a.asm._DApi_Init.apply(null,arguments)},a._DApi_Key=function(){return a.asm._DApi_Key.apply(null,arguments)},a._DApi_Mouse=function(){return a.asm._DApi_Mouse.apply(null,arguments)},a._DApi_Render=function(){return a.asm._DApi_Render.apply(null,arguments)},a._DApi_SyncText=function(){return a.asm._DApi_SyncText.apply(null,arguments)};var de,me=a.__GLOBAL__sub_I_msgcmd_cpp=function(){return a.asm.__GLOBAL__sub_I_msgcmd_cpp.apply(null,arguments)},ye=(a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)},a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)},a.___em_js__api_close_keyboard=function(){return a.asm.___em_js__api_close_keyboard.apply(null,arguments)},a.___em_js__api_create_sound=function(){return a.asm.___em_js__api_create_sound.apply(null,arguments)},a.___em_js__api_create_sound_float=function(){return a.asm.___em_js__api_create_sound_float.apply(null,arguments)},a.___em_js__api_delete_sound=function(){return a.asm.___em_js__api_delete_sound.apply(null,arguments)},a.___em_js__api_draw_begin=function(){return a.asm.___em_js__api_draw_begin.apply(null,arguments)},a.___em_js__api_draw_belt=function(){return a.asm.___em_js__api_draw_belt.apply(null,arguments)},a.___em_js__api_draw_blit=function(){return a.asm.___em_js__api_draw_blit.apply(null,arguments)},a.___em_js__api_draw_clip_text=function(){return a.asm.___em_js__api_draw_clip_text.apply(null,arguments)},a.___em_js__api_draw_end=function(){return a.asm.___em_js__api_draw_end.apply(null,arguments)},a.___em_js__api_draw_text=function(){return a.asm.___em_js__api_draw_text.apply(null,arguments)},a.___em_js__api_duplicate_sound=function(){return a.asm.___em_js__api_duplicate_sound.apply(null,arguments)},a.___em_js__api_exit_game=function(){return a.asm.___em_js__api_exit_game.apply(null,arguments)},a.___em_js__api_open_keyboard=function(){return a.asm.___em_js__api_open_keyboard.apply(null,arguments)},a.___em_js__api_play_sound=function(){return a.asm.___em_js__api_play_sound.apply(null,arguments)},a.___em_js__api_set_cursor=function(){return a.asm.___em_js__api_set_cursor.apply(null,arguments)},a.___em_js__api_set_volume=function(){return a.asm.___em_js__api_set_volume.apply(null,arguments)},a.___em_js__api_stop_sound=function(){return a.asm.___em_js__api_stop_sound.apply(null,arguments)},a.___em_js__exit_error=function(){return a.asm.___em_js__exit_error.apply(null,arguments)},a.___em_js__get_file_contents=function(){return a.asm.___em_js__get_file_contents.apply(null,arguments)},a.___em_js__get_file_size=function(){return a.asm.___em_js__get_file_size.apply(null,arguments)},a.___em_js__put_file_contents=function(){return a.asm.___em_js__put_file_contents.apply(null,arguments)},a.___em_js__remove_file=function(){return a.asm.___em_js__remove_file.apply(null,arguments)},a.___em_js__show_alert=function(){return a.asm.___em_js__show_alert.apply(null,arguments)},a.___em_js__trace_pop=function(){return a.asm.___em_js__trace_pop.apply(null,arguments)},a.___em_js__trace_push=function(){return a.asm.___em_js__trace_push.apply(null,arguments)},a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)}),he=a._free=function(){return a.asm._free.apply(null,arguments)},ve=a._malloc=function(){return a.asm._malloc.apply(null,arguments)},ge=a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)},Ee=(a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)},a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)}),be=a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_i=function(){return a.asm.dynCall_i.apply(null,arguments)},a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)},a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)},a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)},a.dynCall_iiiii=function(){return a.asm.dynCall_iiiii.apply(null,arguments)},a.dynCall_iiiiii=function(){return a.asm.dynCall_iiiiii.apply(null,arguments)},a.dynCall_ji=function(){return a.asm.dynCall_ji.apply(null,arguments)},a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)},a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)},a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)},a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)},a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)},a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)},a.dynCall_viji=function(){return a.asm.dynCall_viji.apply(null,arguments)};function we(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Ae(e){function n(){a.calledRun||(a.calledRun=!0,b||(Q||(Q=!0,q(K)),q(X),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)J(a.postRun.shift());q(V)}()))}e=e||a.arguments,Z>0||(!function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)e=a.preRun.shift(),z.unshift(e);var e;q(z)}(),Z>0||a.calledRun||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1),n()},1)):n()))}function Te(e){throw a.onAbort&&a.onAbort(e),void 0!==e?(y(e),h(e),e=JSON.stringify(e)):e="",b=!0,1,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(a.asm=pe,a.then=function(e){if(a.calledRun)e(a);else{var n=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){n&&n(),e(a)}}return a},we.prototype=new Error,we.prototype.constructor=we,ee=function e(){a.calledRun||Ae(),a.calledRun||(ee=e)},a.run=Ae,a.abort=Te,a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return a.noExitRuntime=!0,Ae(),a.ready=new Promise(function(e,n){delete a.then,a.onAbort=function(e){n(e)},J(function(){e(a)})}),i}}();e.exports=i}).call(this,t(2),"/")},function(e,n,t){e.exports=t.p+"static/media/DiabloSpawn.2755a1a7.wasm"},function(e,n,t){(function(n,r){var i=function(){var e="undefined"!==typeof document&&document.currentScript?document.currentScript.src:void 0;return function(i){var o,a="undefined"!==typeof(i=i||{})?i:{},u={};for(o in a)a.hasOwnProperty(o)&&(u[o]=a[o]);a.arguments=[],a.thisProgram="./this.program",a.quit=function(e,n){throw n},a.preRun=[],a.postRun=[];var s,c,f=!1,l=!1;f="object"===typeof window,l="function"===typeof importScripts,s="object"===typeof n&&!f&&!l,c=!f&&!s&&!l;var _,p,d="";function m(e){return a.locateFile?a.locateFile(e,d):d+e}s?(d=r+"/",a.read=function(e,n){var r;return _||(_=t(3)),p||(p=t(4)),e=p.normalize(e),r=_.readFileSync(e),n?r:r.toString()},a.readBinary=function(e){var n=a.read(e,!0);return n.buffer||(n=new Uint8Array(n)),w(n.buffer),n},n.argv.length>1&&(a.thisProgram=n.argv[1].replace(/\\/g,"/")),a.arguments=n.argv.slice(2),n.on("uncaughtException",function(e){if(!(e instanceof we))throw e}),n.on("unhandledRejection",function(e,t){n.exit(1)}),a.quit=function(e){n.exit(e)},a.inspect=function(){return"[Emscripten Module object]"}):c?("undefined"!=typeof read&&(a.read=function(e){return read(e)}),a.readBinary=function(e){var n;return"function"===typeof readbuffer?new Uint8Array(readbuffer(e)):(w("object"===typeof(n=read(e,"binary"))),n)},"undefined"!=typeof scriptArgs?a.arguments=scriptArgs:"undefined"!=typeof arguments&&(a.arguments=arguments),"function"===typeof quit&&(a.quit=function(e){quit(e)})):(f||l)&&(f?document.currentScript&&(d=document.currentScript.src):d=self.location.href,e&&(d=e),d=0!==d.indexOf("blob:")?d.split("/").slice(0,-1).join("/")+"/":"",a.read=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.send(null),n.responseText},l&&(a.readBinary=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.responseType="arraybuffer",n.send(null),new Uint8Array(n.response)}),a.readAsync=function(e,n,t){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?n(r.response):t()},r.onerror=t,r.send(null)},a.setWindowTitle=function(e){document.title=e});var y=a.print||("undefined"!==typeof console?console.log.bind(console):"undefined"!==typeof print?print:null),h=a.printErr||("undefined"!==typeof printErr?printErr:"undefined"!==typeof console&&console.warn.bind(console)||y);for(o in u)u.hasOwnProperty(o)&&(a[o]=u[o]);u=void 0;var v=16;function g(e,n){return n||(n=v),e=Math.ceil(e/n)*n}var E={"f64-rem":function(e,n){return e%n},debugger:function(){}},b=(new Array(0),0);function w(e,n){e||Te("Assertion failed: "+n)}function A(e,n){if(0===n||!e)return"";for(var t,r=0,i=0;r|=t=x[e+i>>0],(0!=t||n)&&(i++,!n||i!=n););n||(n=i);var o="";if(r<128){for(var a;n>0;)a=String.fromCharCode.apply(String,x.subarray(e,e+Math.min(n,1024))),o=o?o+a:a,e+=1024,n-=1024;return o}return function(e){return O(x,e)}(e)}var T="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;function O(e,n){for(var t=n;e[t];)++t;if(t-n>16&&e.subarray&&T)return T.decode(e.subarray(n,t));for(var r,i,o,a,u,s="";;){if(!(r=e[n++]))return s;if(128&r)if(i=63&e[n++],192!=(224&r))if(o=63&e[n++],224==(240&r)?r=(15&r)<<12|i<<6|o:(a=63&e[n++],240==(248&r)?r=(7&r)<<18|i<<12|o<<6|a:(u=63&e[n++],r=248==(252&r)?(3&r)<<24|i<<18|o<<12|a<<6|u:(1&r)<<30|i<<24|o<<18|a<<12|u<<6|63&e[n++])),r<65536)s+=String.fromCharCode(r);else{var c=r-65536;s+=String.fromCharCode(55296|c>>10,56320|1023&c)}else s+=String.fromCharCode((31&r)<<6|i);else s+=String.fromCharCode(r)}}"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var C,S,x,R,j,N,D,L,M,I,P=65536,B=16777216,k=16777216;function U(e,n){return e%n>0&&(e+=n-e%n),e}function F(e){a.buffer=C=e}function H(){a.HEAP8=S=new Int8Array(C),a.HEAP16=new Int16Array(C),a.HEAP32=R=new Int32Array(C),a.HEAPU8=x=new Uint8Array(C),a.HEAPU16=new Uint16Array(C),a.HEAPU32=new Uint32Array(C),a.HEAPF32=j=new Float32Array(C),a.HEAPF64=new Float64Array(C)}N=L=I=0,a.reallocBuffer||(a.reallocBuffer=function(e){var n;try{if(ArrayBuffer.transfer)n=ArrayBuffer.transfer(C,e);else{var t=S;n=new ArrayBuffer(e),new Int8Array(n).set(t)}}catch(r){return!1}return!!ye(n)&&n});try{Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get)(new ArrayBuffer(4))}catch(Oe){(function(e){return e.byteLength})}var W=a.TOTAL_STACK||5242880,G=a.TOTAL_MEMORY||134217728;function q(e){for(;e.length>0;){var n=e.shift();if("function"!=typeof n){var t=n.func;"number"===typeof t?void 0===n.arg?a.dynCall_v(t):a.dynCall_vi(t,n.arg):t(void 0===n.arg?null:n.arg)}else n()}}G0),n.refcount--,0!==n.refcount||n.rethrown||(n.destructor&&a.dynCall_vi(n.destructor,e),delete oe.infos[e],ae(e))}},clearRef:function(e){e&&(oe.infos[e].refcount=0)}};function ae(e){try{return he(e)}catch(Oe){}}function ue(){var e=oe.last;if(!e)return 0|(ge(0),0);var n=oe.infos[e],t=n.type;if(!t)return 0|(ge(0),e);var r=Array.prototype.slice.call(arguments);a.___cxa_is_pointer_type(t);ue.buffer||(ue.buffer=ve(4)),R[ue.buffer>>2]=e,e=ue.buffer;for(var i=0;i>2],n.adjusted=e,0|(ge(r[i]),e);return e=R[e>>2],0|(ge(t),e)}var se={varargs:0,get:function(e){return se.varargs+=4,R[se.varargs-4>>2]},getStr:function(){return A(se.get())},get64:function(){var e=se.get(),n=se.get();return w(e>=0?0===n:-1===n),e},getZero:function(){w(0===se.get())}};function ce(e){!function(e,n){if(n&&a.noExitRuntime&&0===e)return;a.noExitRuntime||(b=!0,e,L=de,q(Y),!0,a.onExit&&a.onExit(e));a.quit(e,new we(e))}(e)}var fe={};var le=1,_e={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};I=function(e){var n=N;return N=N+e+15&-16,n}(4),D=L=g(N),M=g(D+W),R[I>>2]=M,a.wasmTableSize=588,a.wasmMaxTableSize=588,a.asmGlobalArg={},a.asmLibraryArg={abort:Te,enlargeMemory:function(){var e=a.usingWasm?P:B,n=2147483648-e;if(R[I>>2]>n)return!1;var t=G;for(G=Math.max(G,k);G>2];)G=G<=536870912?U(2*G,e):Math.min(U((3*G+2147483648)/4,e),n);var r=a.reallocBuffer(G);return r&&r.byteLength==G?(F(r),H(),!0):(G=t,!1)},getTotalMemory:function(){return G},abortOnCannotGrowMemory:function(){Te("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_i:function(e){var n=be();try{return a.dynCall_i(e)}catch(Oe){if(Ee(n),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_ii:function(e,n){var t=be();try{return a.dynCall_ii(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iii:function(e,n,t){var r=be();try{return a.dynCall_iii(e,n,t)}catch(Oe){if(Ee(r),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiii:function(e,n,t,r){var i=be();try{return a.dynCall_iiii(e,n,t,r)}catch(Oe){if(Ee(i),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiiii:function(e,n,t,r,i){var o=be();try{return a.dynCall_iiiii(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_iiiiii:function(e,n,t,r,i,o){var u=be();try{return a.dynCall_iiiiii(e,n,t,r,i,o)}catch(Oe){if(Ee(u),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_ji:function(e,n){var t=be();try{return a.dynCall_ji(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_v:function(e){var n=be();try{a.dynCall_v(e)}catch(Oe){if(Ee(n),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_vi:function(e,n){var t=be();try{a.dynCall_vi(e,n)}catch(Oe){if(Ee(t),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_vii:function(e,n,t){var r=be();try{a.dynCall_vii(e,n,t)}catch(Oe){if(Ee(r),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viii:function(e,n,t,r){var i=be();try{a.dynCall_viii(e,n,t,r)}catch(Oe){if(Ee(i),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viiii:function(e,n,t,r,i){var o=be();try{a.dynCall_viiii(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viiiii:function(e,n,t,r,i,o){var u=be();try{a.dynCall_viiiii(e,n,t,r,i,o)}catch(Oe){if(Ee(u),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},invoke_viji:function(e,n,t,r,i){var o=be();try{a.dynCall_viji(e,n,t,r,i)}catch(Oe){if(Ee(o),"number"!==typeof Oe&&"longjmp"!==Oe)throw Oe;a.setThrew(1,0)}},___assert_fail:function(e,n,t,r){Te("Assertion failed: "+A(e)+", at: "+[n?A(n):"unknown filename",t,r?A(r):"unknown function"])},___cxa_allocate_exception:function(e){return ve(e)},___cxa_begin_catch:function(e){var n=oe.infos[e];return n&&!n.caught&&(n.caught=!0,ie.uncaught_exception--),n&&(n.rethrown=!1),oe.caught.push(e),oe.addRef(oe.deAdjust(e)),e},___cxa_end_catch:function(){a.setThrew(0);var e=oe.caught.pop();e&&(oe.decRef(oe.deAdjust(e)),oe.last=0)},___cxa_find_matching_catch_2:function(){return ue.apply(null,arguments)},___cxa_find_matching_catch_3:function(){return ue.apply(null,arguments)},___cxa_free_exception:ae,___cxa_throw:function(e,n,t){throw oe.infos[e]={ptr:e,adjusted:e,type:n,destructor:t,refcount:0,caught:!1,rethrown:!1},oe.last=e,"uncaught_exception"in ie?ie.uncaught_exception++:ie.uncaught_exception=1,e},___lock:function(){},___resumeException:function(e){throw oe.last||(oe.last=e),e},___setErrNo:function(e){return a.___errno_location&&(R[a.___errno_location()>>2]=e),e},___syscall140:function(e,n){se.varargs=n;try{var t=se.getStreamFromFD(),r=(se.get(),se.get()),i=se.get(),o=se.get(),a=r;return FS.llseek(t,a,o),R[i>>2]=t.position,t.getdents&&0===a&&0===o&&(t.getdents=null),0}catch(Oe){return"undefined"!==typeof FS&&Oe instanceof FS.ErrnoError||Te(Oe),-Oe.errno}},___syscall146:function e(n,t){se.varargs=t;try{var r=se.get(),i=se.get(),o=se.get(),a=0;e.buffers||(e.buffers=[null,[],[]],e.printChar=function(n,t){var r=e.buffers[n];w(r),0===t||10===t?((1===n?y:h)(O(r,0)),r.length=0):r.push(t)});for(var u=0;u>2],c=R[i+(8*u+4)>>2],f=0;f>2]=le,fe[le]=0,le++,0)},_pthread_once:function e(n,t){e.seen||(e.seen={}),n in e.seen||(a.dynCall_v(t),e.seen[n]=1)},_pthread_setspecific:function(e,n){return e in fe?(fe[e]=n,0):_e.EINVAL},_put_file_contents:function(e,n,t){var r=x.indexOf(0,e),i=String.fromCharCode.apply(null,x.subarray(e,r));self.DApi.put_file_contents(i,x.slice(n,n+t))},_remove_file:function(e){var n=x.indexOf(0,e),t=String.fromCharCode.apply(null,x.subarray(e,n));self.DApi.remove_file(t)},_show_alert:function(e){var n=x.indexOf(0,e),t=String.fromCharCode.apply(null,x.subarray(e,n));self.alert(t)},_time:function(e){var n=Date.now()/1e3|0;return e&&(R[e>>2]=n),n},DYNAMICTOP_PTR:I,STACKTOP:L};var pe=a.asm(a.asmGlobalArg,a.asmLibraryArg,C);a.asm=pe;a._DApi_Char=function(){return a.asm._DApi_Char.apply(null,arguments)},a._DApi_Init=function(){return a.asm._DApi_Init.apply(null,arguments)},a._DApi_Key=function(){return a.asm._DApi_Key.apply(null,arguments)},a._DApi_Mouse=function(){return a.asm._DApi_Mouse.apply(null,arguments)},a._DApi_Render=function(){return a.asm._DApi_Render.apply(null,arguments)},a._DApi_SyncText=function(){return a.asm._DApi_SyncText.apply(null,arguments)};var de,me=a.__GLOBAL__sub_I_msgcmd_cpp=function(){return a.asm.__GLOBAL__sub_I_msgcmd_cpp.apply(null,arguments)},ye=(a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)},a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)},a.___em_js__api_close_keyboard=function(){return a.asm.___em_js__api_close_keyboard.apply(null,arguments)},a.___em_js__api_create_sound=function(){return a.asm.___em_js__api_create_sound.apply(null,arguments)},a.___em_js__api_create_sound_float=function(){return a.asm.___em_js__api_create_sound_float.apply(null,arguments)},a.___em_js__api_delete_sound=function(){return a.asm.___em_js__api_delete_sound.apply(null,arguments)},a.___em_js__api_draw_begin=function(){return a.asm.___em_js__api_draw_begin.apply(null,arguments)},a.___em_js__api_draw_belt=function(){return a.asm.___em_js__api_draw_belt.apply(null,arguments)},a.___em_js__api_draw_blit=function(){return a.asm.___em_js__api_draw_blit.apply(null,arguments)},a.___em_js__api_draw_clip_text=function(){return a.asm.___em_js__api_draw_clip_text.apply(null,arguments)},a.___em_js__api_draw_end=function(){return a.asm.___em_js__api_draw_end.apply(null,arguments)},a.___em_js__api_draw_text=function(){return a.asm.___em_js__api_draw_text.apply(null,arguments)},a.___em_js__api_duplicate_sound=function(){return a.asm.___em_js__api_duplicate_sound.apply(null,arguments)},a.___em_js__api_exit_game=function(){return a.asm.___em_js__api_exit_game.apply(null,arguments)},a.___em_js__api_open_keyboard=function(){return a.asm.___em_js__api_open_keyboard.apply(null,arguments)},a.___em_js__api_play_sound=function(){return a.asm.___em_js__api_play_sound.apply(null,arguments)},a.___em_js__api_set_cursor=function(){return a.asm.___em_js__api_set_cursor.apply(null,arguments)},a.___em_js__api_set_volume=function(){return a.asm.___em_js__api_set_volume.apply(null,arguments)},a.___em_js__api_stop_sound=function(){return a.asm.___em_js__api_stop_sound.apply(null,arguments)},a.___em_js__exit_error=function(){return a.asm.___em_js__exit_error.apply(null,arguments)},a.___em_js__get_file_contents=function(){return a.asm.___em_js__get_file_contents.apply(null,arguments)},a.___em_js__get_file_size=function(){return a.asm.___em_js__get_file_size.apply(null,arguments)},a.___em_js__put_file_contents=function(){return a.asm.___em_js__put_file_contents.apply(null,arguments)},a.___em_js__remove_file=function(){return a.asm.___em_js__remove_file.apply(null,arguments)},a.___em_js__show_alert=function(){return a.asm.___em_js__show_alert.apply(null,arguments)},a.___em_js__trace_pop=function(){return a.asm.___em_js__trace_pop.apply(null,arguments)},a.___em_js__trace_push=function(){return a.asm.___em_js__trace_push.apply(null,arguments)},a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)}),he=a._free=function(){return a.asm._free.apply(null,arguments)},ve=a._malloc=function(){return a.asm._malloc.apply(null,arguments)},ge=a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)},Ee=(a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)},a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)}),be=a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_i=function(){return a.asm.dynCall_i.apply(null,arguments)},a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)},a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)},a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)},a.dynCall_iiiii=function(){return a.asm.dynCall_iiiii.apply(null,arguments)},a.dynCall_iiiiii=function(){return a.asm.dynCall_iiiiii.apply(null,arguments)},a.dynCall_ji=function(){return a.asm.dynCall_ji.apply(null,arguments)},a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)},a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)},a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)},a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)},a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)},a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)},a.dynCall_viji=function(){return a.asm.dynCall_viji.apply(null,arguments)};function we(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Ae(e){function n(){a.calledRun||(a.calledRun=!0,b||(Q||(Q=!0,q(K)),q(X),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)J(a.postRun.shift());q(V)}()))}e=e||a.arguments,Z>0||(!function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)e=a.preRun.shift(),z.unshift(e);var e;q(z)}(),Z>0||a.calledRun||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1),n()},1)):n()))}function Te(e){throw a.onAbort&&a.onAbort(e),void 0!==e?(y(e),h(e),e=JSON.stringify(e)):e="",b=!0,1,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(a.asm=pe,a.then=function(e){if(a.calledRun)e(a);else{var n=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){n&&n(),e(a)}}return a},we.prototype=new Error,we.prototype.constructor=we,ee=function e(){a.calledRun||Ae(),a.calledRun||(ee=e)},a.run=Ae,a.abort=Te,a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return a.noExitRuntime=!0,Ae(),a.ready=new Promise(function(e,n){delete a.then,a.onAbort=function(e){n(e)},J(function(){e(a)})}),i}}();e.exports=i}).call(this,t(2),"/")},function(e,n,t){e.exports=t(19)},function(e,n,t){var r=function(e){"use strict";var n,t=Object.prototype,r=t.hasOwnProperty,i="function"===typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(e,n,t,r){var i=n&&n.prototype instanceof m?n:m,o=Object.create(i.prototype),a=new S(r||[]);return o._invoke=function(e,n,t){var r=f;return function(i,o){if(r===_)throw new Error("Generator is already running");if(r===p){if("throw"===i)throw o;return R()}for(t.method=i,t.arg=o;;){var a=t.delegate;if(a){var u=T(a,t);if(u){if(u===d)continue;return u}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(r===f)throw r=p,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);r=_;var s=c(e,n,t);if("normal"===s.type){if(r=t.done?p:l,s.arg===d)continue;return{value:s.arg,done:t.done}}"throw"===s.type&&(r=p,t.method="throw",t.arg=s.arg)}}}(e,t,a),o}function c(e,n,t){try{return{type:"normal",arg:e.call(n,t)}}catch(r){return{type:"throw",arg:r}}}e.wrap=s;var f="suspendedStart",l="suspendedYield",_="executing",p="completed",d={};function m(){}function y(){}function h(){}var v={};v[o]=function(){return this};var g=Object.getPrototypeOf,E=g&&g(g(x([])));E&&E!==t&&r.call(E,o)&&(v=E);var b=h.prototype=m.prototype=Object.create(v);function w(e){["next","throw","return"].forEach(function(n){e[n]=function(e){return this._invoke(n,e)}})}function A(e){var n;this._invoke=function(t,i){function o(){return new Promise(function(n,o){!function n(t,i,o,a){var u=c(e[t],e,i);if("throw"!==u.type){var s=u.arg,f=s.value;return f&&"object"===typeof f&&r.call(f,"__await")?Promise.resolve(f.__await).then(function(e){n("next",e,o,a)},function(e){n("throw",e,o,a)}):Promise.resolve(f).then(function(e){s.value=e,o(s)},function(e){return n("throw",e,o,a)})}a(u.arg)}(t,i,n,o)})}return n=n?n.then(o,o):o()}}function T(e,t){var r=e.iterator[t.method];if(r===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=n,T(e,t),"throw"===t.method))return d;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var i=c(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,d;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,d):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function O(e){var n={tryLoc:e[0]};1 in e&&(n.catchLoc=e[1]),2 in e&&(n.finallyLoc=e[2],n.afterLoc=e[3]),this.tryEntries.push(n)}function C(e){var n=e.completion||{};n.type="normal",delete n.arg,e.completion=n}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function x(e){if(e){var t=e[o];if(t)return t.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var i=-1,a=function t(){for(;++i=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--t){var i=this.tryEntries[t];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--n){var t=this.tryEntries[n];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),C(t),d}},catch:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var t=this.tryEntries[n];if(t.tryLoc===e){var r=t.completion;if("throw"===r.type){var i=r.arg;C(t)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:x(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),d}},e}(e.exports);try{regeneratorRuntime=r}catch(i){Function("r","regeneratorRuntime = r")(r)}},function(e,n,t){"use strict";var r=t(0),i=t(5),o=t(21),a=t(11);function u(e){var n=new o(e),t=i(o.prototype.request,n);return r.extend(t,o.prototype,n),r.extend(t,n),t}var s=u(t(8));s.Axios=o,s.create=function(e){return u(a(s.defaults,e))},s.Cancel=t(12),s.CancelToken=t(33),s.isCancel=t(7),s.all=function(e){return Promise.all(e)},s.spread=t(34),e.exports=s,e.exports.default=s},function(e,n){e.exports=function(e){return null!=e&&null!=e.constructor&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},function(e,n,t){"use strict";var r=t(0),i=t(6),o=t(22),a=t(23),u=t(11);function s(e){this.defaults=e,this.interceptors={request:new o,response:new o}}s.prototype.request=function(e){"string"===typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=u(this.defaults,e)).method=e.method?e.method.toLowerCase():"get";var n=[a,void 0],t=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){n.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){n.push(e.fulfilled,e.rejected)});n.length;)t=t.then(n.shift(),n.shift());return t},s.prototype.getUri=function(e){return e=u(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],function(e){s.prototype[e]=function(n,t){return this.request(r.merge(t||{},{method:e,url:n}))}}),r.forEach(["post","put","patch"],function(e){s.prototype[e]=function(n,t,i){return this.request(r.merge(i||{},{method:e,url:n,data:t}))}}),e.exports=s},function(e,n,t){"use strict";var r=t(0);function i(){this.handlers=[]}i.prototype.use=function(e,n){return this.handlers.push({fulfilled:e,rejected:n}),this.handlers.length-1},i.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},i.prototype.forEach=function(e){r.forEach(this.handlers,function(n){null!==n&&e(n)})},e.exports=i},function(e,n,t){"use strict";var r=t(0),i=t(24),o=t(7),a=t(8),u=t(31),s=t(32);function c(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return c(e),e.baseURL&&!u(e.url)&&(e.url=s(e.baseURL,e.url)),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),r.forEach(["delete","get","head","post","put","patch","common"],function(n){delete e.headers[n]}),(e.adapter||a.adapter)(e).then(function(n){return c(e),n.data=i(n.data,n.headers,e.transformResponse),n},function(n){return o(n)||(c(e),n&&n.response&&(n.response.data=i(n.response.data,n.response.headers,e.transformResponse))),Promise.reject(n)})}},function(e,n,t){"use strict";var r=t(0);e.exports=function(e,n,t){return r.forEach(t,function(t){e=t(e,n)}),e}},function(e,n,t){"use strict";var r=t(0);e.exports=function(e,n){r.forEach(e,function(t,r){r!==n&&r.toUpperCase()===n.toUpperCase()&&(e[n]=t,delete e[r])})}},function(e,n,t){"use strict";var r=t(10);e.exports=function(e,n,t){var i=t.config.validateStatus;!i||i(t.status)?e(t):n(r("Request failed with status code "+t.status,t.config,null,t.request,t))}},function(e,n,t){"use strict";e.exports=function(e,n,t,r,i){return e.config=n,t&&(e.code=t),e.request=r,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,n,t){"use strict";var r=t(0),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var n,t,o,a={};return e?(r.forEach(e.split("\n"),function(e){if(o=e.indexOf(":"),n=r.trim(e.substr(0,o)).toLowerCase(),t=r.trim(e.substr(o+1)),n){if(a[n]&&i.indexOf(n)>=0)return;a[n]="set-cookie"===n?(a[n]?a[n]:[]).concat([t]):a[n]?a[n]+", "+t:t}}),a):a}},function(e,n,t){"use strict";var r=t(0);e.exports=r.isStandardBrowserEnv()?function(){var e,n=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");function i(e){var r=e;return n&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return e=i(window.location.href),function(n){var t=r.isString(n)?i(n):n;return t.protocol===e.protocol&&t.host===e.host}}():function(){return!0}},function(e,n,t){"use strict";var r=t(0);e.exports=r.isStandardBrowserEnv()?{write:function(e,n,t,i,o,a){var u=[];u.push(e+"="+encodeURIComponent(n)),r.isNumber(t)&&u.push("expires="+new Date(t).toGMTString()),r.isString(i)&&u.push("path="+i),r.isString(o)&&u.push("domain="+o),!0===a&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var n=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,n,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,n,t){"use strict";e.exports=function(e,n){return n?e.replace(/\/+$/,"")+"/"+n.replace(/^\/+/,""):e}},function(e,n,t){"use strict";var r=t(12);function i(e){if("function"!==typeof e)throw new TypeError("executor must be a function.");var n;this.promise=new Promise(function(e){n=e});var t=this;e(function(e){t.reason||(t.reason=new r(e),n(t.reason))})}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i(function(n){e=n}),cancel:e}},e.exports=i},function(e,n,t){"use strict";e.exports=function(e){return function(n){return e.apply(null,n)}}},function(e,n,t){"use strict";function r(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=[],r=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(t.push(a.value),!n||t.length!==n);r=!0);}catch(s){i=!0,o=s}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}return t}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}t.r(n);var i=t(1),o=t.n(i);function a(e){return function(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n=300)&&w.postMessage({action:"error",error:"Failed to load remote file"}),this.byteLength=parseInt(t.getResponseHeader("Content-Length")),this.url=n,this.buffer=new Uint8Array(this.byteLength),this.chunks=new Uint8Array(this.byteLength+j-1>>20|0)}var n,t,r;return n=e,(t=[{key:"subarray",value:function(e,n){for(var t=e/j|0,r=(n+j-1)/j|0,i=r,o=t,a=t;a=300)w.postMessage({action:"error",error:"Failed to load remote file"});else{var s,c=u.getResponseHeader("Content-Range"),f=0;c&&(s=c.match(/bytes (\d+)-(\d+)\/(\d+)/))&&(f=parseInt(s[1])),this.buffer.set(new Uint8Array(u.response),f),t=(f+j-1)/j|0,r=(f+u.response.byteLength+j-1)/j|0;for(var l=t;l=0?R?"spawn".concat(e,".sv"):"single_".concat(e,".sv"):null})},get_file_size:function(e){var n=C.get(e.toLowerCase());return n?n.byteLength:0},get_file_contents:function(e,n,t){var r=C.get(e.toLowerCase());r&&n.set(r.subarray(t,t+n.byteLength))},put_file_contents:function(e,n){e=e.toLowerCase(),C.set(e,n),w.postMessage({action:"fs",func:"update",params:[e,n]})},remove_file:function(e){e=e.toLowerCase(),C.delete(e),w.postMessage({action:"fs",func:"delete",params:[e]})},set_cursor:function(e,n){w.postMessage({action:"cursor",x:e,y:n})},open_keyboard:function(){for(var e=arguments.length,n=new Array(e),t=0;t>16&255,o=r>>8&255,a=255&r;T.fillStyle="rgb(".concat(i,", ").concat(o,", ").concat(a,")"),T.fillText(t,e,n+22)},draw_end:function(){T.restore();var e=A.transferToImageBitmap(),n=[e];x&&n.push(x.buffer),w.postMessage({action:"render",batch:{bitmap:e,belt:x}},n),x=null},draw_belt:function(e){x=e.slice()}},I=null,P=null,B=0,k=0;["create_sound_raw","create_sound","duplicate_sound"].forEach(function(e){D[e]=function(){for(var n=arguments.length,t=new Array(n),r=0;r=B?I.push({func:e,params:t}):w.postMessage({action:"audio",func:e,params:t})}}),w.DApi=D;var U=null;function F(e){try{var n;I=[],P=[];for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction deepMerge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};","module.exports = require(\"regenerator-runtime\");\n","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n } // if the path is allowed to go above the root, restore leading ..s\n\n\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n} // path.resolve([from ...], to)\n// posix version\n\n\nexports.resolve = function () {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : process.cwd(); // Skip empty and invalid entries\n\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n } // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n // Normalize the path\n\n\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function (p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n return (resolvedAbsolute ? '/' : '') + resolvedPath || '.';\n}; // path.normalize(path)\n// posix version\n\n\nexports.normalize = function (path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/'; // Normalize the path\n\n path = normalizeArray(filter(path.split('/'), function (p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n}; // posix version\n\n\nexports.isAbsolute = function (path) {\n return path.charAt(0) === '/';\n}; // posix version\n\n\nexports.join = function () {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function (p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n\n return p;\n }).join('/'));\n}; // path.relative(from, to)\n// posix version\n\n\nexports.relative = function (from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47\n /*/*/\n ;\n var end = -1;\n var matchedSlash = true;\n\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n\n if (code === 47\n /*/*/\n ) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47\n /*/*/\n ) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n} // Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\n\n\nexports.basename = function (path, ext) {\n var f = basename(path);\n\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true; // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n\n var preDotState = 0;\n\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n\n if (code === 47\n /*/*/\n ) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n\n continue;\n }\n\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n\n if (code === 46\n /*.*/\n ) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot\n preDotState === 0 || // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n\n return path.slice(startDot, end);\n};\n\nfunction filter(xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n\n return res;\n} // String.prototype.substr - negative index don't work in IE8\n\n\nvar substr = 'ab'.substr(-1) === 'b' ? function (str, start, len) {\n return str.substr(start, len);\n} : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter; // Only Node.JS has a process variable that is of [[Class]] process\n\n if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n } else if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle browser request cancellation (as opposed to a manual cancellation)\n\n\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies'); // Add xsrf header\n\n\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (config.withCredentials) {\n request.withCredentials = true;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nvar utils = require('../utils');\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\n\n\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n utils.forEach(['url', 'method', 'params', 'data'], function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n utils.forEach(['headers', 'auth', 'proxy'], function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n utils.forEach(['baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer', 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken', 'socketPath'], function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n return config;\n};","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","module.exports = __webpack_public_path__ + \"static/media/Diablo.b852e747.wasm\";","\r\nvar Diablo = (function() {\r\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\r\n return (\r\nfunction(Diablo) {\r\n Diablo = Diablo || {};\r\n\r\nvar Module=typeof Diablo!==\"undefined\"?Diablo:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module[\"arguments\"]=[];Module[\"thisProgram\"]=\"./this.program\";Module[\"quit\"]=(function(status,toThrow){throw toThrow});Module[\"preRun\"]=[];Module[\"postRun\"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof require===\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+\"/\";var nodeFS;var nodePath;Module[\"read\"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require(\"fs\");if(!nodePath)nodePath=require(\"path\");filename=nodePath[\"normalize\"](filename);ret=nodeFS[\"readFileSync\"](filename);return binary?ret:ret.toString()};Module[\"readBinary\"]=function readBinary(filename){var ret=Module[\"read\"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process[\"argv\"].length>1){Module[\"thisProgram\"]=process[\"argv\"][1].replace(/\\\\/g,\"/\")}Module[\"arguments\"]=process[\"argv\"].slice(2);process[\"on\"](\"uncaughtException\",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process[\"on\"](\"unhandledRejection\",(function(reason,p){process[\"exit\"](1)}));Module[\"quit\"]=(function(status){process[\"exit\"](status)});Module[\"inspect\"]=(function(){return\"[Emscripten Module object]\"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!=\"undefined\"){Module[\"read\"]=function shell_read(f){return read(f)}}Module[\"readBinary\"]=function readBinary(f){var data;if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){Module[\"arguments\"]=scriptArgs}else if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof quit===\"function\"){Module[\"quit\"]=(function(status){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WEB){if(document.currentScript){scriptDirectory=document.currentScript.src}}else{scriptDirectory=self.location.href}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.split(\"/\").slice(0,-1).join(\"/\")+\"/\"}else{scriptDirectory=\"\"}Module[\"read\"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module[\"readBinary\"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}Module[\"readAsync\"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module[\"setWindowTitle\"]=(function(title){document.title=title})}else{}var out=Module[\"print\"]||(typeof console!==\"undefined\"?console.log.bind(console):typeof print!==\"undefined\"?print:null);var err=Module[\"printErr\"]||(typeof printErr!==\"undefined\"?printErr:typeof console!==\"undefined\"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}var asm2wasmImports={\"f64-rem\":(function(x,y){return x%y}),\"debugger\":(function(){debugger})};var functionPointers=new Array(0);var GLOBAL_BASE=1024;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}function Pointer_stringify(ptr,length){if(length===0||!ptr)return\"\";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret=\"\";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str=\"\";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}var UTF16Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module[\"buffer\"]=buffer=buf}function updateGlobalBufferViews(){Module[\"HEAP8\"]=HEAP8=new Int8Array(buffer);Module[\"HEAP16\"]=HEAP16=new Int16Array(buffer);Module[\"HEAP32\"]=HEAP32=new Int32Array(buffer);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buffer);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buffer);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buffer);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buffer);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort(\"Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value \"+TOTAL_MEMORY+\", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 \")}if(!Module[\"reallocBuffer\"])Module[\"reallocBuffer\"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module[\"usingWasm\"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module[\"reallocBuffer\"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,\"byteLength\").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module[\"TOTAL_STACK\"]||5242880;var TOTAL_MEMORY=Module[\"TOTAL_MEMORY\"]||134217728;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback();continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Module[\"dynCall_v\"](func)}else{Module[\"dynCall_vi\"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile=\"Diablo.wast\";var wasmBinaryFile=\"Diablo.wasm\";var asmjsCodeFile=\"Diablo.temp.asm.js\";if(!isDataURI(wasmTextFile)){wasmTextFile=locateFile(wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=locateFile(asmjsCodeFile)}var wasmPageSize=64*1024;var info={\"global\":null,\"env\":null,\"asm2wasm\":asm2wasmImports,\"parent\":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module[\"buffer\"];if(newBuffer.byteLength0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module[\"dynCall_vi\"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){Module[\"setThrew\"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function ___cxa_find_matching_catch_2(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_find_matching_catch_3(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module[\"___cxa_is_pointer_type\"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!(\"uncaught_exception\"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___lock(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module[\"dynCall_v\"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module[\"___errno_location\"])HEAP32[Module[\"___errno_location\"]()>>2]=value;return value}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module[\"wasmTableSize\"]=616;Module[\"wasmMaxTableSize\"]=616;function invoke_i(index){var sp=stackSave();try{return Module[\"dynCall_i\"](index)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return Module[\"dynCall_ii\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return Module[\"dynCall_iii\"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return Module[\"dynCall_iiii\"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return Module[\"dynCall_iiiii\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return Module[\"dynCall_iiiiii\"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ji(index,a1){var sp=stackSave();try{return Module[\"dynCall_ji\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_v(index){var sp=stackSave();try{Module[\"dynCall_v\"](index)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{Module[\"dynCall_vi\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{Module[\"dynCall_vii\"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{Module[\"dynCall_viii\"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{Module[\"dynCall_viiii\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module[\"dynCall_viiiii\"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viji(index,a1,a2,a3,a4){var sp=stackSave();try{Module[\"dynCall_viji\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}Module.asmGlobalArg={};Module.asmLibraryArg={\"abort\":abort,\"enlargeMemory\":enlargeMemory,\"getTotalMemory\":getTotalMemory,\"abortOnCannotGrowMemory\":abortOnCannotGrowMemory,\"invoke_i\":invoke_i,\"invoke_ii\":invoke_ii,\"invoke_iii\":invoke_iii,\"invoke_iiii\":invoke_iiii,\"invoke_iiiii\":invoke_iiiii,\"invoke_iiiiii\":invoke_iiiiii,\"invoke_ji\":invoke_ji,\"invoke_v\":invoke_v,\"invoke_vi\":invoke_vi,\"invoke_vii\":invoke_vii,\"invoke_viii\":invoke_viii,\"invoke_viiii\":invoke_viiii,\"invoke_viiiii\":invoke_viiiii,\"invoke_viji\":invoke_viji,\"___assert_fail\":___assert_fail,\"___cxa_allocate_exception\":___cxa_allocate_exception,\"___cxa_begin_catch\":___cxa_begin_catch,\"___cxa_end_catch\":___cxa_end_catch,\"___cxa_find_matching_catch_2\":___cxa_find_matching_catch_2,\"___cxa_find_matching_catch_3\":___cxa_find_matching_catch_3,\"___cxa_free_exception\":___cxa_free_exception,\"___cxa_throw\":___cxa_throw,\"___lock\":___lock,\"___resumeException\":___resumeException,\"___setErrNo\":___setErrNo,\"___syscall140\":___syscall140,\"___syscall146\":___syscall146,\"___syscall54\":___syscall54,\"___syscall6\":___syscall6,\"___unlock\":___unlock,\"_abort\":_abort,\"_api_close_keyboard\":_api_close_keyboard,\"_api_create_sound\":_api_create_sound,\"_api_create_sound_float\":_api_create_sound_float,\"_api_delete_sound\":_api_delete_sound,\"_api_draw_begin\":_api_draw_begin,\"_api_draw_belt\":_api_draw_belt,\"_api_draw_blit\":_api_draw_blit,\"_api_draw_clip_text\":_api_draw_clip_text,\"_api_draw_end\":_api_draw_end,\"_api_draw_text\":_api_draw_text,\"_api_duplicate_sound\":_api_duplicate_sound,\"_api_exit_game\":_api_exit_game,\"_api_open_keyboard\":_api_open_keyboard,\"_api_play_sound\":_api_play_sound,\"_api_set_cursor\":_api_set_cursor,\"_api_set_volume\":_api_set_volume,\"_api_stop_sound\":_api_stop_sound,\"_emscripten_asm_const_ii\":_emscripten_asm_const_ii,\"_emscripten_memcpy_big\":_emscripten_memcpy_big,\"_exit\":_exit,\"_exit_error\":_exit_error,\"_get_file_contents\":_get_file_contents,\"_get_file_size\":_get_file_size,\"_pthread_getspecific\":_pthread_getspecific,\"_pthread_key_create\":_pthread_key_create,\"_pthread_once\":_pthread_once,\"_pthread_setspecific\":_pthread_setspecific,\"_put_file_contents\":_put_file_contents,\"_remove_file\":_remove_file,\"_show_alert\":_show_alert,\"_time\":_time,\"DYNAMICTOP_PTR\":DYNAMICTOP_PTR,\"STACKTOP\":STACKTOP};var asm=Module[\"asm\"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module[\"asm\"]=asm;var _DApi_Char=Module[\"_DApi_Char\"]=(function(){return Module[\"asm\"][\"_DApi_Char\"].apply(null,arguments)});var _DApi_Init=Module[\"_DApi_Init\"]=(function(){return Module[\"asm\"][\"_DApi_Init\"].apply(null,arguments)});var _DApi_Key=Module[\"_DApi_Key\"]=(function(){return Module[\"asm\"][\"_DApi_Key\"].apply(null,arguments)});var _DApi_Mouse=Module[\"_DApi_Mouse\"]=(function(){return Module[\"asm\"][\"_DApi_Mouse\"].apply(null,arguments)});var _DApi_Render=Module[\"_DApi_Render\"]=(function(){return Module[\"asm\"][\"_DApi_Render\"].apply(null,arguments)});var _DApi_SyncText=Module[\"_DApi_SyncText\"]=(function(){return Module[\"asm\"][\"_DApi_SyncText\"].apply(null,arguments)});var __GLOBAL__sub_I_msgcmd_cpp=Module[\"__GLOBAL__sub_I_msgcmd_cpp\"]=(function(){return Module[\"asm\"][\"__GLOBAL__sub_I_msgcmd_cpp\"].apply(null,arguments)});var ___cxa_can_catch=Module[\"___cxa_can_catch\"]=(function(){return Module[\"asm\"][\"___cxa_can_catch\"].apply(null,arguments)});var ___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=(function(){return Module[\"asm\"][\"___cxa_is_pointer_type\"].apply(null,arguments)});var ___em_js__api_close_keyboard=Module[\"___em_js__api_close_keyboard\"]=(function(){return Module[\"asm\"][\"___em_js__api_close_keyboard\"].apply(null,arguments)});var ___em_js__api_create_sound=Module[\"___em_js__api_create_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_create_sound\"].apply(null,arguments)});var ___em_js__api_create_sound_float=Module[\"___em_js__api_create_sound_float\"]=(function(){return Module[\"asm\"][\"___em_js__api_create_sound_float\"].apply(null,arguments)});var ___em_js__api_delete_sound=Module[\"___em_js__api_delete_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_delete_sound\"].apply(null,arguments)});var ___em_js__api_draw_begin=Module[\"___em_js__api_draw_begin\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_begin\"].apply(null,arguments)});var ___em_js__api_draw_belt=Module[\"___em_js__api_draw_belt\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_belt\"].apply(null,arguments)});var ___em_js__api_draw_blit=Module[\"___em_js__api_draw_blit\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_blit\"].apply(null,arguments)});var ___em_js__api_draw_clip_text=Module[\"___em_js__api_draw_clip_text\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_clip_text\"].apply(null,arguments)});var ___em_js__api_draw_end=Module[\"___em_js__api_draw_end\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_end\"].apply(null,arguments)});var ___em_js__api_draw_text=Module[\"___em_js__api_draw_text\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_text\"].apply(null,arguments)});var ___em_js__api_duplicate_sound=Module[\"___em_js__api_duplicate_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_duplicate_sound\"].apply(null,arguments)});var ___em_js__api_exit_game=Module[\"___em_js__api_exit_game\"]=(function(){return Module[\"asm\"][\"___em_js__api_exit_game\"].apply(null,arguments)});var ___em_js__api_open_keyboard=Module[\"___em_js__api_open_keyboard\"]=(function(){return Module[\"asm\"][\"___em_js__api_open_keyboard\"].apply(null,arguments)});var ___em_js__api_play_sound=Module[\"___em_js__api_play_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_play_sound\"].apply(null,arguments)});var ___em_js__api_set_cursor=Module[\"___em_js__api_set_cursor\"]=(function(){return Module[\"asm\"][\"___em_js__api_set_cursor\"].apply(null,arguments)});var ___em_js__api_set_volume=Module[\"___em_js__api_set_volume\"]=(function(){return Module[\"asm\"][\"___em_js__api_set_volume\"].apply(null,arguments)});var ___em_js__api_stop_sound=Module[\"___em_js__api_stop_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_stop_sound\"].apply(null,arguments)});var ___em_js__exit_error=Module[\"___em_js__exit_error\"]=(function(){return Module[\"asm\"][\"___em_js__exit_error\"].apply(null,arguments)});var ___em_js__get_file_contents=Module[\"___em_js__get_file_contents\"]=(function(){return Module[\"asm\"][\"___em_js__get_file_contents\"].apply(null,arguments)});var ___em_js__get_file_size=Module[\"___em_js__get_file_size\"]=(function(){return Module[\"asm\"][\"___em_js__get_file_size\"].apply(null,arguments)});var ___em_js__put_file_contents=Module[\"___em_js__put_file_contents\"]=(function(){return Module[\"asm\"][\"___em_js__put_file_contents\"].apply(null,arguments)});var ___em_js__remove_file=Module[\"___em_js__remove_file\"]=(function(){return Module[\"asm\"][\"___em_js__remove_file\"].apply(null,arguments)});var ___em_js__show_alert=Module[\"___em_js__show_alert\"]=(function(){return Module[\"asm\"][\"___em_js__show_alert\"].apply(null,arguments)});var ___em_js__trace_pop=Module[\"___em_js__trace_pop\"]=(function(){return Module[\"asm\"][\"___em_js__trace_pop\"].apply(null,arguments)});var ___em_js__trace_push=Module[\"___em_js__trace_push\"]=(function(){return Module[\"asm\"][\"___em_js__trace_push\"].apply(null,arguments)});var _emscripten_replace_memory=Module[\"_emscripten_replace_memory\"]=(function(){return Module[\"asm\"][\"_emscripten_replace_memory\"].apply(null,arguments)});var _free=Module[\"_free\"]=(function(){return Module[\"asm\"][\"_free\"].apply(null,arguments)});var _malloc=Module[\"_malloc\"]=(function(){return Module[\"asm\"][\"_malloc\"].apply(null,arguments)});var setTempRet0=Module[\"setTempRet0\"]=(function(){return Module[\"asm\"][\"setTempRet0\"].apply(null,arguments)});var setThrew=Module[\"setThrew\"]=(function(){return Module[\"asm\"][\"setThrew\"].apply(null,arguments)});var stackRestore=Module[\"stackRestore\"]=(function(){return Module[\"asm\"][\"stackRestore\"].apply(null,arguments)});var stackSave=Module[\"stackSave\"]=(function(){return Module[\"asm\"][\"stackSave\"].apply(null,arguments)});var dynCall_i=Module[\"dynCall_i\"]=(function(){return Module[\"asm\"][\"dynCall_i\"].apply(null,arguments)});var dynCall_ii=Module[\"dynCall_ii\"]=(function(){return Module[\"asm\"][\"dynCall_ii\"].apply(null,arguments)});var dynCall_iii=Module[\"dynCall_iii\"]=(function(){return Module[\"asm\"][\"dynCall_iii\"].apply(null,arguments)});var dynCall_iiii=Module[\"dynCall_iiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiii\"].apply(null,arguments)});var dynCall_iiiii=Module[\"dynCall_iiiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiiii\"].apply(null,arguments)});var dynCall_iiiiii=Module[\"dynCall_iiiiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiiiii\"].apply(null,arguments)});var dynCall_ji=Module[\"dynCall_ji\"]=(function(){return Module[\"asm\"][\"dynCall_ji\"].apply(null,arguments)});var dynCall_v=Module[\"dynCall_v\"]=(function(){return Module[\"asm\"][\"dynCall_v\"].apply(null,arguments)});var dynCall_vi=Module[\"dynCall_vi\"]=(function(){return Module[\"asm\"][\"dynCall_vi\"].apply(null,arguments)});var dynCall_vii=Module[\"dynCall_vii\"]=(function(){return Module[\"asm\"][\"dynCall_vii\"].apply(null,arguments)});var dynCall_viii=Module[\"dynCall_viii\"]=(function(){return Module[\"asm\"][\"dynCall_viii\"].apply(null,arguments)});var dynCall_viiii=Module[\"dynCall_viiii\"]=(function(){return Module[\"asm\"][\"dynCall_viiii\"].apply(null,arguments)});var dynCall_viiiii=Module[\"dynCall_viiiii\"]=(function(){return Module[\"asm\"][\"dynCall_viiiii\"].apply(null,arguments)});var dynCall_viji=Module[\"dynCall_viji\"]=(function(){return Module[\"asm\"][\"dynCall_viji\"].apply(null,arguments)});Module[\"asm\"]=asm;Module[\"then\"]=(function(func){if(Module[\"calledRun\"]){func(Module)}else{var old=Module[\"onRuntimeInitialized\"];Module[\"onRuntimeInitialized\"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module[\"calledRun\"])run();if(!Module[\"calledRun\"])dependenciesFulfilled=runCaller};function run(args){args=args||Module[\"arguments\"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module[\"calledRun\"])return;function doRun(){if(Module[\"calledRun\"])return;Module[\"calledRun\"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout((function(){setTimeout((function(){Module[\"setStatus\"](\"\")}),1);doRun()}),1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){if(implicit&&Module[\"noExitRuntime\"]&&status===0){return}if(Module[\"noExitRuntime\"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}Module[\"quit\"](status,new ExitStatus(status))}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=\"\"}ABORT=true;EXITSTATUS=1;throw\"abort(\"+what+\"). Build with -s ASSERTIONS=1 for more info.\"}Module[\"abort\"]=abort;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}Module[\"noExitRuntime\"]=true;run();Module[\"ready\"]=new Promise((function(resolve,reject){delete Module[\"then\"];Module[\"onAbort\"]=(function(what){reject(what)});addOnPostRun((function(){resolve(Module)}))}))\r\n\r\n\r\n\r\n\r\n\r\n return Diablo;\r\n}\r\n);\r\n})();\r\nif (typeof exports === 'object' && typeof module === 'object')\r\n module.exports = Diablo;\r\n else if (typeof define === 'function' && define['amd'])\r\n define([], function() { return Diablo; });\r\n else if (typeof exports === 'object')\r\n exports[\"Diablo\"] = Diablo;\r\n \n\n/*** EXPORTS FROM exports-loader ***/\n","module.exports = __webpack_public_path__ + \"static/media/DiabloSpawn.2f791d70.wasm\";","\r\nvar DiabloSpawn = (function() {\r\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\r\n return (\r\nfunction(DiabloSpawn) {\r\n DiabloSpawn = DiabloSpawn || {};\r\n\r\nvar Module=typeof DiabloSpawn!==\"undefined\"?DiabloSpawn:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module[\"arguments\"]=[];Module[\"thisProgram\"]=\"./this.program\";Module[\"quit\"]=(function(status,toThrow){throw toThrow});Module[\"preRun\"]=[];Module[\"postRun\"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof require===\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+\"/\";var nodeFS;var nodePath;Module[\"read\"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require(\"fs\");if(!nodePath)nodePath=require(\"path\");filename=nodePath[\"normalize\"](filename);ret=nodeFS[\"readFileSync\"](filename);return binary?ret:ret.toString()};Module[\"readBinary\"]=function readBinary(filename){var ret=Module[\"read\"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process[\"argv\"].length>1){Module[\"thisProgram\"]=process[\"argv\"][1].replace(/\\\\/g,\"/\")}Module[\"arguments\"]=process[\"argv\"].slice(2);process[\"on\"](\"uncaughtException\",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process[\"on\"](\"unhandledRejection\",(function(reason,p){process[\"exit\"](1)}));Module[\"quit\"]=(function(status){process[\"exit\"](status)});Module[\"inspect\"]=(function(){return\"[Emscripten Module object]\"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!=\"undefined\"){Module[\"read\"]=function shell_read(f){return read(f)}}Module[\"readBinary\"]=function readBinary(f){var data;if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){Module[\"arguments\"]=scriptArgs}else if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof quit===\"function\"){Module[\"quit\"]=(function(status){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WEB){if(document.currentScript){scriptDirectory=document.currentScript.src}}else{scriptDirectory=self.location.href}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.split(\"/\").slice(0,-1).join(\"/\")+\"/\"}else{scriptDirectory=\"\"}Module[\"read\"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module[\"readBinary\"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}Module[\"readAsync\"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module[\"setWindowTitle\"]=(function(title){document.title=title})}else{}var out=Module[\"print\"]||(typeof console!==\"undefined\"?console.log.bind(console):typeof print!==\"undefined\"?print:null);var err=Module[\"printErr\"]||(typeof printErr!==\"undefined\"?printErr:typeof console!==\"undefined\"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}var asm2wasmImports={\"f64-rem\":(function(x,y){return x%y}),\"debugger\":(function(){debugger})};var functionPointers=new Array(0);var GLOBAL_BASE=1024;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}function Pointer_stringify(ptr,length){if(length===0||!ptr)return\"\";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret=\"\";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str=\"\";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}var UTF16Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module[\"buffer\"]=buffer=buf}function updateGlobalBufferViews(){Module[\"HEAP8\"]=HEAP8=new Int8Array(buffer);Module[\"HEAP16\"]=HEAP16=new Int16Array(buffer);Module[\"HEAP32\"]=HEAP32=new Int32Array(buffer);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buffer);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buffer);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buffer);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buffer);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort(\"Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value \"+TOTAL_MEMORY+\", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 \")}if(!Module[\"reallocBuffer\"])Module[\"reallocBuffer\"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module[\"usingWasm\"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module[\"reallocBuffer\"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,\"byteLength\").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module[\"TOTAL_STACK\"]||5242880;var TOTAL_MEMORY=Module[\"TOTAL_MEMORY\"]||134217728;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback();continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Module[\"dynCall_v\"](func)}else{Module[\"dynCall_vi\"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile=\"DiabloSpawn.wast\";var wasmBinaryFile=\"DiabloSpawn.wasm\";var asmjsCodeFile=\"DiabloSpawn.temp.asm.js\";if(!isDataURI(wasmTextFile)){wasmTextFile=locateFile(wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=locateFile(asmjsCodeFile)}var wasmPageSize=64*1024;var info={\"global\":null,\"env\":null,\"asm2wasm\":asm2wasmImports,\"parent\":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module[\"buffer\"];if(newBuffer.byteLength0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module[\"dynCall_vi\"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){Module[\"setThrew\"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function ___cxa_find_matching_catch_2(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_find_matching_catch_3(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module[\"___cxa_is_pointer_type\"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!(\"uncaught_exception\"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___lock(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module[\"dynCall_v\"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module[\"___errno_location\"])HEAP32[Module[\"___errno_location\"]()>>2]=value;return value}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module[\"wasmTableSize\"]=588;Module[\"wasmMaxTableSize\"]=588;function invoke_i(index){var sp=stackSave();try{return Module[\"dynCall_i\"](index)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return Module[\"dynCall_ii\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return Module[\"dynCall_iii\"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return Module[\"dynCall_iiii\"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return Module[\"dynCall_iiiii\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return Module[\"dynCall_iiiiii\"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ji(index,a1){var sp=stackSave();try{return Module[\"dynCall_ji\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_v(index){var sp=stackSave();try{Module[\"dynCall_v\"](index)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{Module[\"dynCall_vi\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{Module[\"dynCall_vii\"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{Module[\"dynCall_viii\"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{Module[\"dynCall_viiii\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module[\"dynCall_viiiii\"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viji(index,a1,a2,a3,a4){var sp=stackSave();try{Module[\"dynCall_viji\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}Module.asmGlobalArg={};Module.asmLibraryArg={\"abort\":abort,\"enlargeMemory\":enlargeMemory,\"getTotalMemory\":getTotalMemory,\"abortOnCannotGrowMemory\":abortOnCannotGrowMemory,\"invoke_i\":invoke_i,\"invoke_ii\":invoke_ii,\"invoke_iii\":invoke_iii,\"invoke_iiii\":invoke_iiii,\"invoke_iiiii\":invoke_iiiii,\"invoke_iiiiii\":invoke_iiiiii,\"invoke_ji\":invoke_ji,\"invoke_v\":invoke_v,\"invoke_vi\":invoke_vi,\"invoke_vii\":invoke_vii,\"invoke_viii\":invoke_viii,\"invoke_viiii\":invoke_viiii,\"invoke_viiiii\":invoke_viiiii,\"invoke_viji\":invoke_viji,\"___assert_fail\":___assert_fail,\"___cxa_allocate_exception\":___cxa_allocate_exception,\"___cxa_begin_catch\":___cxa_begin_catch,\"___cxa_end_catch\":___cxa_end_catch,\"___cxa_find_matching_catch_2\":___cxa_find_matching_catch_2,\"___cxa_find_matching_catch_3\":___cxa_find_matching_catch_3,\"___cxa_free_exception\":___cxa_free_exception,\"___cxa_throw\":___cxa_throw,\"___lock\":___lock,\"___resumeException\":___resumeException,\"___setErrNo\":___setErrNo,\"___syscall140\":___syscall140,\"___syscall146\":___syscall146,\"___syscall54\":___syscall54,\"___syscall6\":___syscall6,\"___unlock\":___unlock,\"_abort\":_abort,\"_api_close_keyboard\":_api_close_keyboard,\"_api_create_sound\":_api_create_sound,\"_api_create_sound_float\":_api_create_sound_float,\"_api_delete_sound\":_api_delete_sound,\"_api_draw_begin\":_api_draw_begin,\"_api_draw_belt\":_api_draw_belt,\"_api_draw_blit\":_api_draw_blit,\"_api_draw_clip_text\":_api_draw_clip_text,\"_api_draw_end\":_api_draw_end,\"_api_draw_text\":_api_draw_text,\"_api_duplicate_sound\":_api_duplicate_sound,\"_api_exit_game\":_api_exit_game,\"_api_open_keyboard\":_api_open_keyboard,\"_api_play_sound\":_api_play_sound,\"_api_set_cursor\":_api_set_cursor,\"_api_set_volume\":_api_set_volume,\"_api_stop_sound\":_api_stop_sound,\"_emscripten_asm_const_ii\":_emscripten_asm_const_ii,\"_emscripten_memcpy_big\":_emscripten_memcpy_big,\"_exit\":_exit,\"_exit_error\":_exit_error,\"_get_file_contents\":_get_file_contents,\"_get_file_size\":_get_file_size,\"_pthread_getspecific\":_pthread_getspecific,\"_pthread_key_create\":_pthread_key_create,\"_pthread_once\":_pthread_once,\"_pthread_setspecific\":_pthread_setspecific,\"_put_file_contents\":_put_file_contents,\"_remove_file\":_remove_file,\"_show_alert\":_show_alert,\"_time\":_time,\"DYNAMICTOP_PTR\":DYNAMICTOP_PTR,\"STACKTOP\":STACKTOP};var asm=Module[\"asm\"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module[\"asm\"]=asm;var _DApi_Char=Module[\"_DApi_Char\"]=(function(){return Module[\"asm\"][\"_DApi_Char\"].apply(null,arguments)});var _DApi_Init=Module[\"_DApi_Init\"]=(function(){return Module[\"asm\"][\"_DApi_Init\"].apply(null,arguments)});var _DApi_Key=Module[\"_DApi_Key\"]=(function(){return Module[\"asm\"][\"_DApi_Key\"].apply(null,arguments)});var _DApi_Mouse=Module[\"_DApi_Mouse\"]=(function(){return Module[\"asm\"][\"_DApi_Mouse\"].apply(null,arguments)});var _DApi_Render=Module[\"_DApi_Render\"]=(function(){return Module[\"asm\"][\"_DApi_Render\"].apply(null,arguments)});var _DApi_SyncText=Module[\"_DApi_SyncText\"]=(function(){return Module[\"asm\"][\"_DApi_SyncText\"].apply(null,arguments)});var __GLOBAL__sub_I_msgcmd_cpp=Module[\"__GLOBAL__sub_I_msgcmd_cpp\"]=(function(){return Module[\"asm\"][\"__GLOBAL__sub_I_msgcmd_cpp\"].apply(null,arguments)});var ___cxa_can_catch=Module[\"___cxa_can_catch\"]=(function(){return Module[\"asm\"][\"___cxa_can_catch\"].apply(null,arguments)});var ___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=(function(){return Module[\"asm\"][\"___cxa_is_pointer_type\"].apply(null,arguments)});var ___em_js__api_close_keyboard=Module[\"___em_js__api_close_keyboard\"]=(function(){return Module[\"asm\"][\"___em_js__api_close_keyboard\"].apply(null,arguments)});var ___em_js__api_create_sound=Module[\"___em_js__api_create_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_create_sound\"].apply(null,arguments)});var ___em_js__api_create_sound_float=Module[\"___em_js__api_create_sound_float\"]=(function(){return Module[\"asm\"][\"___em_js__api_create_sound_float\"].apply(null,arguments)});var ___em_js__api_delete_sound=Module[\"___em_js__api_delete_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_delete_sound\"].apply(null,arguments)});var ___em_js__api_draw_begin=Module[\"___em_js__api_draw_begin\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_begin\"].apply(null,arguments)});var ___em_js__api_draw_belt=Module[\"___em_js__api_draw_belt\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_belt\"].apply(null,arguments)});var ___em_js__api_draw_blit=Module[\"___em_js__api_draw_blit\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_blit\"].apply(null,arguments)});var ___em_js__api_draw_clip_text=Module[\"___em_js__api_draw_clip_text\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_clip_text\"].apply(null,arguments)});var ___em_js__api_draw_end=Module[\"___em_js__api_draw_end\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_end\"].apply(null,arguments)});var ___em_js__api_draw_text=Module[\"___em_js__api_draw_text\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_text\"].apply(null,arguments)});var ___em_js__api_duplicate_sound=Module[\"___em_js__api_duplicate_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_duplicate_sound\"].apply(null,arguments)});var ___em_js__api_exit_game=Module[\"___em_js__api_exit_game\"]=(function(){return Module[\"asm\"][\"___em_js__api_exit_game\"].apply(null,arguments)});var ___em_js__api_open_keyboard=Module[\"___em_js__api_open_keyboard\"]=(function(){return Module[\"asm\"][\"___em_js__api_open_keyboard\"].apply(null,arguments)});var ___em_js__api_play_sound=Module[\"___em_js__api_play_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_play_sound\"].apply(null,arguments)});var ___em_js__api_set_cursor=Module[\"___em_js__api_set_cursor\"]=(function(){return Module[\"asm\"][\"___em_js__api_set_cursor\"].apply(null,arguments)});var ___em_js__api_set_volume=Module[\"___em_js__api_set_volume\"]=(function(){return Module[\"asm\"][\"___em_js__api_set_volume\"].apply(null,arguments)});var ___em_js__api_stop_sound=Module[\"___em_js__api_stop_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_stop_sound\"].apply(null,arguments)});var ___em_js__exit_error=Module[\"___em_js__exit_error\"]=(function(){return Module[\"asm\"][\"___em_js__exit_error\"].apply(null,arguments)});var ___em_js__get_file_contents=Module[\"___em_js__get_file_contents\"]=(function(){return Module[\"asm\"][\"___em_js__get_file_contents\"].apply(null,arguments)});var ___em_js__get_file_size=Module[\"___em_js__get_file_size\"]=(function(){return Module[\"asm\"][\"___em_js__get_file_size\"].apply(null,arguments)});var ___em_js__put_file_contents=Module[\"___em_js__put_file_contents\"]=(function(){return Module[\"asm\"][\"___em_js__put_file_contents\"].apply(null,arguments)});var ___em_js__remove_file=Module[\"___em_js__remove_file\"]=(function(){return Module[\"asm\"][\"___em_js__remove_file\"].apply(null,arguments)});var ___em_js__show_alert=Module[\"___em_js__show_alert\"]=(function(){return Module[\"asm\"][\"___em_js__show_alert\"].apply(null,arguments)});var ___em_js__trace_pop=Module[\"___em_js__trace_pop\"]=(function(){return Module[\"asm\"][\"___em_js__trace_pop\"].apply(null,arguments)});var ___em_js__trace_push=Module[\"___em_js__trace_push\"]=(function(){return Module[\"asm\"][\"___em_js__trace_push\"].apply(null,arguments)});var _emscripten_replace_memory=Module[\"_emscripten_replace_memory\"]=(function(){return Module[\"asm\"][\"_emscripten_replace_memory\"].apply(null,arguments)});var _free=Module[\"_free\"]=(function(){return Module[\"asm\"][\"_free\"].apply(null,arguments)});var _malloc=Module[\"_malloc\"]=(function(){return Module[\"asm\"][\"_malloc\"].apply(null,arguments)});var setTempRet0=Module[\"setTempRet0\"]=(function(){return Module[\"asm\"][\"setTempRet0\"].apply(null,arguments)});var setThrew=Module[\"setThrew\"]=(function(){return Module[\"asm\"][\"setThrew\"].apply(null,arguments)});var stackRestore=Module[\"stackRestore\"]=(function(){return Module[\"asm\"][\"stackRestore\"].apply(null,arguments)});var stackSave=Module[\"stackSave\"]=(function(){return Module[\"asm\"][\"stackSave\"].apply(null,arguments)});var dynCall_i=Module[\"dynCall_i\"]=(function(){return Module[\"asm\"][\"dynCall_i\"].apply(null,arguments)});var dynCall_ii=Module[\"dynCall_ii\"]=(function(){return Module[\"asm\"][\"dynCall_ii\"].apply(null,arguments)});var dynCall_iii=Module[\"dynCall_iii\"]=(function(){return Module[\"asm\"][\"dynCall_iii\"].apply(null,arguments)});var dynCall_iiii=Module[\"dynCall_iiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiii\"].apply(null,arguments)});var dynCall_iiiii=Module[\"dynCall_iiiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiiii\"].apply(null,arguments)});var dynCall_iiiiii=Module[\"dynCall_iiiiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiiiii\"].apply(null,arguments)});var dynCall_ji=Module[\"dynCall_ji\"]=(function(){return Module[\"asm\"][\"dynCall_ji\"].apply(null,arguments)});var dynCall_v=Module[\"dynCall_v\"]=(function(){return Module[\"asm\"][\"dynCall_v\"].apply(null,arguments)});var dynCall_vi=Module[\"dynCall_vi\"]=(function(){return Module[\"asm\"][\"dynCall_vi\"].apply(null,arguments)});var dynCall_vii=Module[\"dynCall_vii\"]=(function(){return Module[\"asm\"][\"dynCall_vii\"].apply(null,arguments)});var dynCall_viii=Module[\"dynCall_viii\"]=(function(){return Module[\"asm\"][\"dynCall_viii\"].apply(null,arguments)});var dynCall_viiii=Module[\"dynCall_viiii\"]=(function(){return Module[\"asm\"][\"dynCall_viiii\"].apply(null,arguments)});var dynCall_viiiii=Module[\"dynCall_viiiii\"]=(function(){return Module[\"asm\"][\"dynCall_viiiii\"].apply(null,arguments)});var dynCall_viji=Module[\"dynCall_viji\"]=(function(){return Module[\"asm\"][\"dynCall_viji\"].apply(null,arguments)});Module[\"asm\"]=asm;Module[\"then\"]=(function(func){if(Module[\"calledRun\"]){func(Module)}else{var old=Module[\"onRuntimeInitialized\"];Module[\"onRuntimeInitialized\"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module[\"calledRun\"])run();if(!Module[\"calledRun\"])dependenciesFulfilled=runCaller};function run(args){args=args||Module[\"arguments\"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module[\"calledRun\"])return;function doRun(){if(Module[\"calledRun\"])return;Module[\"calledRun\"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout((function(){setTimeout((function(){Module[\"setStatus\"](\"\")}),1);doRun()}),1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){if(implicit&&Module[\"noExitRuntime\"]&&status===0){return}if(Module[\"noExitRuntime\"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}Module[\"quit\"](status,new ExitStatus(status))}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=\"\"}ABORT=true;EXITSTATUS=1;throw\"abort(\"+what+\"). Build with -s ASSERTIONS=1 for more info.\"}Module[\"abort\"]=abort;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}Module[\"noExitRuntime\"]=true;run();Module[\"ready\"]=new Promise((function(resolve,reject){delete Module[\"then\"];Module[\"onAbort\"]=(function(what){reject(what)});addOnPostRun((function(){resolve(Module)}))}))\r\n\r\n\r\n\r\n\r\n\r\n return DiabloSpawn;\r\n}\r\n);\r\n})();\r\nif (typeof exports === 'object' && typeof module === 'object')\r\n module.exports = DiabloSpawn;\r\n else if (typeof define === 'function' && define['amd'])\r\n define([], function() { return DiabloSpawn; });\r\n else if (typeof exports === 'object')\r\n exports[\"DiabloSpawn\"] = DiabloSpawn;\r\n \n\n/*** EXPORTS FROM exports-loader ***/\n","module.exports = require('./lib/axios');","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\"; // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n\n var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\"; // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n }; // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && typeof value === \"object\" && hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function (unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n } // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n\n exports.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n } // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted; // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n } // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield).\n\n context.next = delegate.nextLoc; // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n } // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n\n\n context.delegate = null;\n return ContinueSentinel;\n } // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\"; // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse(); // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n } // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n } // Return an iterator with no values.\n\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0; // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n } // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n }; // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n\n return exports;\n}( // If this script is executing as a CommonJS module, use module.exports\n// as the regeneratorRuntime namespace. Otherwise create a new empty\n// object. Either way, the resulting object will be used to initialize\n// the regeneratorRuntime variable at the top of this file.\ntypeof module === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}","'use strict';\n\nvar utils = require('./utils');\n\nvar bind = require('./helpers/bind');\n\nvar Axios = require('./core/Axios');\n\nvar mergeConfig = require('./core/mergeConfig');\n\nvar defaults = require('./defaults');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context);\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Factory for creating new instances\n\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n}; // Expose Cancel & CancelToken\n\n\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel'); // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = require('./helpers/spread');\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nmodule.exports = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n};","'use strict';\n\nvar utils = require('./../utils');\n\nvar buildURL = require('../helpers/buildURL');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n\nvar mergeConfig = require('./mergeConfig');\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n config.method = config.method ? config.method.toLowerCase() : 'get'; // Hook up interceptors middleware\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\n\nvar combineURLs = require('./../helpers/combineURLs');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Support baseURL config\n\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n } // Ensure headers exist\n\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","'use strict';\n\nvar utils = require('./../utils');\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function () {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n\n return error;\n};","'use strict';\n\nvar utils = require('./../utils'); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import DiabloBinary from './Diablo.wasm';\r\nimport DiabloModule from './Diablo.jscc';\r\nimport SpawnBinary from './DiabloSpawn.wasm';\r\nimport SpawnModule from './DiabloSpawn.jscc';\r\nimport axios from 'axios';\r\n\r\nconst DiabloSize = 1316452;\r\nconst SpawnSize = 1196648;\r\n\r\n/* eslint-disable-next-line no-restricted-globals */\r\nconst worker = self;\r\n\r\nlet canvas = null, context = null;\r\nlet imageData = null;\r\nlet files = null;\r\nlet renderBatch = null;\r\nlet drawBelt = null;\r\nlet is_spawn = false;\r\n\r\nconst ChunkSize = 1 << 20;\r\nclass RemoteFile {\r\n constructor(url) {\r\n const request = new XMLHttpRequest();\r\n request.open('HEAD', url, false);\r\n request.send();\r\n if (request.status < 200 || request.status >= 300) {\r\n worker.postMessage({action: \"error\", error: `Failed to load remote file`});\r\n }\r\n this.byteLength = parseInt(request.getResponseHeader('Content-Length'));\r\n\r\n this.url = url;\r\n\r\n this.buffer = new Uint8Array(this.byteLength);\r\n this.chunks = new Uint8Array(((this.byteLength + ChunkSize - 1) >> 20) | 0);\r\n }\r\n\r\n subarray(start, end) {\r\n let chunk0 = (start / ChunkSize) | 0;\r\n let chunk1 = ((end + ChunkSize - 1) / ChunkSize) | 0;\r\n let missing0 = chunk1, missing1 = chunk0;\r\n for (let i = chunk0; i < chunk1; ++i) {\r\n if (!this.chunks[i]) {\r\n missing0 = Math.min(missing0, i);\r\n missing1 = Math.max(missing1, i);\r\n }\r\n }\r\n if (missing0 <= missing1) {\r\n const request = new XMLHttpRequest();\r\n request.open('GET', this.url, false);\r\n request.setRequestHeader('Range', `bytes=${missing0 * ChunkSize}-${Math.min(missing1 * ChunkSize + ChunkSize - 1, this.byteLength - 1)}`);\r\n request.responseType = 'arraybuffer';\r\n request.send();\r\n if (request.status < 200 || request.status >= 300) {\r\n worker.postMessage({action: \"error\", error: `Failed to load remote file`});\r\n } else {\r\n const header = request.getResponseHeader('Content-Range');\r\n let m, start = 0;\r\n if (header && (m = header.match(/bytes (\\d+)-(\\d+)\\/(\\d+)/))) {\r\n start = parseInt(m[1]);\r\n }\r\n this.buffer.set(new Uint8Array(request.response), start);\r\n chunk0 = ((start + ChunkSize - 1) / ChunkSize) | 0;\r\n chunk1 = ((start + request.response.byteLength + ChunkSize - 1) / ChunkSize) | 0;\r\n for (let i = chunk0; i < chunk1; ++i) {\r\n this.chunks[i] = 1;\r\n }\r\n }\r\n }\r\n return this.buffer.subarray(start, end);\r\n }\r\n}\r\n\r\nconst DApi = {\r\n exit_error(error) {\r\n worker.postMessage({action: \"error\", error});\r\n },\r\n\r\n exit_game() {\r\n worker.postMessage({action: \"exit\"});\r\n },\r\n current_save_id(id) {\r\n worker.postMessage({action: \"current_save\", name: id >= 0 ? (is_spawn ? `spawn${id}.sv` : `single_${id}.sv`) : null});\r\n },\r\n\r\n get_file_size(path) {\r\n const data = files.get(path.toLowerCase());\r\n return data ? data.byteLength : 0;\r\n },\r\n get_file_contents(path, array, offset) {\r\n const data = files.get(path.toLowerCase());\r\n if (data) {\r\n array.set(data.subarray(offset, offset + array.byteLength));\r\n }\r\n },\r\n put_file_contents(path, array) {\r\n path = path.toLowerCase();\r\n // if (!path.match(/^(spawn\\d+\\.sv|single_\\d+\\.sv|config\\.ini)$/i)) {\r\n // alert(`Bad file name: ${path}`);\r\n // }\r\n files.set(path, array);\r\n worker.postMessage({action: \"fs\", func: \"update\", params: [path, array]});\r\n },\r\n remove_file(path) {\r\n path = path.toLowerCase();\r\n files.delete(path);\r\n worker.postMessage({action: \"fs\", func: \"delete\", params: [path]});\r\n },\r\n\r\n set_cursor(x, y) {\r\n worker.postMessage({action: \"cursor\", x, y});\r\n },\r\n open_keyboard(...args) {\r\n worker.postMessage({action: \"keyboard\", rect: [...args]});\r\n },\r\n close_keyboard() {\r\n worker.postMessage({action: \"keyboard\", rect: null});\r\n },\r\n};\r\n\r\nlet frameTime = 0, lastTime = 0;\r\nfunction getFPS() {\r\n const time = performance.now();\r\n if (!lastTime) {\r\n lastTime = time;\r\n }\r\n frameTime = 0.9 * frameTime + 0.1 * (time - lastTime);\r\n lastTime = time;\r\n return frameTime ? 1000.0 / frameTime : 0.0;\r\n}\r\n\r\nconst DApi_renderLegacy = {\r\n draw_begin() {\r\n renderBatch = {\r\n images: [],\r\n text: [],\r\n clip: null,\r\n belt: drawBelt,\r\n };\r\n drawBelt = null;\r\n },\r\n draw_blit(x, y, w, h, data) {\r\n renderBatch.images.push({x, y, w, h, data: data.slice()});\r\n },\r\n draw_clip_text(x0, y0, x1, y1) {\r\n renderBatch.clip = {x0, y0, x1, y1};\r\n },\r\n draw_text(x, y, text, color) {\r\n renderBatch.text.push({x, y, text, color});\r\n },\r\n draw_end() {\r\n //DApi.draw_text(10, 10, `FPS: ${getFPS().toFixed(1)} (Transfer)`, 0xFFCC00);\r\n const transfer = renderBatch.images.map(({data}) => data.buffer);\r\n if (renderBatch.belt) {\r\n transfer.push(renderBatch.belt.buffer);\r\n }\r\n worker.postMessage({action: \"render\", batch: renderBatch}, transfer);\r\n renderBatch = null;\r\n },\r\n draw_belt(items) {\r\n drawBelt = items.slice();\r\n },\r\n};\r\n\r\nconst DApi_renderOffscreen = {\r\n draw_begin() {\r\n context.save();\r\n context.font = 'bold 13px Times New Roman';\r\n },\r\n draw_blit(x, y, w, h, data) {\r\n imageData.data.set(data);\r\n context.putImageData(imageData, x, y);\r\n },\r\n draw_clip_text(x0, y0, x1, y1) {\r\n context.beginPath();\r\n context.rect(x0, y0, x1 - x0, y1 - y0);\r\n context.clip();\r\n },\r\n draw_text(x, y, text, color) {\r\n const r = ((color >> 16) & 0xFF);\r\n const g = ((color >> 8) & 0xFF);\r\n const b = (color & 0xFF);\r\n context.fillStyle = `rgb(${r}, ${g}, ${b})`;\r\n context.fillText(text, x, y + 22);\r\n },\r\n draw_end() {\r\n //DApi.draw_text(10, 10, `FPS: ${getFPS().toFixed(1)} (Offscreen)`, 0xFFCC00);\r\n context.restore();\r\n const bitmap = canvas.transferToImageBitmap();\r\n const transfer = [bitmap];\r\n if (drawBelt) {\r\n transfer.push(drawBelt.buffer);\r\n }\r\n worker.postMessage({action: \"render\", batch: {bitmap, belt: drawBelt}}, transfer);\r\n drawBelt = null;\r\n },\r\n draw_belt(items) {\r\n drawBelt = items.slice();\r\n },\r\n};\r\n\r\nlet audioBatch = null, audioTransfer = null;\r\nlet maxSoundId = 0, maxBatchId = 0;\r\n[\"create_sound_raw\", \"create_sound\", \"duplicate_sound\"].forEach(func => {\r\n DApi[func] = function(...params) {\r\n if (audioBatch) {\r\n maxBatchId = params[0] + 1;\r\n audioBatch.push({func, params});\r\n if (func !== \"duplicate_sound\") {\r\n audioTransfer.push(params[1].buffer);\r\n }\r\n } else {\r\n maxSoundId = params[0] + 1;\r\n const transfer = [];\r\n if (func !== \"duplicate_sound\") {\r\n transfer.push(params[1].buffer);\r\n }\r\n worker.postMessage({action: \"audio\", func, params}, transfer);\r\n }\r\n };\r\n});\r\n[\"play_sound\", \"set_volume\", \"stop_sound\", \"delete_sound\"].forEach(func => {\r\n DApi[func] = function(...params) {\r\n if (audioBatch && params[0] >= maxSoundId) {\r\n audioBatch.push({func, params});\r\n } else {\r\n worker.postMessage({action: \"audio\", func, params});\r\n }\r\n }\r\n});\r\n\r\nworker.DApi = DApi;\r\n\r\nlet wasm = null;\r\n\r\nfunction call_api(func, ...params) {\r\n try {\r\n audioBatch = [];\r\n audioTransfer = [];\r\n wasm[\"_\" + func](...params);\r\n if (audioBatch.length) {\r\n maxSoundId = maxBatchId;\r\n worker.postMessage({action: \"audioBatch\", batch: audioBatch}, audioTransfer);\r\n audioBatch = null;\r\n audioTransfer = null;\r\n }\r\n } catch (e) {\r\n if (typeof e === \"string\") {\r\n worker.postMessage({action: \"\"})\r\n }\r\n worker.postMessage({action: \"error\", error: e.toString(), stack: e.stack});\r\n }\r\n}\r\n\r\nfunction progress(text, loaded, total) {\r\n worker.postMessage({action: \"progress\", text, loaded, total});\r\n}\r\n\r\nconst readFile = (file, progress) => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n if (progress) {\r\n progress({loaded: file.size});\r\n }\r\n resolve(reader.result);\r\n };\r\n reader.onerror = () => reject(reader.error);\r\n reader.onabort = () => reject();\r\n if (progress) {\r\n reader.addEventListener(\"progress\", progress);\r\n }\r\n reader.readAsArrayBuffer(file);\r\n});\r\n\r\nasync function initWasm(spawn, progress) {\r\n const binary = await axios.request({\r\n url: spawn ? SpawnBinary : DiabloBinary,\r\n responseType: 'arraybuffer',\r\n onDownloadProgress: progress,\r\n });\r\n const result = await (spawn ? SpawnModule : DiabloModule)({wasmBinary: binary.data}).ready;\r\n progress({loaded: 2000000});\r\n return result;\r\n}\r\n\r\nasync function init_game(mpq, spawn, offscreen) {\r\n is_spawn = spawn;\r\n if (offscreen) {\r\n canvas = new OffscreenCanvas(640, 480);\r\n context = canvas.getContext(\"2d\");\r\n imageData = context.createImageData(640, 480);\r\n Object.assign(DApi, DApi_renderOffscreen);\r\n } else {\r\n Object.assign(DApi, DApi_renderLegacy);\r\n }\r\n\r\n if (!mpq) {\r\n const name = (spawn ? 'spawn.mpq' : 'diabdat.mpq');\r\n if (!files.has(name)) {\r\n // This should never happen, but we do support remote loading\r\n files.set(name, new RemoteFile(`${process.env.PUBLIC_URL}/${name}`));\r\n }\r\n }\r\n\r\n progress(\"Loading...\");\r\n let mpqLoaded = 0, mpqTotal = (mpq ? mpq.size : 0), wasmLoaded = 0, wasmTotal = (spawn ? SpawnSize : DiabloSize);\r\n const wasmWeight = 5;\r\n function updateProgress() {\r\n progress(\"Loading...\", mpqLoaded + wasmLoaded * wasmWeight, mpqTotal + wasmTotal * wasmWeight);\r\n }\r\n const loadWasm = initWasm(spawn, e => {\r\n wasmLoaded = Math.min(e.loaded, wasmTotal);\r\n updateProgress();\r\n });\r\n let loadMpq = mpq ? readFile(mpq, e => {\r\n mpqLoaded = e.loaded;\r\n updateProgress();\r\n }) : Promise.resolve(null);\r\n [wasm, mpq] = await Promise.all([loadWasm, loadMpq]);\r\n\r\n if (mpq) {\r\n files.set(spawn ? 'spawn.mpq' : 'diabdat.mpq', new Uint8Array(mpq));\r\n }\r\n\r\n progress(\"Initializing...\");\r\n\r\n const vers = process.env.VERSION.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\r\n\r\n wasm._DApi_Init(Math.floor(performance.now()), offscreen ? 1 : 0, parseInt(vers[1]), parseInt(vers[2]), parseInt(vers[3]));\r\n\r\n setInterval(() => {\r\n call_api(\"DApi_Render\", Math.floor(performance.now())); \r\n }, 50);\r\n}\r\n\r\nworker.addEventListener(\"message\", ({data}) => {\r\n switch (data.action) {\r\n case \"init\":\r\n files = data.files;\r\n init_game(data.mpq, data.spawn, data.offscreen).then(\r\n () => worker.postMessage({action: \"loaded\"}),\r\n e => worker.postMessage({action: \"failed\", error: e.toString(), stack: e.stack}));\r\n break;\r\n case \"event\":\r\n call_api(data.func, ...data.params);\r\n break;\r\n }\r\n});\r\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["../webpack/bootstrap","../node_modules/axios/lib/utils.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/process/browser.js","../node_modules/path-browserify/index.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/cancel/Cancel.js","api/Diablo.wasm","api/Diablo.jscc","api/DiabloSpawn.wasm","api/DiabloSpawn.jscc","../node_modules/axios/index.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/axios/lib/axios.js","../node_modules/axios/node_modules/is-buffer/index.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","api/game.worker.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","isBuffer","toString","isArray","val","isObject","isFunction","forEach","obj","fn","length","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","window","document","merge","result","assignValue","arguments","deepMerge","extend","a","b","thisArg","trim","str","replace","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","e","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","push","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","normalizeArray","parts","allowAboveRoot","up","last","splice","unshift","filter","xs","f","res","resolve","resolvedPath","resolvedAbsolute","path","TypeError","charAt","split","join","normalize","isAbsolute","trailingSlash","substr","paths","slice","index","relative","from","to","arr","start","end","fromParts","toParts","Math","min","samePartsLength","outputParts","sep","delimiter","dirname","code","charCodeAt","hasRoot","matchedSlash","basename","ext","extname","startDot","startPart","preDotState","utils","encode","encodeURIComponent","url","params","paramsSerializer","serializedParams","v","toISOString","JSON","stringify","hashmarkIndex","indexOf","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","headers","defaults","adapter","XMLHttpRequest","getDefaultAdapter","transformRequest","data","transformResponse","parse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","method","settle","buildURL","parseHeaders","isURLSameOrigin","createError","config","Promise","reject","requestData","requestHeaders","request","auth","username","password","Authorization","btoa","open","toUpperCase","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","cookies","xsrfValue","withCredentials","read","undefined","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","enhanceError","message","error","config1","config2","prop","Cancel","Diablo","_scriptDir","currentScript","src","Module","moduleOverrides","toThrow","ENVIRONMENT_IS_NODE","ENVIRONMENT_IS_SHELL","ENVIRONMENT_IS_WEB","ENVIRONMENT_IS_WORKER","importScripts","nodeFS","nodePath","scriptDirectory","locateFile","__dirname","filename","binary","ret","Uint8Array","assert","ex","ExitStatus","reason","readbuffer","scriptArgs","quit","self","location","href","xhr","onload","out","console","log","print","err","printErr","warn","STACK_ALIGN","alignMemory","size","factor","ceil","asm2wasmImports","f64-rem","x","y","debugger","ABORT","condition","text","Pointer_stringify","ptr","hasUtf","HEAPU8","curr","String","fromCharCode","subarray","UTF8ArrayToString","UTF8ToString","UTF8Decoder","TextDecoder","u8Array","idx","endPtr","decode","u0","u1","u2","u3","u4","ch","HEAP8","HEAP32","HEAPF32","STATICTOP","STACK_BASE","STACKTOP","DYNAMIC_BASE","DYNAMICTOP_PTR","WASM_PAGE_SIZE","ASMJS_PAGE_SIZE","MIN_TOTAL_MEMORY","alignUp","multiple","updateGlobalBuffer","buf","updateGlobalBufferViews","Int8Array","Int16Array","Int32Array","Uint16Array","Uint32Array","Float32Array","Float64Array","transfer","oldHEAP8","set","_emscripten_replace_memory","Function","getOwnPropertyDescriptor","byteLength","TOTAL_STACK","TOTAL_MEMORY","callRuntimeCallbacks","callbacks","callback","shift","func","arg","WebAssembly","Memory","initial","__ATPRERUN__","__ATINIT__","__ATMAIN__","__ATEXIT__","__ATPOSTRUN__","runtimeInitialized","addOnPostRun","cb","runDependencies","runDependencyWatcher","dependenciesFulfilled","dataURIPrefix","isDataURI","startsWith","wasmTextFile","wasmBinaryFile","asmjsCodeFile","info","global","asm2wasm","parent","getBinary","doNativeWasm","providedBuffer","receiveInstance","instance","memory","newBuffer","oldBuffer","oldView","mergeMemory","id","clearInterval","removeRunDependency","NaN","Infinity","receiveInstantiatedSource","output","instantiateArrayBuffer","receiver","fetch","credentials","catch","instantiate","instantiateStreaming","asmjsReallocBuffer","finalMethod","oldSize","grow","wasmReallocBuffer","TABLE_SIZE","MAX_TABLE_SIZE","Table","maximum","element","integrateWasmJS","ASM_CONSTS","$0","DApi","current_save_id","STATIC_BASE","__GLOBAL__sub_I_msgcmd_cpp","__ZSt18uncaught_exceptionv","uncaught_exception","EXCEPTIONS","caught","infos","deAdjust","adjusted","addRef","refcount","decRef","rethrown","destructor","___cxa_free_exception","clearRef","_free","___cxa_find_matching_catch","thrown","setTempRet0","throwntype","type","typeArray","_malloc","SYSCALLS","varargs","getStr","get64","low","high","getZero","__exit","implicit","initialStackTop","exit","PTHREAD_SPECIFIC","PTHREAD_SPECIFIC_NEXT_KEY","ERRNO_CODES","EPERM","ENOENT","ESRCH","EINTR","EIO","ENXIO","E2BIG","ENOEXEC","EBADF","ECHILD","EAGAIN","EWOULDBLOCK","ENOMEM","EACCES","EFAULT","ENOTBLK","EBUSY","EEXIST","EXDEV","ENODEV","ENOTDIR","EISDIR","EINVAL","ENFILE","EMFILE","ENOTTY","ETXTBSY","EFBIG","ENOSPC","ESPIPE","EROFS","EMLINK","EPIPE","EDOM","ERANGE","ENOMSG","EIDRM","ECHRNG","EL2NSYNC","EL3HLT","EL3RST","ELNRNG","EUNATCH","ENOCSI","EL2HLT","EDEADLK","ENOLCK","EBADE","EBADR","EXFULL","ENOANO","EBADRQC","EBADSLT","EDEADLOCK","EBFONT","ENOSTR","ENODATA","ETIME","ENOSR","ENONET","ENOPKG","EREMOTE","ENOLINK","EADV","ESRMNT","ECOMM","EPROTO","EMULTIHOP","EDOTDOT","EBADMSG","ENOTUNIQ","EBADFD","EREMCHG","ELIBACC","ELIBBAD","ELIBSCN","ELIBMAX","ELIBEXEC","ENOSYS","ENOTEMPTY","ENAMETOOLONG","ELOOP","EOPNOTSUPP","EPFNOSUPPORT","ECONNRESET","ENOBUFS","EAFNOSUPPORT","EPROTOTYPE","ENOTSOCK","ENOPROTOOPT","ESHUTDOWN","ECONNREFUSED","EADDRINUSE","ECONNABORTED","ENETUNREACH","ENETDOWN","ETIMEDOUT","EHOSTDOWN","EHOSTUNREACH","EINPROGRESS","EALREADY","EDESTADDRREQ","EMSGSIZE","EPROTONOSUPPORT","ESOCKTNOSUPPORT","EADDRNOTAVAIL","ENETRESET","EISCONN","ENOTCONN","ETOOMANYREFS","EUSERS","EDQUOT","ESTALE","ENOTSUP","ENOMEDIUM","EILSEQ","EOVERFLOW","ECANCELED","ENOTRECOVERABLE","EOWNERDEAD","ESTRPIPE","staticAlloc","asmGlobalArg","asmLibraryArg","enlargeMemory","PAGE_MULTIPLE","LIMIT","OLD_TOTAL_MEMORY","max","replacement","getTotalMemory","abortOnCannotGrowMemory","invoke_i","sp","stackSave","stackRestore","invoke_ii","a1","invoke_iii","a2","invoke_iiii","a3","invoke_iiiii","a4","invoke_iiiiii","a5","invoke_ji","invoke_v","invoke_vi","invoke_vii","invoke_viii","invoke_viiii","invoke_viiiii","invoke_viji","___assert_fail","line","___cxa_allocate_exception","___cxa_begin_catch","___cxa_end_catch","pop","___cxa_find_matching_catch_2","___cxa_find_matching_catch_3","___cxa_throw","___lock","___resumeException","___setErrNo","___syscall140","which","stream","getStreamFromFD","offset_low","whence","offset","FS","llseek","position","getdents","ErrnoError","errno","___syscall146","iov","iovcnt","buffers","printChar","j","___syscall54","___syscall6","close","___unlock","_abort","_api_close_keyboard","close_keyboard","_api_create_sound","create_sound","_api_create_sound_float","samples","channels","rate","create_sound_raw","_api_delete_sound","delete_sound","_api_draw_begin","draw_begin","_api_draw_belt","items","draw_belt","_api_draw_blit","w","h","draw_blit","_api_draw_clip_text","x0","y0","x1","y1","draw_clip_text","_api_draw_end","draw_end","_api_draw_text","color","draw_text","_api_duplicate_sound","srcId","duplicate_sound","_api_exit_game","exit_game","_api_open_keyboard","open_keyboard","_api_play_sound","volume","pan","loop","play_sound","_api_set_cursor","set_cursor","_api_set_volume","set_volume","_api_stop_sound","stop_sound","_emscripten_asm_const_ii","a0","_emscripten_memcpy_big","dest","num","_exit","_exit_error","exit_error","_get_file_contents","get_file_contents","_get_file_size","get_file_size","_pthread_getspecific","_pthread_key_create","_pthread_once","seen","_pthread_setspecific","_put_file_contents","put_file_contents","_remove_file","remove_file","_show_alert","alert","_time","Date","now","asm","doRun","postRun","preRun","what","old","constructor","runCaller","DiabloSpawn","runtime","Op","hasOwn","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","state","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","done","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","hasCatch","hasFinally","finallyEntry","complete","finish","delegateYield","regeneratorRuntime","accidentalStrictMode","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","CancelToken","isCancel","all","promises","spread","default","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","fulfilled","rejected","getUri","handlers","use","eject","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","fns","normalizedName","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","ignoreDuplicateOf","parsed","originURL","msie","test","userAgent","urlParsingNode","createElement","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","cookie","toGMTString","match","RegExp","decodeURIComponent","remove","relativeURL","executor","resolvePromise","token","source","_slicedToArray","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","arr2","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_defineProperties","target","props","descriptor","configurable","writable","DiabloSize","SpawnSize","worker","canvas","imageData","files","renderBatch","drawBelt","is_spawn","ChunkSize","RemoteFile","Constructor","_classCallCheck","postMessage","action","parseInt","getResponseHeader","chunks","protoProps","staticProps","chunk0","chunk1","missing0","missing1","header","delete","_len","_key","rect","DApi_renderLegacy","images","clip","belt","map","_ref","batch","DApi_renderOffscreen","save","font","putImageData","beginPath","g","fillStyle","fillText","restore","bitmap","transferToImageBitmap","audioBatch","audioTransfer","maxSoundId","maxBatchId","_len2","_key2","_len3","_key3","wasm","call_api","_wasm","_len4","_key4","progress","loaded","total","readFile","file","reader","FileReader","readAsArrayBuffer","initWasm","_callee","spawn","regenerator_default","_context","SpawnBinary","DiabloBinary","SpawnModule","DiabloModule","wasmBinary","ready","_callee2","mpq","offscreen","mpqLoaded","mpqTotal","wasmLoaded","wasmTotal","wasmWeight","updateProgress","loadWasm","loadMpq","_ref3","_ref4","vers","_context2","OffscreenCanvas","getContext","createImageData","assign","has","_DApi_Init","floor","performance","setInterval","_ref2","init_game"],"mappings":"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","file":"6aa26238cc9e8b6852cd.worker.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/diabloweb/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 35);\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\nvar isBuffer = require('is-buffer');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction deepMerge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};","module.exports = require(\"regenerator-runtime\");\n","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n } // if the path is allowed to go above the root, restore leading ..s\n\n\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n} // path.resolve([from ...], to)\n// posix version\n\n\nexports.resolve = function () {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : process.cwd(); // Skip empty and invalid entries\n\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n } // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n // Normalize the path\n\n\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function (p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n return (resolvedAbsolute ? '/' : '') + resolvedPath || '.';\n}; // path.normalize(path)\n// posix version\n\n\nexports.normalize = function (path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/'; // Normalize the path\n\n path = normalizeArray(filter(path.split('/'), function (p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n}; // posix version\n\n\nexports.isAbsolute = function (path) {\n return path.charAt(0) === '/';\n}; // posix version\n\n\nexports.join = function () {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function (p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n\n return p;\n }).join('/'));\n}; // path.relative(from, to)\n// posix version\n\n\nexports.relative = function (from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47\n /*/*/\n ;\n var end = -1;\n var matchedSlash = true;\n\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n\n if (code === 47\n /*/*/\n ) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47\n /*/*/\n ) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n} // Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\n\n\nexports.basename = function (path, ext) {\n var f = basename(path);\n\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true; // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n\n var preDotState = 0;\n\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n\n if (code === 47\n /*/*/\n ) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n\n continue;\n }\n\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n\n if (code === 46\n /*.*/\n ) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot\n preDotState === 0 || // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n\n return path.slice(startDot, end);\n};\n\nfunction filter(xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n\n return res;\n} // String.prototype.substr - negative index don't work in IE8\n\n\nvar substr = 'ab'.substr(-1) === 'b' ? function (str, start, len) {\n return str.substr(start, len);\n} : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter; // Only Node.JS has a process variable that is of [[Class]] process\n\n if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n } else if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle browser request cancellation (as opposed to a manual cancellation)\n\n\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies'); // Add xsrf header\n\n\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (config.withCredentials) {\n request.withCredentials = true;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nvar utils = require('../utils');\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\n\n\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n utils.forEach(['url', 'method', 'params', 'data'], function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n utils.forEach(['headers', 'auth', 'proxy'], function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n utils.forEach(['baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer', 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken', 'socketPath'], function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n return config;\n};","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","module.exports = __webpack_public_path__ + \"static/media/Diablo.283757c2.wasm\";","\r\nvar Diablo = (function() {\r\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\r\n return (\r\nfunction(Diablo) {\r\n Diablo = Diablo || {};\r\n\r\nvar Module=typeof Diablo!==\"undefined\"?Diablo:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module[\"arguments\"]=[];Module[\"thisProgram\"]=\"./this.program\";Module[\"quit\"]=(function(status,toThrow){throw toThrow});Module[\"preRun\"]=[];Module[\"postRun\"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof require===\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+\"/\";var nodeFS;var nodePath;Module[\"read\"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require(\"fs\");if(!nodePath)nodePath=require(\"path\");filename=nodePath[\"normalize\"](filename);ret=nodeFS[\"readFileSync\"](filename);return binary?ret:ret.toString()};Module[\"readBinary\"]=function readBinary(filename){var ret=Module[\"read\"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process[\"argv\"].length>1){Module[\"thisProgram\"]=process[\"argv\"][1].replace(/\\\\/g,\"/\")}Module[\"arguments\"]=process[\"argv\"].slice(2);process[\"on\"](\"uncaughtException\",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process[\"on\"](\"unhandledRejection\",(function(reason,p){process[\"exit\"](1)}));Module[\"quit\"]=(function(status){process[\"exit\"](status)});Module[\"inspect\"]=(function(){return\"[Emscripten Module object]\"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!=\"undefined\"){Module[\"read\"]=function shell_read(f){return read(f)}}Module[\"readBinary\"]=function readBinary(f){var data;if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){Module[\"arguments\"]=scriptArgs}else if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof quit===\"function\"){Module[\"quit\"]=(function(status){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WEB){if(document.currentScript){scriptDirectory=document.currentScript.src}}else{scriptDirectory=self.location.href}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.split(\"/\").slice(0,-1).join(\"/\")+\"/\"}else{scriptDirectory=\"\"}Module[\"read\"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module[\"readBinary\"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}Module[\"readAsync\"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module[\"setWindowTitle\"]=(function(title){document.title=title})}else{}var out=Module[\"print\"]||(typeof console!==\"undefined\"?console.log.bind(console):typeof print!==\"undefined\"?print:null);var err=Module[\"printErr\"]||(typeof printErr!==\"undefined\"?printErr:typeof console!==\"undefined\"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}var asm2wasmImports={\"f64-rem\":(function(x,y){return x%y}),\"debugger\":(function(){debugger})};var functionPointers=new Array(0);var GLOBAL_BASE=1024;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}function Pointer_stringify(ptr,length){if(length===0||!ptr)return\"\";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret=\"\";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str=\"\";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}var UTF16Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module[\"buffer\"]=buffer=buf}function updateGlobalBufferViews(){Module[\"HEAP8\"]=HEAP8=new Int8Array(buffer);Module[\"HEAP16\"]=HEAP16=new Int16Array(buffer);Module[\"HEAP32\"]=HEAP32=new Int32Array(buffer);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buffer);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buffer);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buffer);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buffer);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort(\"Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value \"+TOTAL_MEMORY+\", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 \")}if(!Module[\"reallocBuffer\"])Module[\"reallocBuffer\"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module[\"usingWasm\"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module[\"reallocBuffer\"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,\"byteLength\").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module[\"TOTAL_STACK\"]||5242880;var TOTAL_MEMORY=Module[\"TOTAL_MEMORY\"]||134217728;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback();continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Module[\"dynCall_v\"](func)}else{Module[\"dynCall_vi\"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile=\"Diablo.wast\";var wasmBinaryFile=\"Diablo.wasm\";var asmjsCodeFile=\"Diablo.temp.asm.js\";if(!isDataURI(wasmTextFile)){wasmTextFile=locateFile(wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=locateFile(asmjsCodeFile)}var wasmPageSize=64*1024;var info={\"global\":null,\"env\":null,\"asm2wasm\":asm2wasmImports,\"parent\":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module[\"buffer\"];if(newBuffer.byteLength0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module[\"dynCall_vi\"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){Module[\"setThrew\"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function ___cxa_find_matching_catch_2(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_find_matching_catch_3(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module[\"___cxa_is_pointer_type\"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!(\"uncaught_exception\"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___lock(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module[\"dynCall_v\"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module[\"___errno_location\"])HEAP32[Module[\"___errno_location\"]()>>2]=value;return value}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module[\"wasmTableSize\"]=616;Module[\"wasmMaxTableSize\"]=616;function invoke_i(index){var sp=stackSave();try{return Module[\"dynCall_i\"](index)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return Module[\"dynCall_ii\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return Module[\"dynCall_iii\"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return Module[\"dynCall_iiii\"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return Module[\"dynCall_iiiii\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return Module[\"dynCall_iiiiii\"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ji(index,a1){var sp=stackSave();try{return Module[\"dynCall_ji\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_v(index){var sp=stackSave();try{Module[\"dynCall_v\"](index)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{Module[\"dynCall_vi\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{Module[\"dynCall_vii\"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{Module[\"dynCall_viii\"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{Module[\"dynCall_viiii\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module[\"dynCall_viiiii\"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viji(index,a1,a2,a3,a4){var sp=stackSave();try{Module[\"dynCall_viji\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}Module.asmGlobalArg={};Module.asmLibraryArg={\"abort\":abort,\"enlargeMemory\":enlargeMemory,\"getTotalMemory\":getTotalMemory,\"abortOnCannotGrowMemory\":abortOnCannotGrowMemory,\"invoke_i\":invoke_i,\"invoke_ii\":invoke_ii,\"invoke_iii\":invoke_iii,\"invoke_iiii\":invoke_iiii,\"invoke_iiiii\":invoke_iiiii,\"invoke_iiiiii\":invoke_iiiiii,\"invoke_ji\":invoke_ji,\"invoke_v\":invoke_v,\"invoke_vi\":invoke_vi,\"invoke_vii\":invoke_vii,\"invoke_viii\":invoke_viii,\"invoke_viiii\":invoke_viiii,\"invoke_viiiii\":invoke_viiiii,\"invoke_viji\":invoke_viji,\"___assert_fail\":___assert_fail,\"___cxa_allocate_exception\":___cxa_allocate_exception,\"___cxa_begin_catch\":___cxa_begin_catch,\"___cxa_end_catch\":___cxa_end_catch,\"___cxa_find_matching_catch_2\":___cxa_find_matching_catch_2,\"___cxa_find_matching_catch_3\":___cxa_find_matching_catch_3,\"___cxa_free_exception\":___cxa_free_exception,\"___cxa_throw\":___cxa_throw,\"___lock\":___lock,\"___resumeException\":___resumeException,\"___setErrNo\":___setErrNo,\"___syscall140\":___syscall140,\"___syscall146\":___syscall146,\"___syscall54\":___syscall54,\"___syscall6\":___syscall6,\"___unlock\":___unlock,\"_abort\":_abort,\"_api_close_keyboard\":_api_close_keyboard,\"_api_create_sound\":_api_create_sound,\"_api_create_sound_float\":_api_create_sound_float,\"_api_delete_sound\":_api_delete_sound,\"_api_draw_begin\":_api_draw_begin,\"_api_draw_belt\":_api_draw_belt,\"_api_draw_blit\":_api_draw_blit,\"_api_draw_clip_text\":_api_draw_clip_text,\"_api_draw_end\":_api_draw_end,\"_api_draw_text\":_api_draw_text,\"_api_duplicate_sound\":_api_duplicate_sound,\"_api_exit_game\":_api_exit_game,\"_api_open_keyboard\":_api_open_keyboard,\"_api_play_sound\":_api_play_sound,\"_api_set_cursor\":_api_set_cursor,\"_api_set_volume\":_api_set_volume,\"_api_stop_sound\":_api_stop_sound,\"_emscripten_asm_const_ii\":_emscripten_asm_const_ii,\"_emscripten_memcpy_big\":_emscripten_memcpy_big,\"_exit\":_exit,\"_exit_error\":_exit_error,\"_get_file_contents\":_get_file_contents,\"_get_file_size\":_get_file_size,\"_pthread_getspecific\":_pthread_getspecific,\"_pthread_key_create\":_pthread_key_create,\"_pthread_once\":_pthread_once,\"_pthread_setspecific\":_pthread_setspecific,\"_put_file_contents\":_put_file_contents,\"_remove_file\":_remove_file,\"_show_alert\":_show_alert,\"_time\":_time,\"DYNAMICTOP_PTR\":DYNAMICTOP_PTR,\"STACKTOP\":STACKTOP};var asm=Module[\"asm\"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module[\"asm\"]=asm;var _DApi_Char=Module[\"_DApi_Char\"]=(function(){return Module[\"asm\"][\"_DApi_Char\"].apply(null,arguments)});var _DApi_Init=Module[\"_DApi_Init\"]=(function(){return Module[\"asm\"][\"_DApi_Init\"].apply(null,arguments)});var _DApi_Key=Module[\"_DApi_Key\"]=(function(){return Module[\"asm\"][\"_DApi_Key\"].apply(null,arguments)});var _DApi_Mouse=Module[\"_DApi_Mouse\"]=(function(){return Module[\"asm\"][\"_DApi_Mouse\"].apply(null,arguments)});var _DApi_Render=Module[\"_DApi_Render\"]=(function(){return Module[\"asm\"][\"_DApi_Render\"].apply(null,arguments)});var _DApi_SyncText=Module[\"_DApi_SyncText\"]=(function(){return Module[\"asm\"][\"_DApi_SyncText\"].apply(null,arguments)});var __GLOBAL__sub_I_msgcmd_cpp=Module[\"__GLOBAL__sub_I_msgcmd_cpp\"]=(function(){return Module[\"asm\"][\"__GLOBAL__sub_I_msgcmd_cpp\"].apply(null,arguments)});var ___cxa_can_catch=Module[\"___cxa_can_catch\"]=(function(){return Module[\"asm\"][\"___cxa_can_catch\"].apply(null,arguments)});var ___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=(function(){return Module[\"asm\"][\"___cxa_is_pointer_type\"].apply(null,arguments)});var ___em_js__api_close_keyboard=Module[\"___em_js__api_close_keyboard\"]=(function(){return Module[\"asm\"][\"___em_js__api_close_keyboard\"].apply(null,arguments)});var ___em_js__api_create_sound=Module[\"___em_js__api_create_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_create_sound\"].apply(null,arguments)});var ___em_js__api_create_sound_float=Module[\"___em_js__api_create_sound_float\"]=(function(){return Module[\"asm\"][\"___em_js__api_create_sound_float\"].apply(null,arguments)});var ___em_js__api_delete_sound=Module[\"___em_js__api_delete_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_delete_sound\"].apply(null,arguments)});var ___em_js__api_draw_begin=Module[\"___em_js__api_draw_begin\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_begin\"].apply(null,arguments)});var ___em_js__api_draw_belt=Module[\"___em_js__api_draw_belt\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_belt\"].apply(null,arguments)});var ___em_js__api_draw_blit=Module[\"___em_js__api_draw_blit\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_blit\"].apply(null,arguments)});var ___em_js__api_draw_clip_text=Module[\"___em_js__api_draw_clip_text\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_clip_text\"].apply(null,arguments)});var ___em_js__api_draw_end=Module[\"___em_js__api_draw_end\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_end\"].apply(null,arguments)});var ___em_js__api_draw_text=Module[\"___em_js__api_draw_text\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_text\"].apply(null,arguments)});var ___em_js__api_duplicate_sound=Module[\"___em_js__api_duplicate_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_duplicate_sound\"].apply(null,arguments)});var ___em_js__api_exit_game=Module[\"___em_js__api_exit_game\"]=(function(){return Module[\"asm\"][\"___em_js__api_exit_game\"].apply(null,arguments)});var ___em_js__api_open_keyboard=Module[\"___em_js__api_open_keyboard\"]=(function(){return Module[\"asm\"][\"___em_js__api_open_keyboard\"].apply(null,arguments)});var ___em_js__api_play_sound=Module[\"___em_js__api_play_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_play_sound\"].apply(null,arguments)});var ___em_js__api_set_cursor=Module[\"___em_js__api_set_cursor\"]=(function(){return Module[\"asm\"][\"___em_js__api_set_cursor\"].apply(null,arguments)});var ___em_js__api_set_volume=Module[\"___em_js__api_set_volume\"]=(function(){return Module[\"asm\"][\"___em_js__api_set_volume\"].apply(null,arguments)});var ___em_js__api_stop_sound=Module[\"___em_js__api_stop_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_stop_sound\"].apply(null,arguments)});var ___em_js__exit_error=Module[\"___em_js__exit_error\"]=(function(){return Module[\"asm\"][\"___em_js__exit_error\"].apply(null,arguments)});var ___em_js__get_file_contents=Module[\"___em_js__get_file_contents\"]=(function(){return Module[\"asm\"][\"___em_js__get_file_contents\"].apply(null,arguments)});var ___em_js__get_file_size=Module[\"___em_js__get_file_size\"]=(function(){return Module[\"asm\"][\"___em_js__get_file_size\"].apply(null,arguments)});var ___em_js__put_file_contents=Module[\"___em_js__put_file_contents\"]=(function(){return Module[\"asm\"][\"___em_js__put_file_contents\"].apply(null,arguments)});var ___em_js__remove_file=Module[\"___em_js__remove_file\"]=(function(){return Module[\"asm\"][\"___em_js__remove_file\"].apply(null,arguments)});var ___em_js__show_alert=Module[\"___em_js__show_alert\"]=(function(){return Module[\"asm\"][\"___em_js__show_alert\"].apply(null,arguments)});var ___em_js__trace_pop=Module[\"___em_js__trace_pop\"]=(function(){return Module[\"asm\"][\"___em_js__trace_pop\"].apply(null,arguments)});var ___em_js__trace_push=Module[\"___em_js__trace_push\"]=(function(){return Module[\"asm\"][\"___em_js__trace_push\"].apply(null,arguments)});var _emscripten_replace_memory=Module[\"_emscripten_replace_memory\"]=(function(){return Module[\"asm\"][\"_emscripten_replace_memory\"].apply(null,arguments)});var _free=Module[\"_free\"]=(function(){return Module[\"asm\"][\"_free\"].apply(null,arguments)});var _malloc=Module[\"_malloc\"]=(function(){return Module[\"asm\"][\"_malloc\"].apply(null,arguments)});var setTempRet0=Module[\"setTempRet0\"]=(function(){return Module[\"asm\"][\"setTempRet0\"].apply(null,arguments)});var setThrew=Module[\"setThrew\"]=(function(){return Module[\"asm\"][\"setThrew\"].apply(null,arguments)});var stackRestore=Module[\"stackRestore\"]=(function(){return Module[\"asm\"][\"stackRestore\"].apply(null,arguments)});var stackSave=Module[\"stackSave\"]=(function(){return Module[\"asm\"][\"stackSave\"].apply(null,arguments)});var dynCall_i=Module[\"dynCall_i\"]=(function(){return Module[\"asm\"][\"dynCall_i\"].apply(null,arguments)});var dynCall_ii=Module[\"dynCall_ii\"]=(function(){return Module[\"asm\"][\"dynCall_ii\"].apply(null,arguments)});var dynCall_iii=Module[\"dynCall_iii\"]=(function(){return Module[\"asm\"][\"dynCall_iii\"].apply(null,arguments)});var dynCall_iiii=Module[\"dynCall_iiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiii\"].apply(null,arguments)});var dynCall_iiiii=Module[\"dynCall_iiiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiiii\"].apply(null,arguments)});var dynCall_iiiiii=Module[\"dynCall_iiiiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiiiii\"].apply(null,arguments)});var dynCall_ji=Module[\"dynCall_ji\"]=(function(){return Module[\"asm\"][\"dynCall_ji\"].apply(null,arguments)});var dynCall_v=Module[\"dynCall_v\"]=(function(){return Module[\"asm\"][\"dynCall_v\"].apply(null,arguments)});var dynCall_vi=Module[\"dynCall_vi\"]=(function(){return Module[\"asm\"][\"dynCall_vi\"].apply(null,arguments)});var dynCall_vii=Module[\"dynCall_vii\"]=(function(){return Module[\"asm\"][\"dynCall_vii\"].apply(null,arguments)});var dynCall_viii=Module[\"dynCall_viii\"]=(function(){return Module[\"asm\"][\"dynCall_viii\"].apply(null,arguments)});var dynCall_viiii=Module[\"dynCall_viiii\"]=(function(){return Module[\"asm\"][\"dynCall_viiii\"].apply(null,arguments)});var dynCall_viiiii=Module[\"dynCall_viiiii\"]=(function(){return Module[\"asm\"][\"dynCall_viiiii\"].apply(null,arguments)});var dynCall_viji=Module[\"dynCall_viji\"]=(function(){return Module[\"asm\"][\"dynCall_viji\"].apply(null,arguments)});Module[\"asm\"]=asm;Module[\"then\"]=(function(func){if(Module[\"calledRun\"]){func(Module)}else{var old=Module[\"onRuntimeInitialized\"];Module[\"onRuntimeInitialized\"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module[\"calledRun\"])run();if(!Module[\"calledRun\"])dependenciesFulfilled=runCaller};function run(args){args=args||Module[\"arguments\"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module[\"calledRun\"])return;function doRun(){if(Module[\"calledRun\"])return;Module[\"calledRun\"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout((function(){setTimeout((function(){Module[\"setStatus\"](\"\")}),1);doRun()}),1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){if(implicit&&Module[\"noExitRuntime\"]&&status===0){return}if(Module[\"noExitRuntime\"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}Module[\"quit\"](status,new ExitStatus(status))}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=\"\"}ABORT=true;EXITSTATUS=1;throw\"abort(\"+what+\"). Build with -s ASSERTIONS=1 for more info.\"}Module[\"abort\"]=abort;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}Module[\"noExitRuntime\"]=true;run();Module[\"ready\"]=new Promise((function(resolve,reject){delete Module[\"then\"];Module[\"onAbort\"]=(function(what){reject(what)});addOnPostRun((function(){resolve(Module)}))}))\r\n\r\n\r\n\r\n\r\n\r\n return Diablo;\r\n}\r\n);\r\n})();\r\nif (typeof exports === 'object' && typeof module === 'object')\r\n module.exports = Diablo;\r\n else if (typeof define === 'function' && define['amd'])\r\n define([], function() { return Diablo; });\r\n else if (typeof exports === 'object')\r\n exports[\"Diablo\"] = Diablo;\r\n \n\n/*** EXPORTS FROM exports-loader ***/\n","module.exports = __webpack_public_path__ + \"static/media/DiabloSpawn.2755a1a7.wasm\";","\r\nvar DiabloSpawn = (function() {\r\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\r\n return (\r\nfunction(DiabloSpawn) {\r\n DiabloSpawn = DiabloSpawn || {};\r\n\r\nvar Module=typeof DiabloSpawn!==\"undefined\"?DiabloSpawn:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module[\"arguments\"]=[];Module[\"thisProgram\"]=\"./this.program\";Module[\"quit\"]=(function(status,toThrow){throw toThrow});Module[\"preRun\"]=[];Module[\"postRun\"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof require===\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+\"/\";var nodeFS;var nodePath;Module[\"read\"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require(\"fs\");if(!nodePath)nodePath=require(\"path\");filename=nodePath[\"normalize\"](filename);ret=nodeFS[\"readFileSync\"](filename);return binary?ret:ret.toString()};Module[\"readBinary\"]=function readBinary(filename){var ret=Module[\"read\"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process[\"argv\"].length>1){Module[\"thisProgram\"]=process[\"argv\"][1].replace(/\\\\/g,\"/\")}Module[\"arguments\"]=process[\"argv\"].slice(2);process[\"on\"](\"uncaughtException\",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process[\"on\"](\"unhandledRejection\",(function(reason,p){process[\"exit\"](1)}));Module[\"quit\"]=(function(status){process[\"exit\"](status)});Module[\"inspect\"]=(function(){return\"[Emscripten Module object]\"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!=\"undefined\"){Module[\"read\"]=function shell_read(f){return read(f)}}Module[\"readBinary\"]=function readBinary(f){var data;if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){Module[\"arguments\"]=scriptArgs}else if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof quit===\"function\"){Module[\"quit\"]=(function(status){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WEB){if(document.currentScript){scriptDirectory=document.currentScript.src}}else{scriptDirectory=self.location.href}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.split(\"/\").slice(0,-1).join(\"/\")+\"/\"}else{scriptDirectory=\"\"}Module[\"read\"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module[\"readBinary\"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}Module[\"readAsync\"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module[\"setWindowTitle\"]=(function(title){document.title=title})}else{}var out=Module[\"print\"]||(typeof console!==\"undefined\"?console.log.bind(console):typeof print!==\"undefined\"?print:null);var err=Module[\"printErr\"]||(typeof printErr!==\"undefined\"?printErr:typeof console!==\"undefined\"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}var asm2wasmImports={\"f64-rem\":(function(x,y){return x%y}),\"debugger\":(function(){debugger})};var functionPointers=new Array(0);var GLOBAL_BASE=1024;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}function Pointer_stringify(ptr,length){if(length===0||!ptr)return\"\";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret=\"\";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str=\"\";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}var UTF16Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module[\"buffer\"]=buffer=buf}function updateGlobalBufferViews(){Module[\"HEAP8\"]=HEAP8=new Int8Array(buffer);Module[\"HEAP16\"]=HEAP16=new Int16Array(buffer);Module[\"HEAP32\"]=HEAP32=new Int32Array(buffer);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buffer);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buffer);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buffer);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buffer);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort(\"Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value \"+TOTAL_MEMORY+\", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 \")}if(!Module[\"reallocBuffer\"])Module[\"reallocBuffer\"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module[\"usingWasm\"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module[\"reallocBuffer\"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,\"byteLength\").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module[\"TOTAL_STACK\"]||5242880;var TOTAL_MEMORY=Module[\"TOTAL_MEMORY\"]||134217728;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback();continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Module[\"dynCall_v\"](func)}else{Module[\"dynCall_vi\"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile=\"DiabloSpawn.wast\";var wasmBinaryFile=\"DiabloSpawn.wasm\";var asmjsCodeFile=\"DiabloSpawn.temp.asm.js\";if(!isDataURI(wasmTextFile)){wasmTextFile=locateFile(wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=locateFile(asmjsCodeFile)}var wasmPageSize=64*1024;var info={\"global\":null,\"env\":null,\"asm2wasm\":asm2wasmImports,\"parent\":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module[\"buffer\"];if(newBuffer.byteLength0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module[\"dynCall_vi\"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){Module[\"setThrew\"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function ___cxa_find_matching_catch_2(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_find_matching_catch_3(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module[\"___cxa_is_pointer_type\"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!(\"uncaught_exception\"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___lock(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module[\"dynCall_v\"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module[\"___errno_location\"])HEAP32[Module[\"___errno_location\"]()>>2]=value;return value}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module[\"wasmTableSize\"]=588;Module[\"wasmMaxTableSize\"]=588;function invoke_i(index){var sp=stackSave();try{return Module[\"dynCall_i\"](index)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return Module[\"dynCall_ii\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return Module[\"dynCall_iii\"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return Module[\"dynCall_iiii\"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return Module[\"dynCall_iiiii\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return Module[\"dynCall_iiiiii\"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ji(index,a1){var sp=stackSave();try{return Module[\"dynCall_ji\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_v(index){var sp=stackSave();try{Module[\"dynCall_v\"](index)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{Module[\"dynCall_vi\"](index,a1)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{Module[\"dynCall_vii\"](index,a1,a2)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{Module[\"dynCall_viii\"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{Module[\"dynCall_viiii\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module[\"dynCall_viiiii\"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viji(index,a1,a2,a3,a4){var sp=stackSave();try{Module[\"dynCall_viji\"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}Module.asmGlobalArg={};Module.asmLibraryArg={\"abort\":abort,\"enlargeMemory\":enlargeMemory,\"getTotalMemory\":getTotalMemory,\"abortOnCannotGrowMemory\":abortOnCannotGrowMemory,\"invoke_i\":invoke_i,\"invoke_ii\":invoke_ii,\"invoke_iii\":invoke_iii,\"invoke_iiii\":invoke_iiii,\"invoke_iiiii\":invoke_iiiii,\"invoke_iiiiii\":invoke_iiiiii,\"invoke_ji\":invoke_ji,\"invoke_v\":invoke_v,\"invoke_vi\":invoke_vi,\"invoke_vii\":invoke_vii,\"invoke_viii\":invoke_viii,\"invoke_viiii\":invoke_viiii,\"invoke_viiiii\":invoke_viiiii,\"invoke_viji\":invoke_viji,\"___assert_fail\":___assert_fail,\"___cxa_allocate_exception\":___cxa_allocate_exception,\"___cxa_begin_catch\":___cxa_begin_catch,\"___cxa_end_catch\":___cxa_end_catch,\"___cxa_find_matching_catch_2\":___cxa_find_matching_catch_2,\"___cxa_find_matching_catch_3\":___cxa_find_matching_catch_3,\"___cxa_free_exception\":___cxa_free_exception,\"___cxa_throw\":___cxa_throw,\"___lock\":___lock,\"___resumeException\":___resumeException,\"___setErrNo\":___setErrNo,\"___syscall140\":___syscall140,\"___syscall146\":___syscall146,\"___syscall54\":___syscall54,\"___syscall6\":___syscall6,\"___unlock\":___unlock,\"_abort\":_abort,\"_api_close_keyboard\":_api_close_keyboard,\"_api_create_sound\":_api_create_sound,\"_api_create_sound_float\":_api_create_sound_float,\"_api_delete_sound\":_api_delete_sound,\"_api_draw_begin\":_api_draw_begin,\"_api_draw_belt\":_api_draw_belt,\"_api_draw_blit\":_api_draw_blit,\"_api_draw_clip_text\":_api_draw_clip_text,\"_api_draw_end\":_api_draw_end,\"_api_draw_text\":_api_draw_text,\"_api_duplicate_sound\":_api_duplicate_sound,\"_api_exit_game\":_api_exit_game,\"_api_open_keyboard\":_api_open_keyboard,\"_api_play_sound\":_api_play_sound,\"_api_set_cursor\":_api_set_cursor,\"_api_set_volume\":_api_set_volume,\"_api_stop_sound\":_api_stop_sound,\"_emscripten_asm_const_ii\":_emscripten_asm_const_ii,\"_emscripten_memcpy_big\":_emscripten_memcpy_big,\"_exit\":_exit,\"_exit_error\":_exit_error,\"_get_file_contents\":_get_file_contents,\"_get_file_size\":_get_file_size,\"_pthread_getspecific\":_pthread_getspecific,\"_pthread_key_create\":_pthread_key_create,\"_pthread_once\":_pthread_once,\"_pthread_setspecific\":_pthread_setspecific,\"_put_file_contents\":_put_file_contents,\"_remove_file\":_remove_file,\"_show_alert\":_show_alert,\"_time\":_time,\"DYNAMICTOP_PTR\":DYNAMICTOP_PTR,\"STACKTOP\":STACKTOP};var asm=Module[\"asm\"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module[\"asm\"]=asm;var _DApi_Char=Module[\"_DApi_Char\"]=(function(){return Module[\"asm\"][\"_DApi_Char\"].apply(null,arguments)});var _DApi_Init=Module[\"_DApi_Init\"]=(function(){return Module[\"asm\"][\"_DApi_Init\"].apply(null,arguments)});var _DApi_Key=Module[\"_DApi_Key\"]=(function(){return Module[\"asm\"][\"_DApi_Key\"].apply(null,arguments)});var _DApi_Mouse=Module[\"_DApi_Mouse\"]=(function(){return Module[\"asm\"][\"_DApi_Mouse\"].apply(null,arguments)});var _DApi_Render=Module[\"_DApi_Render\"]=(function(){return Module[\"asm\"][\"_DApi_Render\"].apply(null,arguments)});var _DApi_SyncText=Module[\"_DApi_SyncText\"]=(function(){return Module[\"asm\"][\"_DApi_SyncText\"].apply(null,arguments)});var __GLOBAL__sub_I_msgcmd_cpp=Module[\"__GLOBAL__sub_I_msgcmd_cpp\"]=(function(){return Module[\"asm\"][\"__GLOBAL__sub_I_msgcmd_cpp\"].apply(null,arguments)});var ___cxa_can_catch=Module[\"___cxa_can_catch\"]=(function(){return Module[\"asm\"][\"___cxa_can_catch\"].apply(null,arguments)});var ___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=(function(){return Module[\"asm\"][\"___cxa_is_pointer_type\"].apply(null,arguments)});var ___em_js__api_close_keyboard=Module[\"___em_js__api_close_keyboard\"]=(function(){return Module[\"asm\"][\"___em_js__api_close_keyboard\"].apply(null,arguments)});var ___em_js__api_create_sound=Module[\"___em_js__api_create_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_create_sound\"].apply(null,arguments)});var ___em_js__api_create_sound_float=Module[\"___em_js__api_create_sound_float\"]=(function(){return Module[\"asm\"][\"___em_js__api_create_sound_float\"].apply(null,arguments)});var ___em_js__api_delete_sound=Module[\"___em_js__api_delete_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_delete_sound\"].apply(null,arguments)});var ___em_js__api_draw_begin=Module[\"___em_js__api_draw_begin\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_begin\"].apply(null,arguments)});var ___em_js__api_draw_belt=Module[\"___em_js__api_draw_belt\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_belt\"].apply(null,arguments)});var ___em_js__api_draw_blit=Module[\"___em_js__api_draw_blit\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_blit\"].apply(null,arguments)});var ___em_js__api_draw_clip_text=Module[\"___em_js__api_draw_clip_text\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_clip_text\"].apply(null,arguments)});var ___em_js__api_draw_end=Module[\"___em_js__api_draw_end\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_end\"].apply(null,arguments)});var ___em_js__api_draw_text=Module[\"___em_js__api_draw_text\"]=(function(){return Module[\"asm\"][\"___em_js__api_draw_text\"].apply(null,arguments)});var ___em_js__api_duplicate_sound=Module[\"___em_js__api_duplicate_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_duplicate_sound\"].apply(null,arguments)});var ___em_js__api_exit_game=Module[\"___em_js__api_exit_game\"]=(function(){return Module[\"asm\"][\"___em_js__api_exit_game\"].apply(null,arguments)});var ___em_js__api_open_keyboard=Module[\"___em_js__api_open_keyboard\"]=(function(){return Module[\"asm\"][\"___em_js__api_open_keyboard\"].apply(null,arguments)});var ___em_js__api_play_sound=Module[\"___em_js__api_play_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_play_sound\"].apply(null,arguments)});var ___em_js__api_set_cursor=Module[\"___em_js__api_set_cursor\"]=(function(){return Module[\"asm\"][\"___em_js__api_set_cursor\"].apply(null,arguments)});var ___em_js__api_set_volume=Module[\"___em_js__api_set_volume\"]=(function(){return Module[\"asm\"][\"___em_js__api_set_volume\"].apply(null,arguments)});var ___em_js__api_stop_sound=Module[\"___em_js__api_stop_sound\"]=(function(){return Module[\"asm\"][\"___em_js__api_stop_sound\"].apply(null,arguments)});var ___em_js__exit_error=Module[\"___em_js__exit_error\"]=(function(){return Module[\"asm\"][\"___em_js__exit_error\"].apply(null,arguments)});var ___em_js__get_file_contents=Module[\"___em_js__get_file_contents\"]=(function(){return Module[\"asm\"][\"___em_js__get_file_contents\"].apply(null,arguments)});var ___em_js__get_file_size=Module[\"___em_js__get_file_size\"]=(function(){return Module[\"asm\"][\"___em_js__get_file_size\"].apply(null,arguments)});var ___em_js__put_file_contents=Module[\"___em_js__put_file_contents\"]=(function(){return Module[\"asm\"][\"___em_js__put_file_contents\"].apply(null,arguments)});var ___em_js__remove_file=Module[\"___em_js__remove_file\"]=(function(){return Module[\"asm\"][\"___em_js__remove_file\"].apply(null,arguments)});var ___em_js__show_alert=Module[\"___em_js__show_alert\"]=(function(){return Module[\"asm\"][\"___em_js__show_alert\"].apply(null,arguments)});var ___em_js__trace_pop=Module[\"___em_js__trace_pop\"]=(function(){return Module[\"asm\"][\"___em_js__trace_pop\"].apply(null,arguments)});var ___em_js__trace_push=Module[\"___em_js__trace_push\"]=(function(){return Module[\"asm\"][\"___em_js__trace_push\"].apply(null,arguments)});var _emscripten_replace_memory=Module[\"_emscripten_replace_memory\"]=(function(){return Module[\"asm\"][\"_emscripten_replace_memory\"].apply(null,arguments)});var _free=Module[\"_free\"]=(function(){return Module[\"asm\"][\"_free\"].apply(null,arguments)});var _malloc=Module[\"_malloc\"]=(function(){return Module[\"asm\"][\"_malloc\"].apply(null,arguments)});var setTempRet0=Module[\"setTempRet0\"]=(function(){return Module[\"asm\"][\"setTempRet0\"].apply(null,arguments)});var setThrew=Module[\"setThrew\"]=(function(){return Module[\"asm\"][\"setThrew\"].apply(null,arguments)});var stackRestore=Module[\"stackRestore\"]=(function(){return Module[\"asm\"][\"stackRestore\"].apply(null,arguments)});var stackSave=Module[\"stackSave\"]=(function(){return Module[\"asm\"][\"stackSave\"].apply(null,arguments)});var dynCall_i=Module[\"dynCall_i\"]=(function(){return Module[\"asm\"][\"dynCall_i\"].apply(null,arguments)});var dynCall_ii=Module[\"dynCall_ii\"]=(function(){return Module[\"asm\"][\"dynCall_ii\"].apply(null,arguments)});var dynCall_iii=Module[\"dynCall_iii\"]=(function(){return Module[\"asm\"][\"dynCall_iii\"].apply(null,arguments)});var dynCall_iiii=Module[\"dynCall_iiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiii\"].apply(null,arguments)});var dynCall_iiiii=Module[\"dynCall_iiiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiiii\"].apply(null,arguments)});var dynCall_iiiiii=Module[\"dynCall_iiiiii\"]=(function(){return Module[\"asm\"][\"dynCall_iiiiii\"].apply(null,arguments)});var dynCall_ji=Module[\"dynCall_ji\"]=(function(){return Module[\"asm\"][\"dynCall_ji\"].apply(null,arguments)});var dynCall_v=Module[\"dynCall_v\"]=(function(){return Module[\"asm\"][\"dynCall_v\"].apply(null,arguments)});var dynCall_vi=Module[\"dynCall_vi\"]=(function(){return Module[\"asm\"][\"dynCall_vi\"].apply(null,arguments)});var dynCall_vii=Module[\"dynCall_vii\"]=(function(){return Module[\"asm\"][\"dynCall_vii\"].apply(null,arguments)});var dynCall_viii=Module[\"dynCall_viii\"]=(function(){return Module[\"asm\"][\"dynCall_viii\"].apply(null,arguments)});var dynCall_viiii=Module[\"dynCall_viiii\"]=(function(){return Module[\"asm\"][\"dynCall_viiii\"].apply(null,arguments)});var dynCall_viiiii=Module[\"dynCall_viiiii\"]=(function(){return Module[\"asm\"][\"dynCall_viiiii\"].apply(null,arguments)});var dynCall_viji=Module[\"dynCall_viji\"]=(function(){return Module[\"asm\"][\"dynCall_viji\"].apply(null,arguments)});Module[\"asm\"]=asm;Module[\"then\"]=(function(func){if(Module[\"calledRun\"]){func(Module)}else{var old=Module[\"onRuntimeInitialized\"];Module[\"onRuntimeInitialized\"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module[\"calledRun\"])run();if(!Module[\"calledRun\"])dependenciesFulfilled=runCaller};function run(args){args=args||Module[\"arguments\"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module[\"calledRun\"])return;function doRun(){if(Module[\"calledRun\"])return;Module[\"calledRun\"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout((function(){setTimeout((function(){Module[\"setStatus\"](\"\")}),1);doRun()}),1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){if(implicit&&Module[\"noExitRuntime\"]&&status===0){return}if(Module[\"noExitRuntime\"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}Module[\"quit\"](status,new ExitStatus(status))}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=\"\"}ABORT=true;EXITSTATUS=1;throw\"abort(\"+what+\"). Build with -s ASSERTIONS=1 for more info.\"}Module[\"abort\"]=abort;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}Module[\"noExitRuntime\"]=true;run();Module[\"ready\"]=new Promise((function(resolve,reject){delete Module[\"then\"];Module[\"onAbort\"]=(function(what){reject(what)});addOnPostRun((function(){resolve(Module)}))}))\r\n\r\n\r\n\r\n\r\n\r\n return DiabloSpawn;\r\n}\r\n);\r\n})();\r\nif (typeof exports === 'object' && typeof module === 'object')\r\n module.exports = DiabloSpawn;\r\n else if (typeof define === 'function' && define['amd'])\r\n define([], function() { return DiabloSpawn; });\r\n else if (typeof exports === 'object')\r\n exports[\"DiabloSpawn\"] = DiabloSpawn;\r\n \n\n/*** EXPORTS FROM exports-loader ***/\n","module.exports = require('./lib/axios');","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\"; // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n\n var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\"; // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n }; // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && typeof value === \"object\" && hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function (unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n } // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n\n exports.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n } // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted; // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n } // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield).\n\n context.next = delegate.nextLoc; // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n } // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n\n\n context.delegate = null;\n return ContinueSentinel;\n } // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\"; // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse(); // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n } // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n } // Return an iterator with no values.\n\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0; // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n } // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n }; // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n\n return exports;\n}( // If this script is executing as a CommonJS module, use module.exports\n// as the regeneratorRuntime namespace. Otherwise create a new empty\n// object. Either way, the resulting object will be used to initialize\n// the regeneratorRuntime variable at the top of this file.\ntypeof module === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}","'use strict';\n\nvar utils = require('./utils');\n\nvar bind = require('./helpers/bind');\n\nvar Axios = require('./core/Axios');\n\nvar mergeConfig = require('./core/mergeConfig');\n\nvar defaults = require('./defaults');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context);\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Factory for creating new instances\n\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n}; // Expose Cancel & CancelToken\n\n\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel'); // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = require('./helpers/spread');\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nmodule.exports = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n};","'use strict';\n\nvar utils = require('./../utils');\n\nvar buildURL = require('../helpers/buildURL');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n\nvar mergeConfig = require('./mergeConfig');\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n config.method = config.method ? config.method.toLowerCase() : 'get'; // Hook up interceptors middleware\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\n\nvar combineURLs = require('./../helpers/combineURLs');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Support baseURL config\n\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n } // Ensure headers exist\n\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","'use strict';\n\nvar utils = require('./../utils');\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function () {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n\n return error;\n};","'use strict';\n\nvar utils = require('./../utils'); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import DiabloBinary from './Diablo.wasm';\r\nimport DiabloModule from './Diablo.jscc';\r\nimport SpawnBinary from './DiabloSpawn.wasm';\r\nimport SpawnModule from './DiabloSpawn.jscc';\r\nimport axios from 'axios';\r\n\r\nconst DiabloSize = 1316452;\r\nconst SpawnSize = 1196648;\r\n\r\n/* eslint-disable-next-line no-restricted-globals */\r\nconst worker = self;\r\n\r\nlet canvas = null, context = null;\r\nlet imageData = null;\r\nlet files = null;\r\nlet renderBatch = null;\r\nlet drawBelt = null;\r\nlet is_spawn = false;\r\n\r\nconst ChunkSize = 1 << 20;\r\nclass RemoteFile {\r\n constructor(url) {\r\n const request = new XMLHttpRequest();\r\n request.open('HEAD', url, false);\r\n request.send();\r\n if (request.status < 200 || request.status >= 300) {\r\n worker.postMessage({action: \"error\", error: `Failed to load remote file`});\r\n }\r\n this.byteLength = parseInt(request.getResponseHeader('Content-Length'));\r\n\r\n this.url = url;\r\n\r\n this.buffer = new Uint8Array(this.byteLength);\r\n this.chunks = new Uint8Array(((this.byteLength + ChunkSize - 1) >> 20) | 0);\r\n }\r\n\r\n subarray(start, end) {\r\n let chunk0 = (start / ChunkSize) | 0;\r\n let chunk1 = ((end + ChunkSize - 1) / ChunkSize) | 0;\r\n let missing0 = chunk1, missing1 = chunk0;\r\n for (let i = chunk0; i < chunk1; ++i) {\r\n if (!this.chunks[i]) {\r\n missing0 = Math.min(missing0, i);\r\n missing1 = Math.max(missing1, i);\r\n }\r\n }\r\n if (missing0 <= missing1) {\r\n const request = new XMLHttpRequest();\r\n request.open('GET', this.url, false);\r\n request.setRequestHeader('Range', `bytes=${missing0 * ChunkSize}-${Math.min(missing1 * ChunkSize + ChunkSize - 1, this.byteLength - 1)}`);\r\n request.responseType = 'arraybuffer';\r\n request.send();\r\n if (request.status < 200 || request.status >= 300) {\r\n worker.postMessage({action: \"error\", error: `Failed to load remote file`});\r\n } else {\r\n const header = request.getResponseHeader('Content-Range');\r\n let m, start = 0;\r\n if (header && (m = header.match(/bytes (\\d+)-(\\d+)\\/(\\d+)/))) {\r\n start = parseInt(m[1]);\r\n }\r\n this.buffer.set(new Uint8Array(request.response), start);\r\n chunk0 = ((start + ChunkSize - 1) / ChunkSize) | 0;\r\n chunk1 = ((start + request.response.byteLength + ChunkSize - 1) / ChunkSize) | 0;\r\n for (let i = chunk0; i < chunk1; ++i) {\r\n this.chunks[i] = 1;\r\n }\r\n }\r\n }\r\n return this.buffer.subarray(start, end);\r\n }\r\n}\r\n\r\nconst DApi = {\r\n exit_error(error) {\r\n worker.postMessage({action: \"error\", error});\r\n },\r\n\r\n exit_game() {\r\n worker.postMessage({action: \"exit\"});\r\n },\r\n current_save_id(id) {\r\n worker.postMessage({action: \"current_save\", name: id >= 0 ? (is_spawn ? `spawn${id}.sv` : `single_${id}.sv`) : null});\r\n },\r\n\r\n get_file_size(path) {\r\n const data = files.get(path.toLowerCase());\r\n return data ? data.byteLength : 0;\r\n },\r\n get_file_contents(path, array, offset) {\r\n const data = files.get(path.toLowerCase());\r\n if (data) {\r\n array.set(data.subarray(offset, offset + array.byteLength));\r\n }\r\n },\r\n put_file_contents(path, array) {\r\n path = path.toLowerCase();\r\n // if (!path.match(/^(spawn\\d+\\.sv|single_\\d+\\.sv|config\\.ini)$/i)) {\r\n // alert(`Bad file name: ${path}`);\r\n // }\r\n files.set(path, array);\r\n worker.postMessage({action: \"fs\", func: \"update\", params: [path, array]});\r\n },\r\n remove_file(path) {\r\n path = path.toLowerCase();\r\n files.delete(path);\r\n worker.postMessage({action: \"fs\", func: \"delete\", params: [path]});\r\n },\r\n\r\n set_cursor(x, y) {\r\n worker.postMessage({action: \"cursor\", x, y});\r\n },\r\n open_keyboard(...args) {\r\n worker.postMessage({action: \"keyboard\", rect: [...args]});\r\n },\r\n close_keyboard() {\r\n worker.postMessage({action: \"keyboard\", rect: null});\r\n },\r\n};\r\n\r\nlet frameTime = 0, lastTime = 0;\r\nfunction getFPS() {\r\n const time = performance.now();\r\n if (!lastTime) {\r\n lastTime = time;\r\n }\r\n frameTime = 0.9 * frameTime + 0.1 * (time - lastTime);\r\n lastTime = time;\r\n return frameTime ? 1000.0 / frameTime : 0.0;\r\n}\r\n\r\nconst DApi_renderLegacy = {\r\n draw_begin() {\r\n renderBatch = {\r\n images: [],\r\n text: [],\r\n clip: null,\r\n belt: drawBelt,\r\n };\r\n drawBelt = null;\r\n },\r\n draw_blit(x, y, w, h, data) {\r\n renderBatch.images.push({x, y, w, h, data: data.slice()});\r\n },\r\n draw_clip_text(x0, y0, x1, y1) {\r\n renderBatch.clip = {x0, y0, x1, y1};\r\n },\r\n draw_text(x, y, text, color) {\r\n renderBatch.text.push({x, y, text, color});\r\n },\r\n draw_end() {\r\n //DApi.draw_text(10, 10, `FPS: ${getFPS().toFixed(1)} (Transfer)`, 0xFFCC00);\r\n const transfer = renderBatch.images.map(({data}) => data.buffer);\r\n if (renderBatch.belt) {\r\n transfer.push(renderBatch.belt.buffer);\r\n }\r\n worker.postMessage({action: \"render\", batch: renderBatch}, transfer);\r\n renderBatch = null;\r\n },\r\n draw_belt(items) {\r\n drawBelt = items.slice();\r\n },\r\n};\r\n\r\nconst DApi_renderOffscreen = {\r\n draw_begin() {\r\n context.save();\r\n context.font = 'bold 13px Times New Roman';\r\n },\r\n draw_blit(x, y, w, h, data) {\r\n imageData.data.set(data);\r\n context.putImageData(imageData, x, y);\r\n },\r\n draw_clip_text(x0, y0, x1, y1) {\r\n context.beginPath();\r\n context.rect(x0, y0, x1 - x0, y1 - y0);\r\n context.clip();\r\n },\r\n draw_text(x, y, text, color) {\r\n const r = ((color >> 16) & 0xFF);\r\n const g = ((color >> 8) & 0xFF);\r\n const b = (color & 0xFF);\r\n context.fillStyle = `rgb(${r}, ${g}, ${b})`;\r\n context.fillText(text, x, y + 22);\r\n },\r\n draw_end() {\r\n //DApi.draw_text(10, 10, `FPS: ${getFPS().toFixed(1)} (Offscreen)`, 0xFFCC00);\r\n context.restore();\r\n const bitmap = canvas.transferToImageBitmap();\r\n const transfer = [bitmap];\r\n if (drawBelt) {\r\n transfer.push(drawBelt.buffer);\r\n }\r\n worker.postMessage({action: \"render\", batch: {bitmap, belt: drawBelt}}, transfer);\r\n drawBelt = null;\r\n },\r\n draw_belt(items) {\r\n drawBelt = items.slice();\r\n },\r\n};\r\n\r\nlet audioBatch = null, audioTransfer = null;\r\nlet maxSoundId = 0, maxBatchId = 0;\r\n[\"create_sound_raw\", \"create_sound\", \"duplicate_sound\"].forEach(func => {\r\n DApi[func] = function(...params) {\r\n if (audioBatch) {\r\n maxBatchId = params[0] + 1;\r\n audioBatch.push({func, params});\r\n if (func !== \"duplicate_sound\") {\r\n audioTransfer.push(params[1].buffer);\r\n }\r\n } else {\r\n maxSoundId = params[0] + 1;\r\n const transfer = [];\r\n if (func !== \"duplicate_sound\") {\r\n transfer.push(params[1].buffer);\r\n }\r\n worker.postMessage({action: \"audio\", func, params}, transfer);\r\n }\r\n };\r\n});\r\n[\"play_sound\", \"set_volume\", \"stop_sound\", \"delete_sound\"].forEach(func => {\r\n DApi[func] = function(...params) {\r\n if (audioBatch && params[0] >= maxSoundId) {\r\n audioBatch.push({func, params});\r\n } else {\r\n worker.postMessage({action: \"audio\", func, params});\r\n }\r\n }\r\n});\r\n\r\nworker.DApi = DApi;\r\n\r\nlet wasm = null;\r\n\r\nfunction call_api(func, ...params) {\r\n try {\r\n audioBatch = [];\r\n audioTransfer = [];\r\n wasm[\"_\" + func](...params);\r\n if (audioBatch.length) {\r\n maxSoundId = maxBatchId;\r\n worker.postMessage({action: \"audioBatch\", batch: audioBatch}, audioTransfer);\r\n audioBatch = null;\r\n audioTransfer = null;\r\n }\r\n } catch (e) {\r\n if (typeof e === \"string\") {\r\n worker.postMessage({action: \"\"})\r\n }\r\n worker.postMessage({action: \"error\", error: e.toString(), stack: e.stack});\r\n }\r\n}\r\n\r\nfunction progress(text, loaded, total) {\r\n worker.postMessage({action: \"progress\", text, loaded, total});\r\n}\r\n\r\nconst readFile = (file, progress) => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n if (progress) {\r\n progress({loaded: file.size});\r\n }\r\n resolve(reader.result);\r\n };\r\n reader.onerror = () => reject(reader.error);\r\n reader.onabort = () => reject();\r\n if (progress) {\r\n reader.addEventListener(\"progress\", progress);\r\n }\r\n reader.readAsArrayBuffer(file);\r\n});\r\n\r\nasync function initWasm(spawn, progress) {\r\n const binary = await axios.request({\r\n url: spawn ? SpawnBinary : DiabloBinary,\r\n responseType: 'arraybuffer',\r\n onDownloadProgress: progress,\r\n });\r\n const result = await (spawn ? SpawnModule : DiabloModule)({wasmBinary: binary.data}).ready;\r\n progress({loaded: 2000000});\r\n return result;\r\n}\r\n\r\nasync function init_game(mpq, spawn, offscreen) {\r\n is_spawn = spawn;\r\n if (offscreen) {\r\n canvas = new OffscreenCanvas(640, 480);\r\n context = canvas.getContext(\"2d\");\r\n imageData = context.createImageData(640, 480);\r\n Object.assign(DApi, DApi_renderOffscreen);\r\n } else {\r\n Object.assign(DApi, DApi_renderLegacy);\r\n }\r\n\r\n if (!mpq) {\r\n const name = (spawn ? 'spawn.mpq' : 'diabdat.mpq');\r\n if (!files.has(name)) {\r\n // This should never happen, but we do support remote loading\r\n files.set(name, new RemoteFile(`${process.env.PUBLIC_URL}/${name}`));\r\n }\r\n }\r\n\r\n progress(\"Loading...\");\r\n let mpqLoaded = 0, mpqTotal = (mpq ? mpq.size : 0), wasmLoaded = 0, wasmTotal = (spawn ? SpawnSize : DiabloSize);\r\n const wasmWeight = 5;\r\n function updateProgress() {\r\n progress(\"Loading...\", mpqLoaded + wasmLoaded * wasmWeight, mpqTotal + wasmTotal * wasmWeight);\r\n }\r\n const loadWasm = initWasm(spawn, e => {\r\n wasmLoaded = Math.min(e.loaded, wasmTotal);\r\n updateProgress();\r\n });\r\n let loadMpq = mpq ? readFile(mpq, e => {\r\n mpqLoaded = e.loaded;\r\n updateProgress();\r\n }) : Promise.resolve(null);\r\n [wasm, mpq] = await Promise.all([loadWasm, loadMpq]);\r\n\r\n if (mpq) {\r\n files.set(spawn ? 'spawn.mpq' : 'diabdat.mpq', new Uint8Array(mpq));\r\n }\r\n\r\n progress(\"Initializing...\");\r\n\r\n const vers = process.env.VERSION.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\r\n\r\n wasm._DApi_Init(Math.floor(performance.now()), offscreen ? 1 : 0, parseInt(vers[1]), parseInt(vers[2]), parseInt(vers[3]));\r\n\r\n setInterval(() => {\r\n call_api(\"DApi_Render\", Math.floor(performance.now())); \r\n }, 50);\r\n}\r\n\r\nworker.addEventListener(\"message\", ({data}) => {\r\n switch (data.action) {\r\n case \"init\":\r\n files = data.files;\r\n init_game(data.mpq, data.spawn, data.offscreen).then(\r\n () => worker.postMessage({action: \"loaded\"}),\r\n e => worker.postMessage({action: \"failed\", error: e.toString(), stack: e.stack}));\r\n break;\r\n case \"event\":\r\n call_api(data.func, ...data.params);\r\n break;\r\n }\r\n});\r\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/asset-manifest.json b/asset-manifest.json index 9d1ef05..fed469e 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -3,8 +3,8 @@ "static/js/0.54f3d658.chunk.js": "/diabloweb/static/js/0.54f3d658.chunk.js", "static/js/0.54f3d658.chunk.js.map": "/diabloweb/static/js/0.54f3d658.chunk.js.map", "main.css": "/diabloweb/static/css/main.e49ccae7.chunk.css", - "main.js": "/diabloweb/static/js/main.bcd376ae.chunk.js", - "main.js.map": "/diabloweb/static/js/main.bcd376ae.chunk.js.map", + "main.js": "/diabloweb/static/js/main.4bf04ab4.chunk.js", + "main.js.map": "/diabloweb/static/js/main.4bf04ab4.chunk.js.map", "runtime~main.js": "/diabloweb/static/js/runtime~main.bf17ce54.js", "runtime~main.js.map": "/diabloweb/static/js/runtime~main.bf17ce54.js.map", "runtime~storage.js": "/diabloweb/static/js/runtime~storage.83a78cef.js", @@ -13,14 +13,14 @@ "storage.js.map": "/diabloweb/static/js/storage.d9050d9b.chunk.js.map", "static/js/5.473ccc28.chunk.js": "/diabloweb/static/js/5.473ccc28.chunk.js", "static/js/5.473ccc28.chunk.js.map": "/diabloweb/static/js/5.473ccc28.chunk.js.map", - "815a4c1de37951a017c2.worker.js": "/diabloweb/815a4c1de37951a017c2.worker.js", - "815a4c1de37951a017c2.worker.js.map": "/diabloweb/815a4c1de37951a017c2.worker.js.map", + "6aa26238cc9e8b6852cd.worker.js": "/diabloweb/6aa26238cc9e8b6852cd.worker.js", + "6aa26238cc9e8b6852cd.worker.js.map": "/diabloweb/6aa26238cc9e8b6852cd.worker.js.map", "index.html": "/diabloweb/index.html", - "precache-manifest.9770641dd227483adbc05ead5b31cbd9.js": "/diabloweb/precache-manifest.9770641dd227483adbc05ead5b31cbd9.js", + "precache-manifest.39e1818522dd8c2b9cdf3e74a041e226.js": "/diabloweb/precache-manifest.39e1818522dd8c2b9cdf3e74a041e226.js", "service-worker.js": "/diabloweb/service-worker.js", "static/css/main.e49ccae7.chunk.css.map": "/diabloweb/static/css/main.e49ccae7.chunk.css.map", - "static/media/Diablo.wasm": "/diabloweb/static/media/Diablo.b852e747.wasm", - "static/media/DiabloSpawn.wasm": "/diabloweb/static/media/DiabloSpawn.2f791d70.wasm", + "static/media/Diablo.wasm": "/diabloweb/static/media/Diablo.283757c2.wasm", + "static/media/DiabloSpawn.wasm": "/diabloweb/static/media/DiabloSpawn.2755a1a7.wasm", "static/media/App.scss": "/diabloweb/static/media/shift.b40e4a63.svg", "storage.html": "/diabloweb/storage.html" } diff --git a/index.html b/index.html index 8496905..ae38b5b 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -DIABLO
\ No newline at end of file +DIABLO
\ No newline at end of file diff --git a/precache-manifest.9770641dd227483adbc05ead5b31cbd9.js b/precache-manifest.39e1818522dd8c2b9cdf3e74a041e226.js similarity index 69% rename from precache-manifest.9770641dd227483adbc05ead5b31cbd9.js rename to precache-manifest.39e1818522dd8c2b9cdf3e74a041e226.js index 9a56e62..3b1afa3 100644 --- a/precache-manifest.9770641dd227483adbc05ead5b31cbd9.js +++ b/precache-manifest.39e1818522dd8c2b9cdf3e74a041e226.js @@ -1,14 +1,14 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ { - "revision": "6aa06539aef8ff78009f083bbc99fc29", - "url": "/diabloweb/815a4c1de37951a017c2.worker.js" + "revision": "4c496dba174c84274106cc964e991da5", + "url": "/diabloweb/6aa26238cc9e8b6852cd.worker.js" }, { - "revision": "a8994d6269f8b8e9e734dd0f7934e110", + "revision": "d9824e32c33471a01d91f8993092d3b8", "url": "/diabloweb/index.html" }, { - "revision": "816a37973cbbb0411514", + "revision": "736f09dd107baace12d6", "url": "/diabloweb/static/css/main.e49ccae7.chunk.css" }, { @@ -20,8 +20,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/diabloweb/static/js/5.473ccc28.chunk.js" }, { - "revision": "816a37973cbbb0411514", - "url": "/diabloweb/static/js/main.bcd376ae.chunk.js" + "revision": "736f09dd107baace12d6", + "url": "/diabloweb/static/js/main.4bf04ab4.chunk.js" }, { "revision": "077fe45e700d7971de0b", @@ -36,12 +36,12 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/diabloweb/static/js/storage.d9050d9b.chunk.js" }, { - "revision": "b852e747df432e6fce10bec6144d0d8e", - "url": "/diabloweb/static/media/Diablo.b852e747.wasm" + "revision": "283757c2e21691c202aa8f2ef27d96bd", + "url": "/diabloweb/static/media/Diablo.283757c2.wasm" }, { - "revision": "2f791d70988514eb5a636fa8e8730703", - "url": "/diabloweb/static/media/DiabloSpawn.2f791d70.wasm" + "revision": "2755a1a7a143287acc276c0e710cfadf", + "url": "/diabloweb/static/media/DiabloSpawn.2755a1a7.wasm" }, { "revision": "ddc5d817712fdde5a23034ba0b719c78", diff --git a/service-worker.js b/service-worker.js index d94ac12..0d87fa8 100644 --- a/service-worker.js +++ b/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/diabloweb/precache-manifest.9770641dd227483adbc05ead5b31cbd9.js" + "/diabloweb/precache-manifest.39e1818522dd8c2b9cdf3e74a041e226.js" ); self.addEventListener('message', (event) => { diff --git a/static/js/main.bcd376ae.chunk.js b/static/js/main.4bf04ab4.chunk.js similarity index 99% rename from static/js/main.bcd376ae.chunk.js rename to static/js/main.4bf04ab4.chunk.js index dce5934..6fbd90c 100644 --- a/static/js/main.bcd376ae.chunk.js +++ b/static/js/main.4bf04ab4.chunk.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{25:function(e,t,n){e.exports=function(){return new Worker(n.p+"815a4c1de37951a017c2.worker.js")}},30:function(e,t,n){e.exports=n(62)},36:function(e,t,n){},37:function(e,t,n){},62:function(e,t,n){"use strict";n.r(t);var a=n(0),o=n.n(a),r=n(21),s=n.n(r),i=(n(36),Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));function c(e,t){navigator.serviceWorker.register(e).then(function(e){e.onupdatefound=function(){var n=e.installing;null!=n&&(n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?(console.log("New content is available and will be used when all tabs for this page are closed. See https://bit.ly/CRA-PWA."),t&&t.onUpdate&&t.onUpdate(e)):(console.log("Content is cached for offline use."),t&&t.onSuccess&&t.onSuccess(e)))})}}).catch(function(e){console.error("Error during service worker registration:",e)})}var u=n(6),l=n(22),d=n(23),h=n(27),f=n(24),v=n(5),p=n(28),m=n(29),b=(n(37),n(7)),y=n.n(b),g=n(11),w=n(9),k=n(1),x=n.n(k),E=n(4),M=n(2),C=n(25),D=n.n(C);var T=n(26),B=n.n(T),P=50274091;function L(e,t){return _.apply(this,arguments)}function _(){return(_=Object(M.a)(x.a.mark(function e(t,n){var a,o,r;return x.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(a=n.files.get("spawn.mpq"))||a.byteLength===P){e.next=6;break}return n.files.delete("spawn.mpq"),e.next=5,n.delete("spawn.mpq");case 5:a=null;case 6:if(a){e.next=15;break}return e.next=9,B.a.request({url:"/diabloweb/spawn.mpq",responseType:"arraybuffer",onDownloadProgress:function(e){t.onProgress&&t.onProgress({text:"Downloading...",loaded:e.loaded,total:e.total||P})},headers:{"Cache-Control":"max-age=31536000"}});case 9:if((o=e.sent).data.byteLength===P){e.next=12;break}throw Error("Invalid spawn.mpq size. Try clearing cache and refreshing the page.");case 12:r=new Uint8Array(o.data),n.files.set("spawn.mpq",r),n.update("spawn.mpq",r.slice());case 15:return e.abrupt("return",n);case 16:case"end":return e.stop()}},e)}))).apply(this,arguments)}function S(e,t,n){var a=n.bitmap,o=n.images,r=n.text,s=n.clip,i=n.belt;if(a)t.transferFromImageBitmap(a);else{var c=!0,u=!1,l=void 0;try{for(var d,h=o[Symbol.iterator]();!(c=(d=h.next()).done);c=!0){var f=d.value,v=f.x,p=f.y,m=f.w,b=f.h,y=f.data,g=t.createImageData(m,b);g.data.set(y),t.putImageData(g,v,p)}}catch(K){u=!0,l=K}finally{try{c||null==h.return||h.return()}finally{if(u)throw l}}if(r.length){if(t.save(),t.font="bold 13px Times New Roman",s){var w=s.x0,k=s.y0,x=s.x1,E=s.y1;t.beginPath(),t.rect(w,k,x-w,E-k),t.clip()}var M=!0,C=!1,D=void 0;try{for(var T,B=r[Symbol.iterator]();!(M=(T=B.next()).done);M=!0){var P=T.value,L=P.x,_=P.y,S=P.text,A=P.color,j=A>>16&255,O=A>>8&255,N=255&A;t.fillStyle="rgb(".concat(j,", ").concat(O,", ").concat(N,")"),t.fillText(S,L,_+22)}}catch(K){C=!0,D=K}finally{try{M||null==B.return||B.return()}finally{if(C)throw D}}t.restore()}}e.updateBelt(i)}function A(){return(A=Object(M.a)(x.a.mark(function e(t,n,a,o){var r,s,i;return x.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.fs;case 2:if(r=e.sent,!o||a){e.next=6;break}return e.next=6,L(t,r);case 6:return s=null,i=!1,s=t.canvas.getContext("2d",{alpha:!1}),e.next=10,new Promise(function(e,c){try{var l=new D.a;l.addEventListener("message",function(a){var o=a.data;switch(o.action){case"loaded":e(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a=32&&1===e.key.length&&!n.showKeyboard&&n.game("DApi_Char",e.key.charCodeAt(0)),n.clearKeySel(),n.showKeyboard||(8===e.keyCode||e.keyCode>=112&&e.keyCode<=119)&&e.preventDefault())},n.onMenu=function(e){e.preventDefault()},n.onKeyUp=function(e){n.canvas&&(n.game("DApi_Key",1,n.eventMods(e),e.keyCode),n.clearKeySel())},n.onKeyboard=function(){if(n.showKeyboard){var e,t=n.keyboard.value,a=(t.match(/[\x20-\x7E]/g)||[]).join("").substring(0,15);t!==a&&(n.keyboard.value=a),n.clearKeySel();var o=Object(u.a)(Array(15)).map(function(e,t){return t0&&n.start(t[0])},n.touchButton=null,n.touchCanvas=null,n.onTouchStart=function(e){if(n.canvas&&e.target!==n.keyboard&&(e.preventDefault(),n.updateTouchButton(e.touches,!1))){var t=n.mousePos(n.touchCanvas),a=t.x,o=t.y;n.game("DApi_Mouse",0,0,n.eventMods(e),a,o),n.touchMods[N]||n.game("DApi_Mouse",1,n.touchMods[K]?2:1,n.eventMods(e),a,o)}},n.onTouchMove=function(e){if(n.canvas&&e.target!==n.keyboard&&(e.preventDefault(),n.updateTouchButton(e.touches,!1))){var t=n.mousePos(n.touchCanvas),a=t.x,o=t.y;n.game("DApi_Mouse",0,0,n.eventMods(e),a,o)}},n.onTouchEnd=function(e){if(n.canvas&&e.target!==n.keyboard){e.preventDefault();var t=n.touchCanvas;if(n.updateTouchButton(e.touches,!0),t&&!n.touchCanvas){var a=n.mousePos(t),o=a.x,r=a.y;n.game("DApi_Mouse",2,1,n.eventMods(e),o,r),n.game("DApi_Mouse",2,2,n.eventMods(e),o,r),!n.touchMods[K]||n.touchButton&&n.touchButton.index===K||n.setTouchButton(K,!1)}document.fullscreenElement||n.element.requestFullscreen()}},n.setCanvas=function(e){return n.canvas=e},n.setElement=function(e){return n.element=e},n.setKeyboard=function(e){return n.keyboard=e},n.setTouch0=n.setTouch_.bind(Object(v.a)(n),0),n.setTouch1=n.setTouch_.bind(Object(v.a)(n),1),n.setTouch2=n.setTouch_.bind(Object(v.a)(n),2),n.setTouch3=n.setTouchBelt_.bind(Object(v.a)(n),3),n.setTouch4=n.setTouchBelt_.bind(Object(v.a)(n),4),n.setTouch5=n.setTouchBelt_.bind(Object(v.a)(n),5),n}return Object(p.a)(t,e),Object(d.a)(t,[{key:"componentDidMount",value:function(){var e=this;document.addEventListener("drop",this.onDrop,!0),document.addEventListener("dragover",this.onDragOver,!0),document.addEventListener("dragenter",this.onDragEnter,!0),document.addEventListener("dragleave",this.onDragLeave,!0),this.fs.then(function(t){var n=t.files.get("spawn.mpq");n&&n.byteLength===P&&e.setState({has_spawn:!0})})}},{key:"setDropping",value:function(e){this.setState(function(t){var n=t.dropping;return{dropping:Math.max(n+e,0)}})}},{key:"onError",value:function(e,t){this.setState(function(n){return!n.error&&{error:{message:e,stack:t}}})}},{key:"openKeyboard",value:function(e){e?(this.showKeyboard={left:"".concat((100*(e[0]-10)/640).toFixed(2),"%"),top:"".concat((100*(e[1]-10)/480).toFixed(2),"%"),width:"".concat((100*(e[2]-e[0]+20)/640).toFixed(2),"%"),height:"".concat((100*(e[3]-e[1]+20)/640).toFixed(2),"%")},this.element.classList.add("keyboard"),Object.assign(this.keyboard.style,this.showKeyboard),this.keyboard.focus()):(this.showKeyboard=!1,this.element.classList.remove("keyboard"),this.keyboard.blur(),this.keyboard.value="")}},{key:"setCursorPos",value:function(e,t){var n=this,a=this.canvas.getBoundingClientRect();this.cursorPos={x:a.left+(a.right-a.left)*e/640,y:a.top+(a.bottom-a.top)*t/480},setTimeout(function(){n.game("DApi_Mouse",0,0,0,e,t)})}},{key:"onProgress",value:function(e){this.setState({progress:e})}},{key:"onExit",value:function(){this.state.error||window.location.reload()}},{key:"setCurrentSave",value:function(e){this.saveName=e}},{key:"drawBelt",value:function(e,t){this.canvas&&this.touchButtons[e]&&(this.touchBelt[e]=t,t>=0?(this.touchButtons[e].style.display="block",this.touchCtx[e].drawImage(this.canvas,205+29*t,357,28,28,0,0,28,28)):this.touchButtons[e].style.display="none")}},{key:"updateBelt",value:function(e){if(e){for(var t=new Set,n=3,a=0;a=0&&!t.has(e[a])&&(this.drawBelt(n++,a),t.add(e[a]));for(;n<6;++n)this.drawBelt(n,-1)}else this.drawBelt(3,-1),this.drawBelt(4,-1),this.drawBelt(5,-1)}},{key:"start",value:function(e){var t=this;if(e&&e.name.match(/\.sv$/i))this.fs.then(function(t){return t.upload(e)}).then(console.log("Updated ".concat(e.name)));else{document.removeEventListener("drop",this.onDrop,!0),document.removeEventListener("dragover",this.onDragOver,!0),document.removeEventListener("dragenter",this.onDragEnter,!0),document.removeEventListener("dragleave",this.onDragLeave,!0),this.setState({dropping:0});var n=!(!e||!e.name.match(/^diabdat\.mpq$/i));g.a.event({category:"Game",action:n?"Start Retail":"Start Shareware"}),this.setState({loading:!0,retail:n}),j(this,e,!n).then(function(e){t.game=e,document.addEventListener("mousemove",t.onMouseMove,!0),document.addEventListener("mousedown",t.onMouseDown,!0),document.addEventListener("mouseup",t.onMouseUp,!0),document.addEventListener("keydown",t.onKeyDown,!0),document.addEventListener("keyup",t.onKeyUp,!0),document.addEventListener("contextmenu",t.onMenu,!0),document.addEventListener("touchstart",t.onTouchStart,{passive:!1,capture:!0}),document.addEventListener("touchmove",t.onTouchMove,{passive:!1,capture:!0}),document.addEventListener("touchend",t.onTouchEnd,{passive:!1,capture:!0}),document.addEventListener("pointerlockchange",t.onPointerLockChange),window.addEventListener("resize",t.onResize),t.setState({started:!0})},function(e){return t.onError(e.message,e.stack)})}}},{key:"pointerLocked",value:function(){return document.pointerLockElement===this.canvas||document.mozPointerLockElement===this.canvas}},{key:"mousePos",value:function(e){var t=this.canvas.getBoundingClientRect();return this.pointerLocked()?(this.cursorPos.x=Math.max(t.left,Math.min(t.right,this.cursorPos.x+e.movementX)),this.cursorPos.y=Math.max(t.top,Math.min(t.bottom,this.cursorPos.y+e.movementY))):this.cursorPos={x:e.clientX,y:e.clientY},{x:Math.max(0,Math.min(Math.round((this.cursorPos.x-t.left)/(t.right-t.left)*640),639)),y:Math.max(0,Math.min(Math.round((this.cursorPos.y-t.top)/(t.bottom-t.top)*480),479))}}},{key:"mouseButton",value:function(e){switch(e.button){case 0:return 1;case 1:return 4;case 2:return 2;case 3:return 5;case 4:return 6;default:return 1}}},{key:"eventMods",value:function(e){return(e.shiftKey||this.touchMods[2]?1:0)+(e.ctrlKey?2:0)+(e.altKey?4:0)+(e.touches?8:0)}},{key:"clearKeySel",value:function(){if(this.showKeyboard){var e=this.keyboard.value.length;this.keyboard.setSelectionRange(e,e)}}},{key:"setTouchMod",value:function(e,t,n){if(e<3)this.touchMods[e]=t,this.touchButtons[e]&&this.touchButtons[e].classList.toggle("active",t);else if(n&&this.touchBelt[e]>=0){var a=performance.now();(!this.beltTime||a-this.beltTime>750)&&(this.game("DApi_Char",49+this.touchBelt[e]),this.beltTime=a)}}},{key:"updateTouchButton",value:function(e,t){var n=this,a=null;this.touchControls||(this.touchControls=!0,this.element.classList.add("touch"));var o=this.touchButton,r=!0,s=!1,i=void 0;try{for(var c,l=function(){var t=c.value,r=t.target,s=t.identifier,i=t.clientX,l=t.clientY;if(o&&o.id===s&&n.touchButtons[o.index]===r)return e.length>1&&(o.stick=!1),o.clientX=i,o.clientY=l,n.touchCanvas=Object(u.a)(e).find(function(e){return e.identifier!==s}),n.touchCanvas&&(n.touchCanvas={clientX:n.touchCanvas.clientX,clientY:n.touchCanvas.clientY}),delete n.panPos,{v:null!=n.touchCanvas};var d=n.touchButtons.indexOf(r);d>=0&&!a&&(a={id:s,index:d,stick:!0,original:n.touchMods[d],clientX:i,clientY:l})},d=e[Symbol.iterator]();!(r=(c=d.next()).done);r=!0){var h=l();if("object"===typeof h)return h.v}}catch(x){s=!0,i=x}finally{try{r||null==d.return||d.return()}finally{if(s)throw i}}if(o&&!a&&t&&o.stick){var f=this.touchButtons[o.index].getBoundingClientRect(),v=o.clientX,p=o.clientY;v>=f.left&&v=f.top&&pk)y=Math.abs(g)>Math.abs(w)?g>0?37:39:w>0?38:40,this.game("DApi_Key",0,0,y),this.panPos={x:m,y:b}}else this.game("DApi_Mouse",0,0,24,320,180),this.game("DApi_Mouse",2,1,24,320,180),this.panPos={x:m,y:b};return this.touchCanvas=null,!1}delete this.panPos}return this.touchCanvas=Object(u.a)(e).find(function(e){return!a||e.identifier!==a.id}),this.touchCanvas&&(this.touchCanvas={clientX:this.touchCanvas.clientX,clientY:this.touchCanvas.clientY}),null!=this.touchCanvas}},{key:"setTouch_",value:function(e,t){this.touchButtons[e]=t}},{key:"setTouchBelt_",value:function(e,t){if(this.touchButtons[e]=t,t){var n=document.createElement("canvas");n.width=28,n.height=28,t.appendChild(n),this.touchCtx[e]=n.getContext("2d")}else this.touchCtx[e]=null}},{key:"render",value:function(){var e=this,t=this.state,n=t.started,a=t.loading,r=t.error,s=t.progress,i=t.dropping,c=(t.touch,t.has_spawn);return o.a.createElement("div",{className:y()("App",{touch:this.touchControls,started:n,dropping:i,keyboard:!!this.showKeyboard}),ref:this.setElement},o.a.createElement("div",{className:"touch-ui touch-mods"},o.a.createElement("div",{className:y()("touch-button","touch-button-0",{active:this.touchMods[0]}),ref:this.setTouch0}),o.a.createElement("div",{className:y()("touch-button","touch-button-1",{active:this.touchMods[1]}),ref:this.setTouch1}),o.a.createElement("div",{className:y()("touch-button","touch-button-2",{active:this.touchMods[2]}),ref:this.setTouch2})),o.a.createElement("div",{className:"touch-ui touch-belt"},o.a.createElement("div",{className:y()("touch-button","touch-button-0"),ref:this.setTouch3}),o.a.createElement("div",{className:y()("touch-button","touch-button-1"),ref:this.setTouch4}),o.a.createElement("div",{className:y()("touch-button","touch-button-2"),ref:this.setTouch5})),o.a.createElement("div",{className:"Body"},o.a.createElement("div",{className:"inner"},!r&&o.a.createElement("canvas",{ref:this.setCanvas,width:640,height:480}),o.a.createElement("input",{type:"text",className:"keyboard",onChange:this.onKeyboard,ref:this.setKeyboard,spellCheck:!1,style:this.showKeyboard||{}}))),o.a.createElement("div",{className:"BodyV"},!!r&&o.a.createElement(R,{className:"error",href:O(r,this.state.retail)},o.a.createElement("p",{className:"header"},"The following error has occurred:"),o.a.createElement("p",{className:"body"},r.message),o.a.createElement("p",{className:"footer"},"Click to create an issue on GitHub"),null!=this.saveName&&o.a.createElement("p",{className:"link",onClick:this.downloadSave},"Download save file")),!!a&&!n&&!r&&o.a.createElement("div",{className:"loading"},s&&s.text||"Loading...",null!=s&&!!s.total&&o.a.createElement("span",{className:"progressBar"},o.a.createElement("span",null,o.a.createElement("span",{style:{width:"".concat(Math.round(100*s.loaded/s.total),"%")}})))),!n&&!a&&!r&&o.a.createElement("div",{className:"start"},o.a.createElement("p",null,"This is a web port of the original Diablo game, based on source code reconstructed by GalaXyHaXz and devilution team. The project page with information and links can be found over here ",o.a.createElement(R,{href:"https://github.com/d07RiV/diabloweb"},"https://github.com/d07RiV/diabloweb")),o.a.createElement("p",null,"If you own the original game, you can drop the original DIABDAT.MPQ onto this page or click the button below to start playing. The game can be purchased from ",o.a.createElement(R,{href:"https://www.gog.com/game/diablo"},"GoG"),"."),!c&&o.a.createElement("p",null,"Or you can play the shareware version for free (50MB download)."),o.a.createElement("form",null,o.a.createElement("label",{htmlFor:"loadFile",className:"startButton"},"Select MPQ"),o.a.createElement("input",{accept:".mpq",type:"file",id:"loadFile",style:{display:"none"},onChange:this.parseFile})),o.a.createElement("span",{className:"startButton",onClick:function(){return e.start()}},"Play Shareware"))))}}]),t}(o.a.Component);s.a.render(o.a.createElement(U,null),document.getElementById("root")),function(e){if("serviceWorker"in navigator){if(new URL("/diabloweb",window.location.href).origin!==window.location.origin)return;window.addEventListener("load",function(){var t="".concat("/diabloweb","/service-worker.js");i?(function(e,t){fetch(e).then(function(n){var a=n.headers.get("content-type");404===n.status||null!=a&&-1===a.indexOf("javascript")?navigator.serviceWorker.ready.then(function(e){e.unregister().then(function(){window.location.reload()})}):c(e,t)}).catch(function(){console.log("No internet connection found. App is running in offline mode.")})}(t,e),navigator.serviceWorker.ready.then(function(){console.log("This web app is being served cache-first by a service worker. To learn more, visit https://bit.ly/CRA-PWA")})):c(t,e)})}}()},9:function(e,t,n){"use strict";n.d(t,"a",function(){return b});var a=n(4),o=n(1),r=n.n(o),s=n(2),i=n(10),c=n.n(i),u=function(){return new Promise(function(e,t){var n=!1,a=document.createElement("iframe");window.addEventListener("message",function(t){var o=t.data;"storage"!==o.method||n||(n=!0,e(o.files),a.contentWindow.postMessage({method:"clear"},"*"))}),a.addEventListener("load",function(){a.contentWindow.postMessage({method:"transfer"},"*")}),a.addEventListener("error",function(){n||(n=!0,e(null))}),a.src="https://diablo.rivsoft.net/storage.html",a.style.display="none",document.body.appendChild(a),setTimeout(function(){n||(n=!0,e(null))},1e4)})};function l(e,t){return d.apply(this,arguments)}function d(){return(d=Object(s.a)(r.a.mark(function e(t,n){var a,o,s,i;return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.get(n.toLowerCase());case 2:(a=e.sent)?(o=new Blob([a],{type:"binary/octet-stream"}),s=URL.createObjectURL(o),(i=document.createElement("a")).setAttribute("href",s),i.setAttribute("download",n),document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(s)):console.error("File ".concat(n," does not exist"));case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function h(e){return f.apply(this,arguments)}function f(){return(f=Object(s.a)(r.a.mark(function e(t){var n,a,o,s,i,c;return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=!0,a=!1,o=void 0,e.prev=3,e.next=6,t.keys();case 6:e.t0=Symbol.iterator,s=e.sent[e.t0]();case 8:if(n=(i=s.next()).done){e.next=14;break}(c=i.value).match(/\.sv$/i)&&l(t,c);case 11:n=!0,e.next=8;break;case 14:e.next=20;break;case 16:e.prev=16,e.t1=e.catch(3),a=!0,o=e.t1;case 20:e.prev=20,e.prev=21,n||null==s.return||s.return();case 23:if(e.prev=23,!a){e.next=26;break}throw o;case 26:return e.finish(23);case 27:return e.finish(20);case 28:case"end":return e.stop()}},e,null,[[3,16,20,28],[21,,23,27]])}))).apply(this,arguments)}var v=function(e){return new Promise(function(t,n){var a=new FileReader;a.onload=function(){return t(a.result)},a.onerror=function(){return n(a.error)},a.onabort=function(){return n()},a.readAsArrayBuffer(e)})};function p(e,t,n){return m.apply(this,arguments)}function m(){return(m=Object(s.a)(r.a.mark(function e(t,n,a){var o;return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Uint8Array,e.next=3,v(a);case 3:return e.t1=e.sent,o=new e.t0(e.t1),n.set(a.name.toLowerCase(),o),e.abrupt("return",t.set(a.name.toLowerCase(),o));case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function b(e){return y.apply(this,arguments)}function y(){return(y=Object(s.a)(r.a.mark(function e(t){var n,o,s,i,d,f,v,m,b,y,g,w,k,x,E,M,C,D;return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=new c.a("diablo_fs"),o=new Map,s=0,e.t0=Object,e.next=7,n.json();case 7:e.t1=e.sent,i=e.t0.entries.call(e.t0,e.t1);case 9:if(!(s>16&255,O=A>>8&255,N=255&A;t.fillStyle="rgb(".concat(j,", ").concat(O,", ").concat(N,")"),t.fillText(S,L,_+22)}}catch(K){C=!0,D=K}finally{try{M||null==B.return||B.return()}finally{if(C)throw D}}t.restore()}}e.updateBelt(i)}function A(){return(A=Object(M.a)(x.a.mark(function e(t,n,a,o){var r,s,i;return x.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.fs;case 2:if(r=e.sent,!o||a){e.next=6;break}return e.next=6,L(t,r);case 6:return s=null,i=!1,s=t.canvas.getContext("2d",{alpha:!1}),e.next=10,new Promise(function(e,c){try{var l=new D.a;l.addEventListener("message",function(a){var o=a.data;switch(o.action){case"loaded":e(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a=32&&1===e.key.length&&!n.showKeyboard&&n.game("DApi_Char",e.key.charCodeAt(0)),n.clearKeySel(),n.showKeyboard||(8===e.keyCode||e.keyCode>=112&&e.keyCode<=119)&&e.preventDefault())},n.onMenu=function(e){e.preventDefault()},n.onKeyUp=function(e){n.canvas&&(n.game("DApi_Key",1,n.eventMods(e),e.keyCode),n.clearKeySel())},n.onKeyboard=function(){if(n.showKeyboard){var e,t=n.keyboard.value,a=(t.match(/[\x20-\x7E]/g)||[]).join("").substring(0,15);t!==a&&(n.keyboard.value=a),n.clearKeySel();var o=Object(u.a)(Array(15)).map(function(e,t){return t0&&n.start(t[0])},n.touchButton=null,n.touchCanvas=null,n.onTouchStart=function(e){if(n.canvas&&e.target!==n.keyboard&&(e.preventDefault(),n.updateTouchButton(e.touches,!1))){var t=n.mousePos(n.touchCanvas),a=t.x,o=t.y;n.game("DApi_Mouse",0,0,n.eventMods(e),a,o),n.touchMods[N]||n.game("DApi_Mouse",1,n.touchMods[K]?2:1,n.eventMods(e),a,o)}},n.onTouchMove=function(e){if(n.canvas&&e.target!==n.keyboard&&(e.preventDefault(),n.updateTouchButton(e.touches,!1))){var t=n.mousePos(n.touchCanvas),a=t.x,o=t.y;n.game("DApi_Mouse",0,0,n.eventMods(e),a,o)}},n.onTouchEnd=function(e){if(n.canvas&&e.target!==n.keyboard){e.preventDefault();var t=n.touchCanvas;if(n.updateTouchButton(e.touches,!0),t&&!n.touchCanvas){var a=n.mousePos(t),o=a.x,r=a.y;n.game("DApi_Mouse",2,1,n.eventMods(e),o,r),n.game("DApi_Mouse",2,2,n.eventMods(e),o,r),!n.touchMods[K]||n.touchButton&&n.touchButton.index===K||n.setTouchButton(K,!1)}document.fullscreenElement||n.element.requestFullscreen()}},n.setCanvas=function(e){return n.canvas=e},n.setElement=function(e){return n.element=e},n.setKeyboard=function(e){return n.keyboard=e},n.setTouch0=n.setTouch_.bind(Object(v.a)(n),0),n.setTouch1=n.setTouch_.bind(Object(v.a)(n),1),n.setTouch2=n.setTouch_.bind(Object(v.a)(n),2),n.setTouch3=n.setTouchBelt_.bind(Object(v.a)(n),3),n.setTouch4=n.setTouchBelt_.bind(Object(v.a)(n),4),n.setTouch5=n.setTouchBelt_.bind(Object(v.a)(n),5),n}return Object(p.a)(t,e),Object(d.a)(t,[{key:"componentDidMount",value:function(){var e=this;document.addEventListener("drop",this.onDrop,!0),document.addEventListener("dragover",this.onDragOver,!0),document.addEventListener("dragenter",this.onDragEnter,!0),document.addEventListener("dragleave",this.onDragLeave,!0),this.fs.then(function(t){var n=t.files.get("spawn.mpq");n&&n.byteLength===P&&e.setState({has_spawn:!0})})}},{key:"setDropping",value:function(e){this.setState(function(t){var n=t.dropping;return{dropping:Math.max(n+e,0)}})}},{key:"onError",value:function(e,t){this.setState(function(n){return!n.error&&{error:{message:e,stack:t}}})}},{key:"openKeyboard",value:function(e){e?(this.showKeyboard={left:"".concat((100*(e[0]-10)/640).toFixed(2),"%"),top:"".concat((100*(e[1]-10)/480).toFixed(2),"%"),width:"".concat((100*(e[2]-e[0]+20)/640).toFixed(2),"%"),height:"".concat((100*(e[3]-e[1]+20)/640).toFixed(2),"%")},this.element.classList.add("keyboard"),Object.assign(this.keyboard.style,this.showKeyboard),this.keyboard.focus()):(this.showKeyboard=!1,this.element.classList.remove("keyboard"),this.keyboard.blur(),this.keyboard.value="")}},{key:"setCursorPos",value:function(e,t){var n=this,a=this.canvas.getBoundingClientRect();this.cursorPos={x:a.left+(a.right-a.left)*e/640,y:a.top+(a.bottom-a.top)*t/480},setTimeout(function(){n.game("DApi_Mouse",0,0,0,e,t)})}},{key:"onProgress",value:function(e){this.setState({progress:e})}},{key:"onExit",value:function(){this.state.error||window.location.reload()}},{key:"setCurrentSave",value:function(e){this.saveName=e}},{key:"drawBelt",value:function(e,t){this.canvas&&this.touchButtons[e]&&(this.touchBelt[e]=t,t>=0?(this.touchButtons[e].style.display="block",this.touchCtx[e].drawImage(this.canvas,205+29*t,357,28,28,0,0,28,28)):this.touchButtons[e].style.display="none")}},{key:"updateBelt",value:function(e){if(e){for(var t=new Set,n=3,a=0;a=0&&!t.has(e[a])&&(this.drawBelt(n++,a),t.add(e[a]));for(;n<6;++n)this.drawBelt(n,-1)}else this.drawBelt(3,-1),this.drawBelt(4,-1),this.drawBelt(5,-1)}},{key:"start",value:function(e){var t=this;if(e&&e.name.match(/\.sv$/i))this.fs.then(function(t){return t.upload(e)}).then(console.log("Updated ".concat(e.name)));else{document.removeEventListener("drop",this.onDrop,!0),document.removeEventListener("dragover",this.onDragOver,!0),document.removeEventListener("dragenter",this.onDragEnter,!0),document.removeEventListener("dragleave",this.onDragLeave,!0),this.setState({dropping:0});var n=!(!e||!e.name.match(/^diabdat\.mpq$/i));g.a.event({category:"Game",action:n?"Start Retail":"Start Shareware"}),this.setState({loading:!0,retail:n}),j(this,e,!n).then(function(e){t.game=e,document.addEventListener("mousemove",t.onMouseMove,!0),document.addEventListener("mousedown",t.onMouseDown,!0),document.addEventListener("mouseup",t.onMouseUp,!0),document.addEventListener("keydown",t.onKeyDown,!0),document.addEventListener("keyup",t.onKeyUp,!0),document.addEventListener("contextmenu",t.onMenu,!0),document.addEventListener("touchstart",t.onTouchStart,{passive:!1,capture:!0}),document.addEventListener("touchmove",t.onTouchMove,{passive:!1,capture:!0}),document.addEventListener("touchend",t.onTouchEnd,{passive:!1,capture:!0}),document.addEventListener("pointerlockchange",t.onPointerLockChange),window.addEventListener("resize",t.onResize),t.setState({started:!0})},function(e){return t.onError(e.message,e.stack)})}}},{key:"pointerLocked",value:function(){return document.pointerLockElement===this.canvas||document.mozPointerLockElement===this.canvas}},{key:"mousePos",value:function(e){var t=this.canvas.getBoundingClientRect();return this.pointerLocked()?(this.cursorPos.x=Math.max(t.left,Math.min(t.right,this.cursorPos.x+e.movementX)),this.cursorPos.y=Math.max(t.top,Math.min(t.bottom,this.cursorPos.y+e.movementY))):this.cursorPos={x:e.clientX,y:e.clientY},{x:Math.max(0,Math.min(Math.round((this.cursorPos.x-t.left)/(t.right-t.left)*640),639)),y:Math.max(0,Math.min(Math.round((this.cursorPos.y-t.top)/(t.bottom-t.top)*480),479))}}},{key:"mouseButton",value:function(e){switch(e.button){case 0:return 1;case 1:return 4;case 2:return 2;case 3:return 5;case 4:return 6;default:return 1}}},{key:"eventMods",value:function(e){return(e.shiftKey||this.touchMods[2]?1:0)+(e.ctrlKey?2:0)+(e.altKey?4:0)+(e.touches?8:0)}},{key:"clearKeySel",value:function(){if(this.showKeyboard){var e=this.keyboard.value.length;this.keyboard.setSelectionRange(e,e)}}},{key:"setTouchMod",value:function(e,t,n){if(e<3)this.touchMods[e]=t,this.touchButtons[e]&&this.touchButtons[e].classList.toggle("active",t);else if(n&&this.touchBelt[e]>=0){var a=performance.now();(!this.beltTime||a-this.beltTime>750)&&(this.game("DApi_Char",49+this.touchBelt[e]),this.beltTime=a)}}},{key:"updateTouchButton",value:function(e,t){var n=this,a=null;this.touchControls||(this.touchControls=!0,this.element.classList.add("touch"));var o=this.touchButton,r=!0,s=!1,i=void 0;try{for(var c,l=function(){var t=c.value,r=t.target,s=t.identifier,i=t.clientX,l=t.clientY;if(o&&o.id===s&&n.touchButtons[o.index]===r)return e.length>1&&(o.stick=!1),o.clientX=i,o.clientY=l,n.touchCanvas=Object(u.a)(e).find(function(e){return e.identifier!==s}),n.touchCanvas&&(n.touchCanvas={clientX:n.touchCanvas.clientX,clientY:n.touchCanvas.clientY}),delete n.panPos,{v:null!=n.touchCanvas};var d=n.touchButtons.indexOf(r);d>=0&&!a&&(a={id:s,index:d,stick:!0,original:n.touchMods[d],clientX:i,clientY:l})},d=e[Symbol.iterator]();!(r=(c=d.next()).done);r=!0){var h=l();if("object"===typeof h)return h.v}}catch(x){s=!0,i=x}finally{try{r||null==d.return||d.return()}finally{if(s)throw i}}if(o&&!a&&t&&o.stick){var f=this.touchButtons[o.index].getBoundingClientRect(),v=o.clientX,p=o.clientY;v>=f.left&&v=f.top&&pk)y=Math.abs(g)>Math.abs(w)?g>0?37:39:w>0?38:40,this.game("DApi_Key",0,0,y),this.panPos={x:m,y:b}}else this.game("DApi_Mouse",0,0,24,320,180),this.game("DApi_Mouse",2,1,24,320,180),this.panPos={x:m,y:b};return this.touchCanvas=null,!1}delete this.panPos}return this.touchCanvas=Object(u.a)(e).find(function(e){return!a||e.identifier!==a.id}),this.touchCanvas&&(this.touchCanvas={clientX:this.touchCanvas.clientX,clientY:this.touchCanvas.clientY}),null!=this.touchCanvas}},{key:"setTouch_",value:function(e,t){this.touchButtons[e]=t}},{key:"setTouchBelt_",value:function(e,t){if(this.touchButtons[e]=t,t){var n=document.createElement("canvas");n.width=28,n.height=28,t.appendChild(n),this.touchCtx[e]=n.getContext("2d")}else this.touchCtx[e]=null}},{key:"render",value:function(){var e=this,t=this.state,n=t.started,a=t.loading,r=t.error,s=t.progress,i=t.dropping,c=(t.touch,t.has_spawn);return o.a.createElement("div",{className:y()("App",{touch:this.touchControls,started:n,dropping:i,keyboard:!!this.showKeyboard}),ref:this.setElement},o.a.createElement("div",{className:"touch-ui touch-mods"},o.a.createElement("div",{className:y()("touch-button","touch-button-0",{active:this.touchMods[0]}),ref:this.setTouch0}),o.a.createElement("div",{className:y()("touch-button","touch-button-1",{active:this.touchMods[1]}),ref:this.setTouch1}),o.a.createElement("div",{className:y()("touch-button","touch-button-2",{active:this.touchMods[2]}),ref:this.setTouch2})),o.a.createElement("div",{className:"touch-ui touch-belt"},o.a.createElement("div",{className:y()("touch-button","touch-button-0"),ref:this.setTouch3}),o.a.createElement("div",{className:y()("touch-button","touch-button-1"),ref:this.setTouch4}),o.a.createElement("div",{className:y()("touch-button","touch-button-2"),ref:this.setTouch5})),o.a.createElement("div",{className:"Body"},o.a.createElement("div",{className:"inner"},!r&&o.a.createElement("canvas",{ref:this.setCanvas,width:640,height:480}),o.a.createElement("input",{type:"text",className:"keyboard",onChange:this.onKeyboard,ref:this.setKeyboard,spellCheck:!1,style:this.showKeyboard||{}}))),o.a.createElement("div",{className:"BodyV"},!!r&&o.a.createElement(R,{className:"error",href:O(r,this.state.retail)},o.a.createElement("p",{className:"header"},"The following error has occurred:"),o.a.createElement("p",{className:"body"},r.message),o.a.createElement("p",{className:"footer"},"Click to create an issue on GitHub"),null!=this.saveName&&o.a.createElement("p",{className:"link",onClick:this.downloadSave},"Download save file")),!!a&&!n&&!r&&o.a.createElement("div",{className:"loading"},s&&s.text||"Loading...",null!=s&&!!s.total&&o.a.createElement("span",{className:"progressBar"},o.a.createElement("span",null,o.a.createElement("span",{style:{width:"".concat(Math.round(100*s.loaded/s.total),"%")}})))),!n&&!a&&!r&&o.a.createElement("div",{className:"start"},o.a.createElement("p",null,"This is a web port of the original Diablo game, based on source code reconstructed by GalaXyHaXz and devilution team. The project page with information and links can be found over here ",o.a.createElement(R,{href:"https://github.com/d07RiV/diabloweb"},"https://github.com/d07RiV/diabloweb")),o.a.createElement("p",null,"If you own the original game, you can drop the original DIABDAT.MPQ onto this page or click the button below to start playing. The game can be purchased from ",o.a.createElement(R,{href:"https://www.gog.com/game/diablo"},"GoG"),"."),!c&&o.a.createElement("p",null,"Or you can play the shareware version for free (50MB download)."),o.a.createElement("form",null,o.a.createElement("label",{htmlFor:"loadFile",className:"startButton"},"Select MPQ"),o.a.createElement("input",{accept:".mpq",type:"file",id:"loadFile",style:{display:"none"},onChange:this.parseFile})),o.a.createElement("span",{className:"startButton",onClick:function(){return e.start()}},"Play Shareware"))))}}]),t}(o.a.Component);s.a.render(o.a.createElement(U,null),document.getElementById("root")),function(e){if("serviceWorker"in navigator){if(new URL("/diabloweb",window.location.href).origin!==window.location.origin)return;window.addEventListener("load",function(){var t="".concat("/diabloweb","/service-worker.js");i?(function(e,t){fetch(e).then(function(n){var a=n.headers.get("content-type");404===n.status||null!=a&&-1===a.indexOf("javascript")?navigator.serviceWorker.ready.then(function(e){e.unregister().then(function(){window.location.reload()})}):c(e,t)}).catch(function(){console.log("No internet connection found. App is running in offline mode.")})}(t,e),navigator.serviceWorker.ready.then(function(){console.log("This web app is being served cache-first by a service worker. To learn more, visit https://bit.ly/CRA-PWA")})):c(t,e)})}}()},9:function(e,t,n){"use strict";n.d(t,"a",function(){return b});var a=n(4),o=n(1),r=n.n(o),s=n(2),i=n(10),c=n.n(i),u=function(){return new Promise(function(e,t){var n=!1,a=document.createElement("iframe");window.addEventListener("message",function(t){var o=t.data;"storage"!==o.method||n||(n=!0,e(o.files),a.contentWindow.postMessage({method:"clear"},"*"))}),a.addEventListener("load",function(){a.contentWindow.postMessage({method:"transfer"},"*")}),a.addEventListener("error",function(){n||(n=!0,e(null))}),a.src="https://diablo.rivsoft.net/storage.html",a.style.display="none",document.body.appendChild(a),setTimeout(function(){n||(n=!0,e(null))},1e4)})};function l(e,t){return d.apply(this,arguments)}function d(){return(d=Object(s.a)(r.a.mark(function e(t,n){var a,o,s,i;return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.get(n.toLowerCase());case 2:(a=e.sent)?(o=new Blob([a],{type:"binary/octet-stream"}),s=URL.createObjectURL(o),(i=document.createElement("a")).setAttribute("href",s),i.setAttribute("download",n),document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(s)):console.error("File ".concat(n," does not exist"));case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function h(e){return f.apply(this,arguments)}function f(){return(f=Object(s.a)(r.a.mark(function e(t){var n,a,o,s,i,c;return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=!0,a=!1,o=void 0,e.prev=3,e.next=6,t.keys();case 6:e.t0=Symbol.iterator,s=e.sent[e.t0]();case 8:if(n=(i=s.next()).done){e.next=14;break}(c=i.value).match(/\.sv$/i)&&l(t,c);case 11:n=!0,e.next=8;break;case 14:e.next=20;break;case 16:e.prev=16,e.t1=e.catch(3),a=!0,o=e.t1;case 20:e.prev=20,e.prev=21,n||null==s.return||s.return();case 23:if(e.prev=23,!a){e.next=26;break}throw o;case 26:return e.finish(23);case 27:return e.finish(20);case 28:case"end":return e.stop()}},e,null,[[3,16,20,28],[21,,23,27]])}))).apply(this,arguments)}var v=function(e){return new Promise(function(t,n){var a=new FileReader;a.onload=function(){return t(a.result)},a.onerror=function(){return n(a.error)},a.onabort=function(){return n()},a.readAsArrayBuffer(e)})};function p(e,t,n){return m.apply(this,arguments)}function m(){return(m=Object(s.a)(r.a.mark(function e(t,n,a){var o;return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Uint8Array,e.next=3,v(a);case 3:return e.t1=e.sent,o=new e.t0(e.t1),n.set(a.name.toLowerCase(),o),e.abrupt("return",t.set(a.name.toLowerCase(),o));case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function b(e){return y.apply(this,arguments)}function y(){return(y=Object(s.a)(r.a.mark(function e(t){var n,o,s,i,d,f,v,m,b,y,g,w,k,x,E,M,C,D;return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=new c.a("diablo_fs"),o=new Map,s=0,e.t0=Object,e.next=7,n.json();case 7:e.t1=e.sent,i=e.t0.entries.call(e.t0,e.t1);case 9:if(!(s {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import axios from 'axios';\r\n\r\nconst SpawnSize = 50274091;\r\n\r\nexport { SpawnSize };\r\n\r\nexport default async function load_spawn(api, fs) {\r\n let file = fs.files.get('spawn.mpq');\r\n if (file && file.byteLength !== SpawnSize) {\r\n fs.files.delete('spawn.mpq');\r\n await fs.delete('spawn.mpq');\r\n file = null;\r\n }\r\n if (!file) {\r\n const spawn = await axios.request({\r\n url: process.env.PUBLIC_URL + '/spawn.mpq',\r\n responseType: 'arraybuffer',\r\n onDownloadProgress: e => {\r\n if (api.onProgress) {\r\n api.onProgress({text: 'Downloading...', loaded: e.loaded, total: e.total || SpawnSize});\r\n }\r\n },\r\n headers: {\r\n 'Cache-Control': 'max-age=31536000'\r\n }\r\n });\r\n if (spawn.data.byteLength !== SpawnSize) {\r\n throw Error(\"Invalid spawn.mpq size. Try clearing cache and refreshing the page.\");\r\n }\r\n const data = new Uint8Array(spawn.data);\r\n fs.files.set('spawn.mpq', data);\r\n fs.update('spawn.mpq', data.slice());\r\n }\r\n return fs;\r\n}\r\n","import Worker from './game.worker.js';\r\nimport init_sound from './sound';\r\nimport load_spawn from './load_spawn';\r\n\r\nfunction onRender(api, ctx, {bitmap, images, text, clip, belt}) {\r\n if (bitmap) {\r\n ctx.transferFromImageBitmap(bitmap);\r\n } else {\r\n for (let {x, y, w, h, data} of images) {\r\n const image = ctx.createImageData(w, h);\r\n image.data.set(data);\r\n ctx.putImageData(image, x, y);\r\n }\r\n if (text.length) {\r\n ctx.save();\r\n ctx.font = 'bold 13px Times New Roman';\r\n if (clip) {\r\n const {x0, y0, x1, y1} = clip;\r\n ctx.beginPath();\r\n ctx.rect(x0, y0, x1 - x0, y1 - y0);\r\n ctx.clip();\r\n }\r\n for (let {x, y, text: str, color} of text) {\r\n const r = ((color >> 16) & 0xFF);\r\n const g = ((color >> 8) & 0xFF);\r\n const b = (color & 0xFF);\r\n ctx.fillStyle = `rgb(${r}, ${g}, ${b})`;\r\n ctx.fillText(str, x, y + 22);\r\n }\r\n ctx.restore();\r\n }\r\n }\r\n\r\n api.updateBelt(belt);\r\n}\r\n\r\nfunction testOffscreen() {\r\n return false;\r\n // This works but I couldn't see any performance difference, and support for 2D canvas in workers is very poor.\r\n // In this mode, instead of sending a batch of areas to draw back to the main thread, the worker does all drawing on its own and sends a complete bitmap object back.\r\n // However, this effectively clears the worker's canvas, so we need to redraw the whole frame every time, which defeats the performance gained from reduced copying.\r\n /*try {\r\n const canvas = document.createElement(\"canvas\");\r\n const offscreen = canvas.transferControlToOffscreen();\r\n const context = offscreen.getContext(\"2d\");\r\n return context != null;\r\n } catch (e) {\r\n return false;\r\n }*/\r\n}\r\n\r\nasync function do_load_game(api, audio, mpq, spawn) {\r\n const fs = await api.fs;\r\n if (spawn && !mpq) {\r\n await load_spawn(api, fs);\r\n }\r\n\r\n let context = null, offscreen = false;\r\n if (testOffscreen()) {\r\n context = api.canvas.getContext(\"bitmaprenderer\");\r\n offscreen = true;\r\n } else {\r\n context = api.canvas.getContext(\"2d\", {alpha: false});\r\n }\r\n return await new Promise((resolve, reject) => {\r\n try {\r\n const worker = new Worker();\r\n worker.addEventListener(\"message\", ({data}) => {\r\n switch (data.action) {\r\n case \"loaded\":\r\n resolve((func, ...params) => worker.postMessage({action: \"event\", func, params}));\r\n break;\r\n case \"render\":\r\n onRender(api, context, data.batch);\r\n break;\r\n case \"audio\":\r\n audio[data.func](...data.params);\r\n break;\r\n case \"audioBatch\":\r\n for (let {func, params} of data.batch) {\r\n audio[func](...params);\r\n }\r\n break;\r\n case \"fs\":\r\n fs[data.func](...data.params);\r\n break;\r\n case \"cursor\":\r\n api.setCursorPos(data.x, data.y);\r\n break;\r\n case \"keyboard\":\r\n api.openKeyboard(data.rect);\r\n break;\r\n case \"error\":\r\n audio.stop_all();\r\n api.onError(data.error, data.stack);\r\n break;\r\n case \"failed\":\r\n reject(Error(data.stack || data.error));\r\n break;\r\n case \"progress\":\r\n api.onProgress({text: data.text, loaded: data.loaded, total: data.total});\r\n break;\r\n case \"exit\":\r\n api.onExit();\r\n break;\r\n case \"current_save\":\r\n api.setCurrentSave(data.name);\r\n break;\r\n default:\r\n }\r\n });\r\n const transfer= [];\r\n for (let [, file] of fs.files) {\r\n transfer.push(file.buffer);\r\n }\r\n worker.postMessage({action: \"init\", files: fs.files, mpq, spawn, offscreen}, transfer);\r\n delete fs.files;\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n}\r\n\r\nexport default function load_game(api, mpq, spawn) {\r\n const audio = init_sound();\r\n return do_load_game(api, audio, mpq, spawn);\r\n}\r\n","function no_sound() {\r\n return {\r\n create_sound: () => 0,\r\n duplicate_sound: () => 0,\r\n play_sound: () => undefined,\r\n set_volume: () => undefined,\r\n stop_sound: () => undefined,\r\n delete_sound: () => undefined,\r\n };\r\n}\r\n\r\nexport default function init_sound() {\r\n const AudioContext = window.AudioContext || window.webkitAudioContext;\r\n if (!AudioContext) {\r\n return no_sound();\r\n }\r\n\r\n let context = null;\r\n try {\r\n context = new AudioContext();\r\n } catch (e) {\r\n }\r\n const sounds = new Map();\r\n\r\n return {\r\n create_sound_raw(id, data, length, channels, rate) {\r\n if (!context) {\r\n return;\r\n }\r\n const buffer = context.createBuffer(channels, length, rate);\r\n for (let i = 0; i < channels; ++i) {\r\n buffer.copyToChannel(data.subarray(i * length, i * length + length), i);\r\n }\r\n sounds.set(id, {\r\n buffer: Promise.resolve(buffer),\r\n gain: context.createGain(),\r\n panner: new StereoPannerNode(context, {pan: 0}),\r\n });\r\n },\r\n create_sound(id, data) {\r\n if (!context) {\r\n return;\r\n }\r\n const buffer = context.decodeAudioData(data.buffer);\r\n sounds.set(id, {\r\n buffer,\r\n gain: context.createGain(),\r\n panner: new StereoPannerNode(context, {pan: 0}),\r\n });\r\n },\r\n duplicate_sound(id, srcId) {\r\n if (!context) {\r\n return;\r\n }\r\n const src = sounds.get(srcId);\r\n if (!src) {\r\n return;\r\n }\r\n sounds.set(id, {\r\n buffer: src.buffer,\r\n gain: context.createGain(),\r\n panner: new StereoPannerNode(context, {pan: 0}),\r\n });\r\n },\r\n play_sound(id, volume, pan, loop) {\r\n const src = sounds.get(id);\r\n if (src) {\r\n if (src.source) {\r\n src.source.then(source => source.stop());\r\n }\r\n src.gain.gain.value = Math.pow(2.0, volume / 1000.0);\r\n const relVolume = Math.pow(2.0, pan / 1000.0);\r\n src.panner.pan.value = 1.0 - 2.0 / (1.0 + relVolume);\r\n src.source = src.buffer.then(buffer => {\r\n const source = context.createBufferSource();\r\n source.buffer = buffer;\r\n source.loop = !!loop;\r\n source.connect(src.gain).connect(src.panner).connect(context.destination);\r\n source.start();\r\n return source;\r\n });\r\n }\r\n },\r\n set_volume(id, volume) {\r\n const src = sounds.get(id);\r\n if (src) {\r\n src.gain.gain.value = Math.pow(2.0, volume / 1000.0);\r\n }\r\n },\r\n stop_sound(id) {\r\n const src = sounds.get(id);\r\n if (src && src.source) {\r\n src.source.then(source => source.stop());\r\n delete src.source;\r\n }\r\n },\r\n delete_sound(id) {\r\n const src = sounds.get(id);\r\n if (src && src.source) {\r\n src.source.then(source => source.stop());\r\n }\r\n sounds.delete(id);\r\n },\r\n\r\n stop_all() {\r\n for (let [, sound] of sounds) {\r\n if (sound.source) {\r\n sound.source.then(source => source.stop());\r\n }\r\n }\r\n sounds.clear();\r\n context = null;\r\n }\r\n };\r\n}\r\n","import React from 'react';\r\nimport './App.scss';\r\nimport classNames from 'classnames';\r\nimport ReactGA from 'react-ga';\r\n\r\nimport create_fs from './fs';\r\nimport load_game from './api/loader';\r\nimport { SpawnSize } from './api/load_spawn';\r\n\r\nif (process.env.NODE_ENV === 'production') {\r\n ReactGA.initialize('UA-43123589-6');\r\n ReactGA.pageview('/');\r\n}\r\n\r\nfunction reportLink(e, retail) {\r\n const message = e.stack || e.message || \"Unknown error\";\r\n const url = new URL(\"https://github.com/d07RiV/diabloweb/issues/new\");\r\n url.searchParams.set(\"body\",\r\n`**Description:**\r\n[Please describe what you were doing before the error occurred]\r\n\r\n**App version:**\r\nDiabloWeb ${process.env.VERSION} (${retail ? 'Retail' : 'Shareware'})\r\n\r\n**Error message:**\r\n \r\n${message.split(\"\\n\").map(line => \" \" + line).join(\"\\n\")}\r\n\r\n**User agent:**\r\n\r\n ${navigator.userAgent}\r\n\r\n**Save file:**\r\n[Please attach the save file, if applicable. The error box should have a link to download the current save you were playing; alternatively, you can open dev console on the game page (F12) and type in ${\"`DownloadSaves()`\"}]\r\n`);\r\n return url.toString();\r\n}\r\n\r\nfunction isDropFile(e) {\r\n if (e.dataTransfer.items) {\r\n for (let i = 0; i < e.dataTransfer.items.length; ++i) {\r\n if (e.dataTransfer.items[i].kind === \"file\") {\r\n return true;\r\n }\r\n }\r\n } if (e.dataTransfer.files.length) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction getDropFile(e) {\r\n if (e.dataTransfer.items) {\r\n for (let i = 0; i < e.dataTransfer.items.length; ++i) {\r\n if (e.dataTransfer.items[i].kind === \"file\") {\r\n return e.dataTransfer.items[i].getAsFile();\r\n }\r\n }\r\n } if (e.dataTransfer.files.length) {\r\n return e.dataTransfer.files[0];\r\n }\r\n}\r\n\r\nconst TOUCH_MOVE = 0;\r\nconst TOUCH_RMB = 1;\r\nconst TOUCH_SHIFT = 2;\r\n\r\nconst Link = ({children, ...props}) => {children};\r\n\r\nclass App extends React.Component {\r\n files = new Map();\r\n state = {started: false, loading: false, dropping: 0, has_spawn: false};\r\n cursorPos = {x: 0, y: 0};\r\n\r\n touchControls = false;\r\n touchButtons = [null, null, null, null, null, null];\r\n touchCtx = [null, null, null, null, null, null];\r\n touchMods = [false, false, false, false, false, false];\r\n touchBelt = [-1, -1, -1, -1, -1, -1];\r\n\r\n fs = create_fs(true);\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.setTouch0 = this.setTouch_.bind(this, 0);\r\n this.setTouch1 = this.setTouch_.bind(this, 1);\r\n this.setTouch2 = this.setTouch_.bind(this, 2);\r\n this.setTouch3 = this.setTouchBelt_.bind(this, 3);\r\n this.setTouch4 = this.setTouchBelt_.bind(this, 4);\r\n this.setTouch5 = this.setTouchBelt_.bind(this, 5);\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener(\"drop\", this.onDrop, true);\r\n document.addEventListener(\"dragover\", this.onDragOver, true);\r\n document.addEventListener(\"dragenter\", this.onDragEnter, true);\r\n document.addEventListener(\"dragleave\", this.onDragLeave, true);\r\n\r\n this.fs.then(fs => {\r\n const spawn = fs.files.get('spawn.mpq');\r\n if (spawn && spawn.byteLength === SpawnSize) {\r\n this.setState({has_spawn: true});\r\n }\r\n });\r\n }\r\n\r\n onDrop = e => {\r\n const file = getDropFile(e);\r\n if (file) {\r\n e.preventDefault();\r\n this.start(file);\r\n }\r\n this.setState({dropping: 0});\r\n }\r\n onDragEnter = e => {\r\n e.preventDefault();\r\n this.setDropping(1);\r\n }\r\n onDragOver = e => {\r\n if (isDropFile(e)) {\r\n e.preventDefault();\r\n }\r\n }\r\n onDragLeave = e => {\r\n this.setDropping(-1);\r\n }\r\n setDropping(inc) {\r\n this.setState(({dropping}) => ({dropping: Math.max(dropping + inc, 0)}));\r\n }\r\n\r\n onError(message, stack) {\r\n this.setState(({error}) => !error && {error: {message, stack}});\r\n }\r\n\r\n openKeyboard(rect) {\r\n if (rect) {\r\n this.showKeyboard = {\r\n left: `${(100 * (rect[0] - 10) / 640).toFixed(2)}%`,\r\n top: `${(100 * (rect[1] - 10) / 480).toFixed(2)}%`,\r\n width: `${(100 * (rect[2] - rect[0] + 20) / 640).toFixed(2)}%`,\r\n height: `${(100 * (rect[3] - rect[1] + 20) / 640).toFixed(2)}%`,\r\n };\r\n this.element.classList.add(\"keyboard\");\r\n Object.assign(this.keyboard.style, this.showKeyboard);\r\n this.keyboard.focus();\r\n } else {\r\n this.showKeyboard = false;\r\n this.element.classList.remove(\"keyboard\");\r\n this.keyboard.blur();\r\n this.keyboard.value = \"\";\r\n }\r\n }\r\n\r\n setCursorPos(x, y) {\r\n const rect = this.canvas.getBoundingClientRect();\r\n this.cursorPos = {\r\n x: rect.left + (rect.right - rect.left) * x / 640,\r\n y: rect.top + (rect.bottom - rect.top) * y / 480,\r\n };\r\n setTimeout(() => {\r\n this.game(\"DApi_Mouse\", 0, 0, 0, x, y);\r\n });\r\n }\r\n\r\n onProgress(progress) {\r\n this.setState({progress});\r\n }\r\n\r\n onExit() {\r\n if (!this.state.error) {\r\n window.location.reload();\r\n }\r\n }\r\n\r\n setCurrentSave(name) {\r\n this.saveName = name;\r\n }\r\n downloadSave = e => {\r\n this.fs.then(fs => this.saveName && fs.download(this.saveName));\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n drawBelt(idx, slot) {\r\n if (!this.canvas) return;\r\n if (!this.touchButtons[idx]) {\r\n return;\r\n }\r\n this.touchBelt[idx] = slot;\r\n if (slot >= 0) {\r\n this.touchButtons[idx].style.display = \"block\";\r\n this.touchCtx[idx].drawImage(this.canvas, 205 + 29 * slot, 357, 28, 28, 0, 0, 28, 28);\r\n } else {\r\n this.touchButtons[idx].style.display = \"none\";\r\n }\r\n }\r\n\r\n updateBelt(belt) {\r\n if (belt) {\r\n const used = new Set();\r\n let pos = 3;\r\n for (let i = 0; i < belt.length && pos < 6; ++i) {\r\n if (belt[i] >= 0 && !used.has(belt[i])) {\r\n this.drawBelt(pos++, i);\r\n used.add(belt[i]);\r\n }\r\n }\r\n for (; pos < 6; ++pos) {\r\n this.drawBelt(pos, -1);\r\n }\r\n } else {\r\n this.drawBelt(3, -1);\r\n this.drawBelt(4, -1);\r\n this.drawBelt(5, -1);\r\n }\r\n }\r\n\r\n start(file) {\r\n if (file && file.name.match(/\\.sv$/i)) {\r\n this.fs.then(fs => fs.upload(file)).then(console.log(`Updated ${file.name}`));\r\n return;\r\n }\r\n\r\n document.removeEventListener(\"drop\", this.onDrop, true);\r\n document.removeEventListener(\"dragover\", this.onDragOver, true);\r\n document.removeEventListener(\"dragenter\", this.onDragEnter, true);\r\n document.removeEventListener(\"dragleave\", this.onDragLeave, true);\r\n this.setState({dropping: 0});\r\n\r\n const retail = !!(file && file.name.match(/^diabdat\\.mpq$/i));\r\n if (process.env.NODE_ENV === 'production') {\r\n ReactGA.event({\r\n category: 'Game',\r\n action: retail ? 'Start Retail' : 'Start Shareware',\r\n });\r\n }\r\n\r\n this.setState({loading: true, retail});\r\n\r\n load_game(this, file, !retail).then(game => {\r\n this.game = game;\r\n\r\n document.addEventListener('mousemove', this.onMouseMove, true);\r\n document.addEventListener('mousedown', this.onMouseDown, true);\r\n document.addEventListener('mouseup', this.onMouseUp, true);\r\n document.addEventListener('keydown', this.onKeyDown, true);\r\n document.addEventListener('keyup', this.onKeyUp, true);\r\n document.addEventListener('contextmenu', this.onMenu, true);\r\n\r\n document.addEventListener('touchstart', this.onTouchStart, {passive: false, capture: true});\r\n document.addEventListener('touchmove', this.onTouchMove, {passive: false, capture: true});\r\n document.addEventListener('touchend', this.onTouchEnd, {passive: false, capture: true});\r\n\r\n document.addEventListener('pointerlockchange', this.onPointerLockChange);\r\n window.addEventListener('resize', this.onResize);\r\n\r\n this.setState({started: true});\r\n }, e => this.onError(e.message, e.stack));\r\n }\r\n\r\n pointerLocked() {\r\n return document.pointerLockElement === this.canvas || document.mozPointerLockElement === this.canvas;\r\n }\r\n\r\n mousePos(e) {\r\n const rect = this.canvas.getBoundingClientRect();\r\n if (this.pointerLocked()) {\r\n this.cursorPos.x = Math.max(rect.left, Math.min(rect.right, this.cursorPos.x + e.movementX));\r\n this.cursorPos.y = Math.max(rect.top, Math.min(rect.bottom, this.cursorPos.y + e.movementY));\r\n } else {\r\n this.cursorPos = {x: e.clientX, y: e.clientY};\r\n }\r\n return {\r\n x: Math.max(0, Math.min(Math.round((this.cursorPos.x - rect.left) / (rect.right - rect.left) * 640), 639)),\r\n y: Math.max(0, Math.min(Math.round((this.cursorPos.y - rect.top) / (rect.bottom - rect.top) * 480), 479)),\r\n };\r\n }\r\n\r\n mouseButton(e) {\r\n switch (e.button) {\r\n case 0: return 1;\r\n case 1: return 4;\r\n case 2: return 2;\r\n case 3: return 5;\r\n case 4: return 6;\r\n default: return 1;\r\n }\r\n }\r\n eventMods(e) {\r\n return ((e.shiftKey || this.touchMods[TOUCH_SHIFT]) ? 1 : 0) + (e.ctrlKey ? 2 : 0) + (e.altKey ? 4 : 0) + (e.touches ? 8 : 0);\r\n }\r\n\r\n onResize = () => {\r\n document.exitPointerLock();\r\n }\r\n\r\n onPointerLockChange = () => {\r\n if (window.screen && window.innerHeight === window.screen.height && !this.pointerLocked()) {\r\n // assume that the user pressed escape\r\n this.game(\"DApi_Key\", 0, 0, 27);\r\n this.game(\"DApi_Key\", 1, 0, 27);\r\n }\r\n }\r\n\r\n onMouseMove = e => {\r\n if (!this.canvas) return;\r\n const {x, y} = this.mousePos(e);\r\n this.game(\"DApi_Mouse\", 0, 0, this.eventMods(e), x, y);\r\n e.preventDefault();\r\n }\r\n\r\n onMouseDown = e => {\r\n if (!this.canvas) return;\r\n if (e.target === this.keyboard) {\r\n return;\r\n }\r\n if (this.touchControls) {\r\n this.touchControls = false;\r\n this.element.classList.remove(\"touch\");\r\n }\r\n const {x, y} = this.mousePos(e);\r\n if (window.screen && window.innerHeight === window.screen.height) {\r\n // we're in fullscreen, let's get pointer lock!\r\n if (!this.pointerLocked()) {\r\n this.canvas.requestPointerLock();\r\n }\r\n }\r\n this.game(\"DApi_Mouse\", 1, this.mouseButton(e), this.eventMods(e), x, y);\r\n e.preventDefault();\r\n }\r\n\r\n onMouseUp = e => {\r\n if (!this.canvas) return;\r\n if (e.target === this.keyboard) {\r\n return;\r\n }\r\n const {x, y} = this.mousePos(e);\r\n this.game(\"DApi_Mouse\", 2, this.mouseButton(e), this.eventMods(e), x, y);\r\n e.preventDefault();\r\n }\r\n\r\n onKeyDown = e => {\r\n if (!this.canvas) return;\r\n this.game(\"DApi_Key\", 0, this.eventMods(e), e.keyCode);\r\n if (e.keyCode >= 32 && e.key.length === 1 && !this.showKeyboard) {\r\n this.game(\"DApi_Char\", e.key.charCodeAt(0));\r\n }\r\n this.clearKeySel();\r\n if (!this.showKeyboard) {\r\n if (e.keyCode === 8 || (e.keyCode >= 112 && e.keyCode <= 119)) {\r\n e.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n onMenu = e => {\r\n e.preventDefault();\r\n }\r\n\r\n onKeyUp = e => {\r\n if (!this.canvas) return;\r\n this.game(\"DApi_Key\", 1, this.eventMods(e), e.keyCode);\r\n this.clearKeySel();\r\n }\r\n\r\n clearKeySel() {\r\n if (this.showKeyboard) {\r\n const len = this.keyboard.value.length;\r\n this.keyboard.setSelectionRange(len, len);\r\n }\r\n }\r\n\r\n onKeyboard = () => {\r\n if (this.showKeyboard) {\r\n const text = this.keyboard.value;\r\n const valid = (text.match(/[\\x20-\\x7E]/g) || []).join(\"\").substring(0, 15);\r\n if (text !== valid) {\r\n this.keyboard.value = valid;\r\n }\r\n this.clearKeySel();\r\n const values = [...Array(15)].map((_, i) => i < valid.length ? valid.charCodeAt(i) : 0);\r\n this.game(\"DApi_SyncText\", ...values);\r\n }\r\n }\r\n\r\n parseFile = e => {\r\n const files = e.target.files;\r\n if (files.length > 0) {\r\n this.start(files[0]);\r\n }\r\n }\r\n\r\n touchButton = null;\r\n touchCanvas = null;\r\n\r\n setTouchMod(index, value, use) {\r\n if (index < 3) {\r\n this.touchMods[index] = value;\r\n if (this.touchButtons[index]) {\r\n this.touchButtons[index].classList.toggle(\"active\", value);\r\n }\r\n } else if (use && this.touchBelt[index] >= 0) {\r\n const now = performance.now();\r\n if (!this.beltTime || now - this.beltTime > 750) {\r\n this.game(\"DApi_Char\", 49 + this.touchBelt[index]);\r\n this.beltTime = now;\r\n }\r\n }\r\n }\r\n\r\n updateTouchButton(touches, release) {\r\n let touchOther = null;\r\n if (!this.touchControls) {\r\n this.touchControls = true;\r\n this.element.classList.add(\"touch\");\r\n }\r\n const btn = this.touchButton;\r\n for (let {target, identifier, clientX, clientY} of touches) {\r\n if (btn && btn.id === identifier && this.touchButtons[btn.index] === target) {\r\n if (touches.length > 1) {\r\n btn.stick = false;\r\n }\r\n btn.clientX = clientX;\r\n btn.clientY = clientY;\r\n this.touchCanvas = [...touches].find(t => t.identifier !== identifier);\r\n if (this.touchCanvas) {\r\n this.touchCanvas = {clientX: this.touchCanvas.clientX, clientY: this.touchCanvas.clientY};\r\n }\r\n delete this.panPos;\r\n return this.touchCanvas != null;\r\n }\r\n const idx = this.touchButtons.indexOf(target);\r\n if (idx >= 0 && !touchOther) {\r\n touchOther = {id: identifier, index: idx, stick: true, original: this.touchMods[idx], clientX, clientY};\r\n }\r\n }\r\n if (btn && !touchOther && release && btn.stick) {\r\n const rect = this.touchButtons[btn.index].getBoundingClientRect();\r\n const {clientX, clientY} = btn;\r\n if (clientX >= rect.left && clientX < rect.right && clientY >= rect.top && clientY < rect.bottom) {\r\n this.setTouchMod(btn.index, !btn.original, true);\r\n } else {\r\n this.setTouchMod(btn.index, btn.original);\r\n }\r\n } else if (btn) {\r\n this.setTouchMod(btn.index, false);\r\n }\r\n this.touchButton = touchOther;\r\n if (touchOther) {\r\n this.setTouchMod(touchOther.index, true);\r\n if (touchOther.index === TOUCH_MOVE) {\r\n this.setTouchMod(TOUCH_RMB, false);\r\n } else if (touchOther.index === TOUCH_RMB) {\r\n this.setTouchMod(TOUCH_MOVE, false);\r\n }\r\n delete this.panPos;\r\n } else if (touches.length === 2) {\r\n const x = (touches[1].clientX + touches[0].clientX) / 2, y = (touches[1].clientY + touches[0].clientY) / 2;\r\n if (this.panPos) {\r\n const dx = x - this.panPos.x, dy = y - this.panPos.y;\r\n const step = this.canvas.offsetHeight / 12;\r\n if (Math.max(Math.abs(dx), Math.abs(dy)) > step) {\r\n let key;\r\n if (Math.abs(dx) > Math.abs(dy)) {\r\n key = (dx > 0 ? 0x25 : 0x27);\r\n } else {\r\n key = (dy > 0 ? 0x26 : 0x28);\r\n }\r\n this.game(\"DApi_Key\", 0, 0, key);\r\n // key up is ignored anyway\r\n this.panPos = {x, y};\r\n }\r\n } else {\r\n this.game(\"DApi_Mouse\", 0, 0, 24, 320, 180);\r\n this.game(\"DApi_Mouse\", 2, 1, 24, 320, 180);\r\n this.panPos = {x, y};\r\n }\r\n this.touchCanvas = null;\r\n return false;\r\n } else {\r\n delete this.panPos;\r\n }\r\n this.touchCanvas = [...touches].find(t => !touchOther || t.identifier !== touchOther.id);\r\n if (this.touchCanvas) {\r\n this.touchCanvas = {clientX: this.touchCanvas.clientX, clientY: this.touchCanvas.clientY};\r\n }\r\n return this.touchCanvas != null;\r\n }\r\n\r\n onTouchStart = e => {\r\n if (!this.canvas) return;\r\n if (e.target === this.keyboard) {\r\n return;\r\n }\r\n e.preventDefault();\r\n if (this.updateTouchButton(e.touches, false)) {\r\n const {x, y} = this.mousePos(this.touchCanvas);\r\n this.game(\"DApi_Mouse\", 0, 0, this.eventMods(e), x, y);\r\n if (!this.touchMods[TOUCH_MOVE]) {\r\n this.game(\"DApi_Mouse\", 1, this.touchMods[TOUCH_RMB] ? 2 : 1, this.eventMods(e), x, y);\r\n }\r\n }\r\n }\r\n onTouchMove = e => {\r\n if (!this.canvas) return;\r\n if (e.target === this.keyboard) {\r\n return;\r\n }\r\n e.preventDefault();\r\n if (this.updateTouchButton(e.touches, false)) {\r\n const {x, y} = this.mousePos(this.touchCanvas);\r\n this.game(\"DApi_Mouse\", 0, 0, this.eventMods(e), x, y);\r\n }\r\n }\r\n onTouchEnd = e => {\r\n if (!this.canvas) return;\r\n if (e.target === this.keyboard) {\r\n return;\r\n }\r\n e.preventDefault();\r\n const prevTc = this.touchCanvas;\r\n this.updateTouchButton(e.touches, true);\r\n if (prevTc && !this.touchCanvas) {\r\n const {x, y} = this.mousePos(prevTc);\r\n this.game(\"DApi_Mouse\", 2, 1, this.eventMods(e), x, y);\r\n this.game(\"DApi_Mouse\", 2, 2, this.eventMods(e), x, y);\r\n\r\n if (this.touchMods[TOUCH_RMB] && (!this.touchButton || this.touchButton.index !== TOUCH_RMB)) {\r\n this.setTouchButton(TOUCH_RMB, false);\r\n }\r\n }\r\n if (!document.fullscreenElement) {\r\n this.element.requestFullscreen();\r\n }\r\n }\r\n\r\n setCanvas = e => this.canvas = e;\r\n setElement = e => this.element = e;\r\n setKeyboard = e => this.keyboard = e;\r\n setTouch_(i, e) {\r\n this.touchButtons[i] = e;\r\n }\r\n setTouchBelt_(i, e) {\r\n this.touchButtons[i] = e;\r\n if (e) {\r\n const canvas = document.createElement(\"canvas\");\r\n canvas.width = 28;\r\n canvas.height = 28;\r\n e.appendChild(canvas);\r\n this.touchCtx[i] = canvas.getContext(\"2d\");\r\n } else {\r\n this.touchCtx[i] = null;\r\n }\r\n }\r\n\r\n render() {\r\n const {started, loading, error, progress, dropping, touch, has_spawn} = this.state;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {!error && }\r\n \r\n
\r\n
\r\n
\r\n {!!error && (\r\n \r\n

The following error has occurred:

\r\n

{error.message}

\r\n

Click to create an issue on GitHub

\r\n {this.saveName != null &&

Download save file

}\r\n \r\n )}\r\n {!!loading && !started && !error && (\r\n
\r\n {(progress && progress.text) || 'Loading...'}\r\n {progress != null && !!progress.total && (\r\n \r\n )}\r\n
\r\n )}\r\n {!started && !loading && !error && (\r\n
\r\n

\r\n This is a web port of the original Diablo game, based on source code reconstructed by\r\n GalaXyHaXz and devilution team. The project page with information and links can be found over here https://github.com/d07RiV/diabloweb\r\n

\r\n

\r\n If you own the original game, you can drop the original DIABDAT.MPQ onto this page or click the button below to start playing.\r\n The game can be purchased from GoG.\r\n

\r\n {!has_spawn && (\r\n

\r\n Or you can play the shareware version for free (50MB download).\r\n

\r\n )}\r\n
\r\n \r\n \r\n
\r\n this.start()}>Play Shareware\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './reset.css';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nimport App from './App';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\nserviceWorker.register();\r\n","import IdbKvStore from 'idb-kv-store';\r\n\r\nconst importStorage = () => new Promise((resolve, reject) => {\r\n let done = false;\r\n const frame = document.createElement('iframe');\r\n window.addEventListener('message', ({data}) => {\r\n if (data.method === 'storage' && !done) {\r\n done = true;\r\n resolve(data.files);\r\n frame.contentWindow.postMessage({method: 'clear'}, '*');\r\n }\r\n });\r\n frame.addEventListener('load', () => {\r\n frame.contentWindow.postMessage({method: 'transfer'}, '*');\r\n });\r\n frame.addEventListener('error', () => {\r\n if (!done) {\r\n done = true;\r\n resolve(null);\r\n }\r\n });\r\n frame.src = \"https://diablo.rivsoft.net/storage.html\";\r\n frame.style.display = \"none\";\r\n document.body.appendChild(frame);\r\n setTimeout(() => {\r\n if (!done) {\r\n done = true;\r\n resolve(null);\r\n }\r\n }, 10000);\r\n});\r\n\r\nasync function downloadFile(store, name) {\r\n const file = await store.get(name.toLowerCase());\r\n if (file) {\r\n const blob = new Blob([file], {type: 'binary/octet-stream'});\r\n const url = URL.createObjectURL(blob);\r\n const lnk = document.createElement('a');\r\n lnk.setAttribute('href', url);\r\n lnk.setAttribute('download', name);\r\n document.body.appendChild(lnk);\r\n lnk.click();\r\n document.body.removeChild(lnk);\r\n URL.revokeObjectURL(url);\r\n } else {\r\n console.error(`File ${name} does not exist`);\r\n }\r\n}\r\n\r\nasync function downloadSaves(store) {\r\n for (let name of await store.keys()) {\r\n if (name.match(/\\.sv$/i)) {\r\n downloadFile(store, name);\r\n }\r\n }\r\n}\r\n\r\nconst readFile = file => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = () => reject(reader.error);\r\n reader.onabort = () => reject();\r\n reader.readAsArrayBuffer(file);\r\n});\r\nasync function uploadFile(store, files, file) {\r\n const data = new Uint8Array(await readFile(file));\r\n files.set(file.name.toLowerCase(), data);\r\n return store.set(file.name.toLowerCase(), data);\r\n}\r\n\r\nexport default async function create_fs(load) {\r\n try {\r\n const store = new IdbKvStore('diablo_fs');\r\n const files = new Map();\r\n for (let [name, data] of Object.entries(await store.json())) {\r\n files.set(name, data);\r\n }\r\n if (load) {\r\n const files = await importStorage();\r\n if (files) {\r\n for (let [name, data] of files) {\r\n files.set(name, data);\r\n store.set(name, data);\r\n }\r\n }\r\n }\r\n window.DownloadFile = name => downloadFile(store, name);\r\n window.DownloadSaves = () => downloadSaves(store);\r\n return {\r\n files,\r\n update: (name, data) => store.set(name, data),\r\n delete: name => store.remove(name),\r\n clear: () => store.clear(),\r\n download: name => downloadFile(store, name),\r\n upload: file => uploadFile(store, files, file),\r\n };\r\n } catch (e) {\r\n window.DownloadFile = () => console.error('IndexedDB is not supported');\r\n window.DownloadSaves = () => console.error('IndexedDB is not supported');\r\n return {\r\n files: new Map(),\r\n update: () => Promise.resolve(),\r\n delete: () => Promise.resolve(),\r\n clear: () => Promise.resolve(),\r\n download: () => Promise.resolve(),\r\n upload: () => Promise.resolve(),\r\n };\r\n } \r\n}\r\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["api/game.worker.js","serviceWorker.js","api/load_spawn.js","api/loader.js","api/sound.js","App.js","index.js","fs.js"],"names":["module","exports","Worker","__webpack_require__","p","isLocalhost","Boolean","window","location","hostname","match","registerValidSW","swUrl","config","navigator","serviceWorker","register","then","registration","onupdatefound","installingWorker","installing","onstatechange","state","controller","console","log","onUpdate","onSuccess","catch","error","SpawnSize","load_spawn","_x","_x2","_load_spawn","apply","this","arguments","_callee","api","fs","file","spawn","data","regenerator_default","a","wrap","_context","prev","next","files","get","byteLength","delete","axios","request","url","process","responseType","onDownloadProgress","e","onProgress","text","loaded","total","headers","Cache-Control","sent","Error","Uint8Array","set","update","slice","abrupt","stop","onRender","ctx","_ref","bitmap","images","clip","belt","transferFromImageBitmap","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","Symbol","iterator","done","_ref5","value","x","y","w","h","image","createImageData","putImageData","err","return","length","save","font","x0","y0","x1","y1","beginPath","rect","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_ref4","str","color","r","g","b","fillStyle","concat","fillText","restore","updateBelt","audio","mpq","context","offscreen","canvas","getContext","alpha","Promise","resolve","reject","worker","addEventListener","_ref6","action","func","_len","params","Array","_key","postMessage","batch","Object","toConsumableArray","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_ref8","setCursorPos","openKeyboard","stop_all","onError","stack","onExit","setCurrentSave","name","transfer","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","_ref11","slicedToArray","push","buffer","load_game","do_load_game","AudioContext","webkitAudioContext","create_sound","duplicate_sound","play_sound","set_volume","stop_sound","delete_sound","sounds","Map","create_sound_raw","id","channels","rate","createBuffer","i","copyToChannel","subarray","gain","createGain","panner","StereoPannerNode","pan","decodeAudioData","srcId","src","volume","loop","source","Math","pow","relVolume","createBufferSource","connect","destination","start","_ref3","sound","clear","init_sound","reportLink","retail","message","URL","searchParams","split","map","line","join","userAgent","toString","ReactGA","initialize","pageview","TOUCH_MOVE","TOUCH_RMB","Link","children","props","objectWithoutProperties","react_default","createElement","assign","target","rel","App","_this","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","started","loading","dropping","has_spawn","cursorPos","touchControls","touchButtons","touchCtx","touchMods","touchBelt","create_fs","onDrop","dataTransfer","items","kind","getAsFile","getDropFile","preventDefault","setState","onDragEnter","setDropping","onDragOver","isDropFile","onDragLeave","downloadSave","saveName","download","stopPropagation","onResize","document","exitPointerLock","onPointerLockChange","screen","innerHeight","height","pointerLocked","game","onMouseMove","_this$mousePos","mousePos","eventMods","onMouseDown","keyboard","element","classList","remove","_this$mousePos2","requestPointerLock","mouseButton","onMouseUp","_this$mousePos3","onKeyDown","keyCode","key","showKeyboard","charCodeAt","clearKeySel","onMenu","onKeyUp","onKeyboard","_this2","valid","substring","values","_","parseFile","touchButton","touchCanvas","onTouchStart","updateTouchButton","touches","_this$mousePos4","onTouchMove","_this$mousePos5","onTouchEnd","prevTc","_this$mousePos6","index","setTouchButton","fullscreenElement","requestFullscreen","setCanvas","setElement","setKeyboard","setTouch0","setTouch_","bind","assertThisInitialized","setTouch1","setTouch2","setTouch3","setTouchBelt_","setTouch4","setTouch5","_this3","inc","_ref2","max","left","toFixed","top","width","add","style","focus","blur","_this4","getBoundingClientRect","right","bottom","setTimeout","progress","reload","idx","slot","display","drawImage","used","Set","pos","has","drawBelt","_this5","upload","removeEventListener","event","category","passive","capture","pointerLockElement","mozPointerLockElement","min","movementX","movementY","clientX","clientY","round","button","shiftKey","ctrlKey","altKey","len","setSelectionRange","use","toggle","now","performance","beltTime","release","_this6","touchOther","btn","_loop","identifier","stick","find","t","panPos","v","indexOf","original","_ret","setTouchMod","dx","dy","step","offsetHeight","abs","appendChild","_this7","_this$state","touch","className","classNames","ref","active","type","onChange","spellCheck","App_Link","href","onClick","htmlFor","accept","React","Component","ReactDOM","render","src_App_0","getElementById","origin","fetch","response","contentType","status","ready","unregister","checkValidServiceWorker","importStorage","frame","method","contentWindow","body","downloadFile","store","blob","lnk","C_Projects_diabloweb_diabloweb_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default","toLowerCase","Blob","createObjectURL","setAttribute","click","removeChild","revokeObjectURL","downloadSaves","_callee2","_context2","keys","t0","t1","finish","readFile","reader","FileReader","onload","result","onerror","onabort","readAsArrayBuffer","uploadFile","_callee3","_context3","_x7","_create_fs","_callee4","load","_i","_Object$entries","_ref7","_name","_data","_files","_context4","IdbKvStore","json","entries","C_Projects_diabloweb_diabloweb_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__","t2","DownloadFile","DownloadSaves","t3"],"mappings":"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","file":"static/js/main.4bf04ab4.chunk.js","sourcesContent":["module.exports = function() {\n return new Worker(__webpack_public_path__ + \"6aa26238cc9e8b6852cd.worker.js\");\n};","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import axios from 'axios';\r\n\r\nconst SpawnSize = 50274091;\r\n\r\nexport { SpawnSize };\r\n\r\nexport default async function load_spawn(api, fs) {\r\n let file = fs.files.get('spawn.mpq');\r\n if (file && file.byteLength !== SpawnSize) {\r\n fs.files.delete('spawn.mpq');\r\n await fs.delete('spawn.mpq');\r\n file = null;\r\n }\r\n if (!file) {\r\n const spawn = await axios.request({\r\n url: process.env.PUBLIC_URL + '/spawn.mpq',\r\n responseType: 'arraybuffer',\r\n onDownloadProgress: e => {\r\n if (api.onProgress) {\r\n api.onProgress({text: 'Downloading...', loaded: e.loaded, total: e.total || SpawnSize});\r\n }\r\n },\r\n headers: {\r\n 'Cache-Control': 'max-age=31536000'\r\n }\r\n });\r\n if (spawn.data.byteLength !== SpawnSize) {\r\n throw Error(\"Invalid spawn.mpq size. Try clearing cache and refreshing the page.\");\r\n }\r\n const data = new Uint8Array(spawn.data);\r\n fs.files.set('spawn.mpq', data);\r\n fs.update('spawn.mpq', data.slice());\r\n }\r\n return fs;\r\n}\r\n","import Worker from './game.worker.js';\r\nimport init_sound from './sound';\r\nimport load_spawn from './load_spawn';\r\n\r\nfunction onRender(api, ctx, {bitmap, images, text, clip, belt}) {\r\n if (bitmap) {\r\n ctx.transferFromImageBitmap(bitmap);\r\n } else {\r\n for (let {x, y, w, h, data} of images) {\r\n const image = ctx.createImageData(w, h);\r\n image.data.set(data);\r\n ctx.putImageData(image, x, y);\r\n }\r\n if (text.length) {\r\n ctx.save();\r\n ctx.font = 'bold 13px Times New Roman';\r\n if (clip) {\r\n const {x0, y0, x1, y1} = clip;\r\n ctx.beginPath();\r\n ctx.rect(x0, y0, x1 - x0, y1 - y0);\r\n ctx.clip();\r\n }\r\n for (let {x, y, text: str, color} of text) {\r\n const r = ((color >> 16) & 0xFF);\r\n const g = ((color >> 8) & 0xFF);\r\n const b = (color & 0xFF);\r\n ctx.fillStyle = `rgb(${r}, ${g}, ${b})`;\r\n ctx.fillText(str, x, y + 22);\r\n }\r\n ctx.restore();\r\n }\r\n }\r\n\r\n api.updateBelt(belt);\r\n}\r\n\r\nfunction testOffscreen() {\r\n return false;\r\n // This works but I couldn't see any performance difference, and support for 2D canvas in workers is very poor.\r\n // In this mode, instead of sending a batch of areas to draw back to the main thread, the worker does all drawing on its own and sends a complete bitmap object back.\r\n // However, this effectively clears the worker's canvas, so we need to redraw the whole frame every time, which defeats the performance gained from reduced copying.\r\n /*try {\r\n const canvas = document.createElement(\"canvas\");\r\n const offscreen = canvas.transferControlToOffscreen();\r\n const context = offscreen.getContext(\"2d\");\r\n return context != null;\r\n } catch (e) {\r\n return false;\r\n }*/\r\n}\r\n\r\nasync function do_load_game(api, audio, mpq, spawn) {\r\n const fs = await api.fs;\r\n if (spawn && !mpq) {\r\n await load_spawn(api, fs);\r\n }\r\n\r\n let context = null, offscreen = false;\r\n if (testOffscreen()) {\r\n context = api.canvas.getContext(\"bitmaprenderer\");\r\n offscreen = true;\r\n } else {\r\n context = api.canvas.getContext(\"2d\", {alpha: false});\r\n }\r\n return await new Promise((resolve, reject) => {\r\n try {\r\n const worker = new Worker();\r\n worker.addEventListener(\"message\", ({data}) => {\r\n switch (data.action) {\r\n case \"loaded\":\r\n resolve((func, ...params) => worker.postMessage({action: \"event\", func, params}));\r\n break;\r\n case \"render\":\r\n onRender(api, context, data.batch);\r\n break;\r\n case \"audio\":\r\n audio[data.func](...data.params);\r\n break;\r\n case \"audioBatch\":\r\n for (let {func, params} of data.batch) {\r\n audio[func](...params);\r\n }\r\n break;\r\n case \"fs\":\r\n fs[data.func](...data.params);\r\n break;\r\n case \"cursor\":\r\n api.setCursorPos(data.x, data.y);\r\n break;\r\n case \"keyboard\":\r\n api.openKeyboard(data.rect);\r\n break;\r\n case \"error\":\r\n audio.stop_all();\r\n api.onError(data.error, data.stack);\r\n break;\r\n case \"failed\":\r\n reject(Error(data.stack || data.error));\r\n break;\r\n case \"progress\":\r\n api.onProgress({text: data.text, loaded: data.loaded, total: data.total});\r\n break;\r\n case \"exit\":\r\n api.onExit();\r\n break;\r\n case \"current_save\":\r\n api.setCurrentSave(data.name);\r\n break;\r\n default:\r\n }\r\n });\r\n const transfer= [];\r\n for (let [, file] of fs.files) {\r\n transfer.push(file.buffer);\r\n }\r\n worker.postMessage({action: \"init\", files: fs.files, mpq, spawn, offscreen}, transfer);\r\n delete fs.files;\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n}\r\n\r\nexport default function load_game(api, mpq, spawn) {\r\n const audio = init_sound();\r\n return do_load_game(api, audio, mpq, spawn);\r\n}\r\n","function no_sound() {\r\n return {\r\n create_sound: () => 0,\r\n duplicate_sound: () => 0,\r\n play_sound: () => undefined,\r\n set_volume: () => undefined,\r\n stop_sound: () => undefined,\r\n delete_sound: () => undefined,\r\n };\r\n}\r\n\r\nexport default function init_sound() {\r\n const AudioContext = window.AudioContext || window.webkitAudioContext;\r\n if (!AudioContext) {\r\n return no_sound();\r\n }\r\n\r\n let context = null;\r\n try {\r\n context = new AudioContext();\r\n } catch (e) {\r\n }\r\n const sounds = new Map();\r\n\r\n return {\r\n create_sound_raw(id, data, length, channels, rate) {\r\n if (!context) {\r\n return;\r\n }\r\n const buffer = context.createBuffer(channels, length, rate);\r\n for (let i = 0; i < channels; ++i) {\r\n buffer.copyToChannel(data.subarray(i * length, i * length + length), i);\r\n }\r\n sounds.set(id, {\r\n buffer: Promise.resolve(buffer),\r\n gain: context.createGain(),\r\n panner: new StereoPannerNode(context, {pan: 0}),\r\n });\r\n },\r\n create_sound(id, data) {\r\n if (!context) {\r\n return;\r\n }\r\n const buffer = context.decodeAudioData(data.buffer);\r\n sounds.set(id, {\r\n buffer,\r\n gain: context.createGain(),\r\n panner: new StereoPannerNode(context, {pan: 0}),\r\n });\r\n },\r\n duplicate_sound(id, srcId) {\r\n if (!context) {\r\n return;\r\n }\r\n const src = sounds.get(srcId);\r\n if (!src) {\r\n return;\r\n }\r\n sounds.set(id, {\r\n buffer: src.buffer,\r\n gain: context.createGain(),\r\n panner: new StereoPannerNode(context, {pan: 0}),\r\n });\r\n },\r\n play_sound(id, volume, pan, loop) {\r\n const src = sounds.get(id);\r\n if (src) {\r\n if (src.source) {\r\n src.source.then(source => source.stop());\r\n }\r\n src.gain.gain.value = Math.pow(2.0, volume / 1000.0);\r\n const relVolume = Math.pow(2.0, pan / 1000.0);\r\n src.panner.pan.value = 1.0 - 2.0 / (1.0 + relVolume);\r\n src.source = src.buffer.then(buffer => {\r\n const source = context.createBufferSource();\r\n source.buffer = buffer;\r\n source.loop = !!loop;\r\n source.connect(src.gain).connect(src.panner).connect(context.destination);\r\n source.start();\r\n return source;\r\n });\r\n }\r\n },\r\n set_volume(id, volume) {\r\n const src = sounds.get(id);\r\n if (src) {\r\n src.gain.gain.value = Math.pow(2.0, volume / 1000.0);\r\n }\r\n },\r\n stop_sound(id) {\r\n const src = sounds.get(id);\r\n if (src && src.source) {\r\n src.source.then(source => source.stop());\r\n delete src.source;\r\n }\r\n },\r\n delete_sound(id) {\r\n const src = sounds.get(id);\r\n if (src && src.source) {\r\n src.source.then(source => source.stop());\r\n }\r\n sounds.delete(id);\r\n },\r\n\r\n stop_all() {\r\n for (let [, sound] of sounds) {\r\n if (sound.source) {\r\n sound.source.then(source => source.stop());\r\n }\r\n }\r\n sounds.clear();\r\n context = null;\r\n }\r\n };\r\n}\r\n","import React from 'react';\r\nimport './App.scss';\r\nimport classNames from 'classnames';\r\nimport ReactGA from 'react-ga';\r\n\r\nimport create_fs from './fs';\r\nimport load_game from './api/loader';\r\nimport { SpawnSize } from './api/load_spawn';\r\n\r\nif (process.env.NODE_ENV === 'production') {\r\n ReactGA.initialize('UA-43123589-6');\r\n ReactGA.pageview('/');\r\n}\r\n\r\nfunction reportLink(e, retail) {\r\n const message = e.stack || e.message || \"Unknown error\";\r\n const url = new URL(\"https://github.com/d07RiV/diabloweb/issues/new\");\r\n url.searchParams.set(\"body\",\r\n`**Description:**\r\n[Please describe what you were doing before the error occurred]\r\n\r\n**App version:**\r\nDiabloWeb ${process.env.VERSION} (${retail ? 'Retail' : 'Shareware'})\r\n\r\n**Error message:**\r\n \r\n${message.split(\"\\n\").map(line => \" \" + line).join(\"\\n\")}\r\n\r\n**User agent:**\r\n\r\n ${navigator.userAgent}\r\n\r\n**Save file:**\r\n[Please attach the save file, if applicable. The error box should have a link to download the current save you were playing; alternatively, you can open dev console on the game page (F12) and type in ${\"`DownloadSaves()`\"}]\r\n`);\r\n return url.toString();\r\n}\r\n\r\nfunction isDropFile(e) {\r\n if (e.dataTransfer.items) {\r\n for (let i = 0; i < e.dataTransfer.items.length; ++i) {\r\n if (e.dataTransfer.items[i].kind === \"file\") {\r\n return true;\r\n }\r\n }\r\n } if (e.dataTransfer.files.length) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction getDropFile(e) {\r\n if (e.dataTransfer.items) {\r\n for (let i = 0; i < e.dataTransfer.items.length; ++i) {\r\n if (e.dataTransfer.items[i].kind === \"file\") {\r\n return e.dataTransfer.items[i].getAsFile();\r\n }\r\n }\r\n } if (e.dataTransfer.files.length) {\r\n return e.dataTransfer.files[0];\r\n }\r\n}\r\n\r\nconst TOUCH_MOVE = 0;\r\nconst TOUCH_RMB = 1;\r\nconst TOUCH_SHIFT = 2;\r\n\r\nconst Link = ({children, ...props}) => {children};\r\n\r\nclass App extends React.Component {\r\n files = new Map();\r\n state = {started: false, loading: false, dropping: 0, has_spawn: false};\r\n cursorPos = {x: 0, y: 0};\r\n\r\n touchControls = false;\r\n touchButtons = [null, null, null, null, null, null];\r\n touchCtx = [null, null, null, null, null, null];\r\n touchMods = [false, false, false, false, false, false];\r\n touchBelt = [-1, -1, -1, -1, -1, -1];\r\n\r\n fs = create_fs(true);\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.setTouch0 = this.setTouch_.bind(this, 0);\r\n this.setTouch1 = this.setTouch_.bind(this, 1);\r\n this.setTouch2 = this.setTouch_.bind(this, 2);\r\n this.setTouch3 = this.setTouchBelt_.bind(this, 3);\r\n this.setTouch4 = this.setTouchBelt_.bind(this, 4);\r\n this.setTouch5 = this.setTouchBelt_.bind(this, 5);\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener(\"drop\", this.onDrop, true);\r\n document.addEventListener(\"dragover\", this.onDragOver, true);\r\n document.addEventListener(\"dragenter\", this.onDragEnter, true);\r\n document.addEventListener(\"dragleave\", this.onDragLeave, true);\r\n\r\n this.fs.then(fs => {\r\n const spawn = fs.files.get('spawn.mpq');\r\n if (spawn && spawn.byteLength === SpawnSize) {\r\n this.setState({has_spawn: true});\r\n }\r\n });\r\n }\r\n\r\n onDrop = e => {\r\n const file = getDropFile(e);\r\n if (file) {\r\n e.preventDefault();\r\n this.start(file);\r\n }\r\n this.setState({dropping: 0});\r\n }\r\n onDragEnter = e => {\r\n e.preventDefault();\r\n this.setDropping(1);\r\n }\r\n onDragOver = e => {\r\n if (isDropFile(e)) {\r\n e.preventDefault();\r\n }\r\n }\r\n onDragLeave = e => {\r\n this.setDropping(-1);\r\n }\r\n setDropping(inc) {\r\n this.setState(({dropping}) => ({dropping: Math.max(dropping + inc, 0)}));\r\n }\r\n\r\n onError(message, stack) {\r\n this.setState(({error}) => !error && {error: {message, stack}});\r\n }\r\n\r\n openKeyboard(rect) {\r\n if (rect) {\r\n this.showKeyboard = {\r\n left: `${(100 * (rect[0] - 10) / 640).toFixed(2)}%`,\r\n top: `${(100 * (rect[1] - 10) / 480).toFixed(2)}%`,\r\n width: `${(100 * (rect[2] - rect[0] + 20) / 640).toFixed(2)}%`,\r\n height: `${(100 * (rect[3] - rect[1] + 20) / 640).toFixed(2)}%`,\r\n };\r\n this.element.classList.add(\"keyboard\");\r\n Object.assign(this.keyboard.style, this.showKeyboard);\r\n this.keyboard.focus();\r\n } else {\r\n this.showKeyboard = false;\r\n this.element.classList.remove(\"keyboard\");\r\n this.keyboard.blur();\r\n this.keyboard.value = \"\";\r\n }\r\n }\r\n\r\n setCursorPos(x, y) {\r\n const rect = this.canvas.getBoundingClientRect();\r\n this.cursorPos = {\r\n x: rect.left + (rect.right - rect.left) * x / 640,\r\n y: rect.top + (rect.bottom - rect.top) * y / 480,\r\n };\r\n setTimeout(() => {\r\n this.game(\"DApi_Mouse\", 0, 0, 0, x, y);\r\n });\r\n }\r\n\r\n onProgress(progress) {\r\n this.setState({progress});\r\n }\r\n\r\n onExit() {\r\n if (!this.state.error) {\r\n window.location.reload();\r\n }\r\n }\r\n\r\n setCurrentSave(name) {\r\n this.saveName = name;\r\n }\r\n downloadSave = e => {\r\n this.fs.then(fs => this.saveName && fs.download(this.saveName));\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n drawBelt(idx, slot) {\r\n if (!this.canvas) return;\r\n if (!this.touchButtons[idx]) {\r\n return;\r\n }\r\n this.touchBelt[idx] = slot;\r\n if (slot >= 0) {\r\n this.touchButtons[idx].style.display = \"block\";\r\n this.touchCtx[idx].drawImage(this.canvas, 205 + 29 * slot, 357, 28, 28, 0, 0, 28, 28);\r\n } else {\r\n this.touchButtons[idx].style.display = \"none\";\r\n }\r\n }\r\n\r\n updateBelt(belt) {\r\n if (belt) {\r\n const used = new Set();\r\n let pos = 3;\r\n for (let i = 0; i < belt.length && pos < 6; ++i) {\r\n if (belt[i] >= 0 && !used.has(belt[i])) {\r\n this.drawBelt(pos++, i);\r\n used.add(belt[i]);\r\n }\r\n }\r\n for (; pos < 6; ++pos) {\r\n this.drawBelt(pos, -1);\r\n }\r\n } else {\r\n this.drawBelt(3, -1);\r\n this.drawBelt(4, -1);\r\n this.drawBelt(5, -1);\r\n }\r\n }\r\n\r\n start(file) {\r\n if (file && file.name.match(/\\.sv$/i)) {\r\n this.fs.then(fs => fs.upload(file)).then(console.log(`Updated ${file.name}`));\r\n return;\r\n }\r\n\r\n document.removeEventListener(\"drop\", this.onDrop, true);\r\n document.removeEventListener(\"dragover\", this.onDragOver, true);\r\n document.removeEventListener(\"dragenter\", this.onDragEnter, true);\r\n document.removeEventListener(\"dragleave\", this.onDragLeave, true);\r\n this.setState({dropping: 0});\r\n\r\n const retail = !!(file && file.name.match(/^diabdat\\.mpq$/i));\r\n if (process.env.NODE_ENV === 'production') {\r\n ReactGA.event({\r\n category: 'Game',\r\n action: retail ? 'Start Retail' : 'Start Shareware',\r\n });\r\n }\r\n\r\n this.setState({loading: true, retail});\r\n\r\n load_game(this, file, !retail).then(game => {\r\n this.game = game;\r\n\r\n document.addEventListener('mousemove', this.onMouseMove, true);\r\n document.addEventListener('mousedown', this.onMouseDown, true);\r\n document.addEventListener('mouseup', this.onMouseUp, true);\r\n document.addEventListener('keydown', this.onKeyDown, true);\r\n document.addEventListener('keyup', this.onKeyUp, true);\r\n document.addEventListener('contextmenu', this.onMenu, true);\r\n\r\n document.addEventListener('touchstart', this.onTouchStart, {passive: false, capture: true});\r\n document.addEventListener('touchmove', this.onTouchMove, {passive: false, capture: true});\r\n document.addEventListener('touchend', this.onTouchEnd, {passive: false, capture: true});\r\n\r\n document.addEventListener('pointerlockchange', this.onPointerLockChange);\r\n window.addEventListener('resize', this.onResize);\r\n\r\n this.setState({started: true});\r\n }, e => this.onError(e.message, e.stack));\r\n }\r\n\r\n pointerLocked() {\r\n return document.pointerLockElement === this.canvas || document.mozPointerLockElement === this.canvas;\r\n }\r\n\r\n mousePos(e) {\r\n const rect = this.canvas.getBoundingClientRect();\r\n if (this.pointerLocked()) {\r\n this.cursorPos.x = Math.max(rect.left, Math.min(rect.right, this.cursorPos.x + e.movementX));\r\n this.cursorPos.y = Math.max(rect.top, Math.min(rect.bottom, this.cursorPos.y + e.movementY));\r\n } else {\r\n this.cursorPos = {x: e.clientX, y: e.clientY};\r\n }\r\n return {\r\n x: Math.max(0, Math.min(Math.round((this.cursorPos.x - rect.left) / (rect.right - rect.left) * 640), 639)),\r\n y: Math.max(0, Math.min(Math.round((this.cursorPos.y - rect.top) / (rect.bottom - rect.top) * 480), 479)),\r\n };\r\n }\r\n\r\n mouseButton(e) {\r\n switch (e.button) {\r\n case 0: return 1;\r\n case 1: return 4;\r\n case 2: return 2;\r\n case 3: return 5;\r\n case 4: return 6;\r\n default: return 1;\r\n }\r\n }\r\n eventMods(e) {\r\n return ((e.shiftKey || this.touchMods[TOUCH_SHIFT]) ? 1 : 0) + (e.ctrlKey ? 2 : 0) + (e.altKey ? 4 : 0) + (e.touches ? 8 : 0);\r\n }\r\n\r\n onResize = () => {\r\n document.exitPointerLock();\r\n }\r\n\r\n onPointerLockChange = () => {\r\n if (window.screen && window.innerHeight === window.screen.height && !this.pointerLocked()) {\r\n // assume that the user pressed escape\r\n this.game(\"DApi_Key\", 0, 0, 27);\r\n this.game(\"DApi_Key\", 1, 0, 27);\r\n }\r\n }\r\n\r\n onMouseMove = e => {\r\n if (!this.canvas) return;\r\n const {x, y} = this.mousePos(e);\r\n this.game(\"DApi_Mouse\", 0, 0, this.eventMods(e), x, y);\r\n e.preventDefault();\r\n }\r\n\r\n onMouseDown = e => {\r\n if (!this.canvas) return;\r\n if (e.target === this.keyboard) {\r\n return;\r\n }\r\n if (this.touchControls) {\r\n this.touchControls = false;\r\n this.element.classList.remove(\"touch\");\r\n }\r\n const {x, y} = this.mousePos(e);\r\n if (window.screen && window.innerHeight === window.screen.height) {\r\n // we're in fullscreen, let's get pointer lock!\r\n if (!this.pointerLocked()) {\r\n this.canvas.requestPointerLock();\r\n }\r\n }\r\n this.game(\"DApi_Mouse\", 1, this.mouseButton(e), this.eventMods(e), x, y);\r\n e.preventDefault();\r\n }\r\n\r\n onMouseUp = e => {\r\n if (!this.canvas) return;\r\n if (e.target === this.keyboard) {\r\n return;\r\n }\r\n const {x, y} = this.mousePos(e);\r\n this.game(\"DApi_Mouse\", 2, this.mouseButton(e), this.eventMods(e), x, y);\r\n e.preventDefault();\r\n }\r\n\r\n onKeyDown = e => {\r\n if (!this.canvas) return;\r\n this.game(\"DApi_Key\", 0, this.eventMods(e), e.keyCode);\r\n if (e.keyCode >= 32 && e.key.length === 1 && !this.showKeyboard) {\r\n this.game(\"DApi_Char\", e.key.charCodeAt(0));\r\n }\r\n this.clearKeySel();\r\n if (!this.showKeyboard) {\r\n if (e.keyCode === 8 || (e.keyCode >= 112 && e.keyCode <= 119)) {\r\n e.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n onMenu = e => {\r\n e.preventDefault();\r\n }\r\n\r\n onKeyUp = e => {\r\n if (!this.canvas) return;\r\n this.game(\"DApi_Key\", 1, this.eventMods(e), e.keyCode);\r\n this.clearKeySel();\r\n }\r\n\r\n clearKeySel() {\r\n if (this.showKeyboard) {\r\n const len = this.keyboard.value.length;\r\n this.keyboard.setSelectionRange(len, len);\r\n }\r\n }\r\n\r\n onKeyboard = () => {\r\n if (this.showKeyboard) {\r\n const text = this.keyboard.value;\r\n const valid = (text.match(/[\\x20-\\x7E]/g) || []).join(\"\").substring(0, 15);\r\n if (text !== valid) {\r\n this.keyboard.value = valid;\r\n }\r\n this.clearKeySel();\r\n const values = [...Array(15)].map((_, i) => i < valid.length ? valid.charCodeAt(i) : 0);\r\n this.game(\"DApi_SyncText\", ...values);\r\n }\r\n }\r\n\r\n parseFile = e => {\r\n const files = e.target.files;\r\n if (files.length > 0) {\r\n this.start(files[0]);\r\n }\r\n }\r\n\r\n touchButton = null;\r\n touchCanvas = null;\r\n\r\n setTouchMod(index, value, use) {\r\n if (index < 3) {\r\n this.touchMods[index] = value;\r\n if (this.touchButtons[index]) {\r\n this.touchButtons[index].classList.toggle(\"active\", value);\r\n }\r\n } else if (use && this.touchBelt[index] >= 0) {\r\n const now = performance.now();\r\n if (!this.beltTime || now - this.beltTime > 750) {\r\n this.game(\"DApi_Char\", 49 + this.touchBelt[index]);\r\n this.beltTime = now;\r\n }\r\n }\r\n }\r\n\r\n updateTouchButton(touches, release) {\r\n let touchOther = null;\r\n if (!this.touchControls) {\r\n this.touchControls = true;\r\n this.element.classList.add(\"touch\");\r\n }\r\n const btn = this.touchButton;\r\n for (let {target, identifier, clientX, clientY} of touches) {\r\n if (btn && btn.id === identifier && this.touchButtons[btn.index] === target) {\r\n if (touches.length > 1) {\r\n btn.stick = false;\r\n }\r\n btn.clientX = clientX;\r\n btn.clientY = clientY;\r\n this.touchCanvas = [...touches].find(t => t.identifier !== identifier);\r\n if (this.touchCanvas) {\r\n this.touchCanvas = {clientX: this.touchCanvas.clientX, clientY: this.touchCanvas.clientY};\r\n }\r\n delete this.panPos;\r\n return this.touchCanvas != null;\r\n }\r\n const idx = this.touchButtons.indexOf(target);\r\n if (idx >= 0 && !touchOther) {\r\n touchOther = {id: identifier, index: idx, stick: true, original: this.touchMods[idx], clientX, clientY};\r\n }\r\n }\r\n if (btn && !touchOther && release && btn.stick) {\r\n const rect = this.touchButtons[btn.index].getBoundingClientRect();\r\n const {clientX, clientY} = btn;\r\n if (clientX >= rect.left && clientX < rect.right && clientY >= rect.top && clientY < rect.bottom) {\r\n this.setTouchMod(btn.index, !btn.original, true);\r\n } else {\r\n this.setTouchMod(btn.index, btn.original);\r\n }\r\n } else if (btn) {\r\n this.setTouchMod(btn.index, false);\r\n }\r\n this.touchButton = touchOther;\r\n if (touchOther) {\r\n this.setTouchMod(touchOther.index, true);\r\n if (touchOther.index === TOUCH_MOVE) {\r\n this.setTouchMod(TOUCH_RMB, false);\r\n } else if (touchOther.index === TOUCH_RMB) {\r\n this.setTouchMod(TOUCH_MOVE, false);\r\n }\r\n delete this.panPos;\r\n } else if (touches.length === 2) {\r\n const x = (touches[1].clientX + touches[0].clientX) / 2, y = (touches[1].clientY + touches[0].clientY) / 2;\r\n if (this.panPos) {\r\n const dx = x - this.panPos.x, dy = y - this.panPos.y;\r\n const step = this.canvas.offsetHeight / 12;\r\n if (Math.max(Math.abs(dx), Math.abs(dy)) > step) {\r\n let key;\r\n if (Math.abs(dx) > Math.abs(dy)) {\r\n key = (dx > 0 ? 0x25 : 0x27);\r\n } else {\r\n key = (dy > 0 ? 0x26 : 0x28);\r\n }\r\n this.game(\"DApi_Key\", 0, 0, key);\r\n // key up is ignored anyway\r\n this.panPos = {x, y};\r\n }\r\n } else {\r\n this.game(\"DApi_Mouse\", 0, 0, 24, 320, 180);\r\n this.game(\"DApi_Mouse\", 2, 1, 24, 320, 180);\r\n this.panPos = {x, y};\r\n }\r\n this.touchCanvas = null;\r\n return false;\r\n } else {\r\n delete this.panPos;\r\n }\r\n this.touchCanvas = [...touches].find(t => !touchOther || t.identifier !== touchOther.id);\r\n if (this.touchCanvas) {\r\n this.touchCanvas = {clientX: this.touchCanvas.clientX, clientY: this.touchCanvas.clientY};\r\n }\r\n return this.touchCanvas != null;\r\n }\r\n\r\n onTouchStart = e => {\r\n if (!this.canvas) return;\r\n if (e.target === this.keyboard) {\r\n return;\r\n }\r\n e.preventDefault();\r\n if (this.updateTouchButton(e.touches, false)) {\r\n const {x, y} = this.mousePos(this.touchCanvas);\r\n this.game(\"DApi_Mouse\", 0, 0, this.eventMods(e), x, y);\r\n if (!this.touchMods[TOUCH_MOVE]) {\r\n this.game(\"DApi_Mouse\", 1, this.touchMods[TOUCH_RMB] ? 2 : 1, this.eventMods(e), x, y);\r\n }\r\n }\r\n }\r\n onTouchMove = e => {\r\n if (!this.canvas) return;\r\n if (e.target === this.keyboard) {\r\n return;\r\n }\r\n e.preventDefault();\r\n if (this.updateTouchButton(e.touches, false)) {\r\n const {x, y} = this.mousePos(this.touchCanvas);\r\n this.game(\"DApi_Mouse\", 0, 0, this.eventMods(e), x, y);\r\n }\r\n }\r\n onTouchEnd = e => {\r\n if (!this.canvas) return;\r\n if (e.target === this.keyboard) {\r\n return;\r\n }\r\n e.preventDefault();\r\n const prevTc = this.touchCanvas;\r\n this.updateTouchButton(e.touches, true);\r\n if (prevTc && !this.touchCanvas) {\r\n const {x, y} = this.mousePos(prevTc);\r\n this.game(\"DApi_Mouse\", 2, 1, this.eventMods(e), x, y);\r\n this.game(\"DApi_Mouse\", 2, 2, this.eventMods(e), x, y);\r\n\r\n if (this.touchMods[TOUCH_RMB] && (!this.touchButton || this.touchButton.index !== TOUCH_RMB)) {\r\n this.setTouchButton(TOUCH_RMB, false);\r\n }\r\n }\r\n if (!document.fullscreenElement) {\r\n this.element.requestFullscreen();\r\n }\r\n }\r\n\r\n setCanvas = e => this.canvas = e;\r\n setElement = e => this.element = e;\r\n setKeyboard = e => this.keyboard = e;\r\n setTouch_(i, e) {\r\n this.touchButtons[i] = e;\r\n }\r\n setTouchBelt_(i, e) {\r\n this.touchButtons[i] = e;\r\n if (e) {\r\n const canvas = document.createElement(\"canvas\");\r\n canvas.width = 28;\r\n canvas.height = 28;\r\n e.appendChild(canvas);\r\n this.touchCtx[i] = canvas.getContext(\"2d\");\r\n } else {\r\n this.touchCtx[i] = null;\r\n }\r\n }\r\n\r\n render() {\r\n const {started, loading, error, progress, dropping, touch, has_spawn} = this.state;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {!error && }\r\n \r\n
\r\n
\r\n
\r\n {!!error && (\r\n \r\n

The following error has occurred:

\r\n

{error.message}

\r\n

Click to create an issue on GitHub

\r\n {this.saveName != null &&

Download save file

}\r\n \r\n )}\r\n {!!loading && !started && !error && (\r\n
\r\n {(progress && progress.text) || 'Loading...'}\r\n {progress != null && !!progress.total && (\r\n \r\n )}\r\n
\r\n )}\r\n {!started && !loading && !error && (\r\n
\r\n

\r\n This is a web port of the original Diablo game, based on source code reconstructed by\r\n GalaXyHaXz and devilution team. The project page with information and links can be found over here https://github.com/d07RiV/diabloweb\r\n

\r\n

\r\n If you own the original game, you can drop the original DIABDAT.MPQ onto this page or click the button below to start playing.\r\n The game can be purchased from GoG.\r\n

\r\n {!has_spawn && (\r\n

\r\n Or you can play the shareware version for free (50MB download).\r\n

\r\n )}\r\n
\r\n \r\n \r\n
\r\n this.start()}>Play Shareware\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './reset.css';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nimport App from './App';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\nserviceWorker.register();\r\n","import IdbKvStore from 'idb-kv-store';\r\n\r\nconst importStorage = () => new Promise((resolve, reject) => {\r\n let done = false;\r\n const frame = document.createElement('iframe');\r\n window.addEventListener('message', ({data}) => {\r\n if (data.method === 'storage' && !done) {\r\n done = true;\r\n resolve(data.files);\r\n frame.contentWindow.postMessage({method: 'clear'}, '*');\r\n }\r\n });\r\n frame.addEventListener('load', () => {\r\n frame.contentWindow.postMessage({method: 'transfer'}, '*');\r\n });\r\n frame.addEventListener('error', () => {\r\n if (!done) {\r\n done = true;\r\n resolve(null);\r\n }\r\n });\r\n frame.src = \"https://diablo.rivsoft.net/storage.html\";\r\n frame.style.display = \"none\";\r\n document.body.appendChild(frame);\r\n setTimeout(() => {\r\n if (!done) {\r\n done = true;\r\n resolve(null);\r\n }\r\n }, 10000);\r\n});\r\n\r\nasync function downloadFile(store, name) {\r\n const file = await store.get(name.toLowerCase());\r\n if (file) {\r\n const blob = new Blob([file], {type: 'binary/octet-stream'});\r\n const url = URL.createObjectURL(blob);\r\n const lnk = document.createElement('a');\r\n lnk.setAttribute('href', url);\r\n lnk.setAttribute('download', name);\r\n document.body.appendChild(lnk);\r\n lnk.click();\r\n document.body.removeChild(lnk);\r\n URL.revokeObjectURL(url);\r\n } else {\r\n console.error(`File ${name} does not exist`);\r\n }\r\n}\r\n\r\nasync function downloadSaves(store) {\r\n for (let name of await store.keys()) {\r\n if (name.match(/\\.sv$/i)) {\r\n downloadFile(store, name);\r\n }\r\n }\r\n}\r\n\r\nconst readFile = file => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = () => reject(reader.error);\r\n reader.onabort = () => reject();\r\n reader.readAsArrayBuffer(file);\r\n});\r\nasync function uploadFile(store, files, file) {\r\n const data = new Uint8Array(await readFile(file));\r\n files.set(file.name.toLowerCase(), data);\r\n return store.set(file.name.toLowerCase(), data);\r\n}\r\n\r\nexport default async function create_fs(load) {\r\n try {\r\n const store = new IdbKvStore('diablo_fs');\r\n const files = new Map();\r\n for (let [name, data] of Object.entries(await store.json())) {\r\n files.set(name, data);\r\n }\r\n if (load) {\r\n const files = await importStorage();\r\n if (files) {\r\n for (let [name, data] of files) {\r\n files.set(name, data);\r\n store.set(name, data);\r\n }\r\n }\r\n }\r\n window.DownloadFile = name => downloadFile(store, name);\r\n window.DownloadSaves = () => downloadSaves(store);\r\n return {\r\n files,\r\n update: (name, data) => store.set(name, data),\r\n delete: name => store.remove(name),\r\n clear: () => store.clear(),\r\n download: name => downloadFile(store, name),\r\n upload: file => uploadFile(store, files, file),\r\n };\r\n } catch (e) {\r\n window.DownloadFile = () => console.error('IndexedDB is not supported');\r\n window.DownloadSaves = () => console.error('IndexedDB is not supported');\r\n return {\r\n files: new Map(),\r\n update: () => Promise.resolve(),\r\n delete: () => Promise.resolve(),\r\n clear: () => Promise.resolve(),\r\n download: () => Promise.resolve(),\r\n upload: () => Promise.resolve(),\r\n };\r\n } \r\n}\r\n"],"sourceRoot":""} \ No newline at end of file diff --git a/static/media/Diablo.b852e747.wasm b/static/media/Diablo.283757c2.wasm similarity index 60% rename from static/media/Diablo.b852e747.wasm rename to static/media/Diablo.283757c2.wasm index e52a13309880577b4dcd31662c830e9e8df94a08..a02231391fab9e88fd3847274c09ac5c5f29aba3 100644 GIT binary patch delta 158986 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

@VO@G)Ua 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�jR^vO3~&ycfM3|OgEHQ(GTrX%%p@AGq9iObr&QcJe17~5C1t{B@#HD!%` zU0vbtO1PEO%~+EL--Avepz{dazq(a$(=d?h{pfR8f&?OKRK>Z%i6oA@;h#!n}qQr}k zt_Kx>g0|ujMG)DHMEbeJ=}6Z}oQ-rZ$VEm+0WM3$Ur7D3@z5oRbUl&wm3Ro!u@cWk z`i;Z~kQPcDwG9tFfI5K4|23q;C3Yd50@?`r-H^GID%(+75E*wu`UZ%dKL(xyS`Q*U zeo08VE3thCzD@<|3>pU_{Z~j2NqiG&bdE*o0V3Tjq$?#piL@A$xYK1QU)zbtFhDCo z=RxF9ZWn%X5Jb2k(&iF(KspHYiR4!!-74{Uq*o=5-i@bPK;+*AX)lRKA)P4k0vAAr zWPV0^8&q$P;q)fb5uo*;+n}Vq7<8b`pa-DV`|!40&=yb;C}}?`0s02?7bqzgV+gbr z^Z?ZQ2a7TuvHr^A)wWuE1-%eEy^n= z(f@M+j)2OXvM60ZQ$hPc_S2YZpoyS8Amz;e>+0TPqB!CJj_5j8#gw$wDz<4_ELe(f!BWnNCbrTCDOge(YuBbGRUkD+n`&*M z6+}Tr5nABN<3z=N=g@fNlF!Zl=62_1XLs-JkKf#K4xj)wJeYUc(AMEwv|~mSBZseX z9Wl*@whH_4J0@J=gvD+&;6Wiz$u0C0KcWk>t}>+f3e9j`GqhzW#VG`~^7(+xIF3O) z+s0*vI`km%IydD+E$$%x23Hm;aSc;%@?nO;3ZBkkLOVl<9caWoEVyN8`KZP%Oux-x zz~{J(r#d(c*o)H$y2FT}81=Y^g`IQ+htZD6E-p!I$MG(X{{Rcm{LQeT5>0UZL+?q)XsIZ|Pw2y(9z$D;D%`-7UPDVq8P37!;d2C=aTL8s{Fn0zN6?Q2eT7^yeGC)2 z5Z}+xqZ;jq8Q|aNaS%<27&NpDxN!;LUiJp1IE8?_BvfGwPQo$7@rD~0@$@}I%Rwbt z5mk8K&{n{W3lI-D2~mnO7&}aZcn`oF`KmB zJXGNdT*g=}9j|`M(|M?C++P?8rjO&rEI+1xg=OS!%+FiDE;?~;!rTPDZ@ms@SZZE& z&YSC36Wdki!{arydct;|eP;>ROh%`!|oS^SV|?eEam1*fZ+&3g;N@(xdeo zS^rC7Rc=_q*-1I;D94L3lJd4+yXo}QKi)PH`+mdvHs~N(In3{kL%2n&e_T8&t|0br zaDe!2zwLtq|G)hjV*l4YK`KsovZpUmaqLk8YER;bRrv*_+M}z!4eY321ets#a^?xq zI#GQG&-3cqWJF_dP}hRJGV-Koac1y_tI=}6kj{D$AJDo#(D|oKsuyv3fLvKG(t=eI zzMA0?F1IuY*Z2h9{R6@RY?d3S3Rg4t)YL^2>amzr-jO;l=`J~`LCjoPOs$$^qh|W3 z+;TO?LOrrr^JB^qY=!zCs1T@$DQZHSnxCa+jQY2(#z&=)Zo^j9ftllrsM=1r!&miJ z1GmN4$>J^*!oSrRV%6$2#Nu(E57ESK;yqA_$#E!!N`RgYl>#}E-LGjUSa&b+Cm7xS z4C-iqoNt1VuiN&PMsd&~C!H0q$?`Vgk_*m=8?xZ6$db>si9`1E>mtb^>u!k%yZNk0 z4&8TC1j+6;u}~JZkUU!2EFAXKW)bR;37ulHeas_P=`yWT%$IGw;(58OSCq>SJtA4g zdqjp^+$nwwutWPq?O2(WWQEJvA@PQN+$)yrcG-}4(Xi(Xivzm6^gt|^1BWcjz0*vR zjSs~UcfC1HX6k09)OB;Bd&pdE*Xia-hYSrh^X&~m=4TH3qfj%Z+g>}-@&?Hh!)Ap2 z^RRi?Wv`C1dZJ`miWMziPO+BQ-=$a`uiLM5hzoke#vEwW77<3Bl)e_#Lr delta 157943 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%0A}NUphs8DlpEcddY59N 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 D>Qec` diff --git a/static/media/DiabloSpawn.2f791d70.wasm b/static/media/DiabloSpawn.2755a1a7.wasm similarity index 59% rename from static/media/DiabloSpawn.2f791d70.wasm rename to static/media/DiabloSpawn.2755a1a7.wasm index 577ee9effad915f0a392e54c02434f5df8bc8967..088a2474f82a0ad6c1ee72ff973574bd0e38a6f6 100644 GIT binary patch delta 140341 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 a-I>Vy9AUL;K00hr=4dPE`GUwbj{gHzk+5U{