123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232 |
- var BASIS = function() {
- var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0;
- if (typeof __filename !== "undefined")
- _scriptDir = _scriptDir || __filename;
- return function(BASIS2) {
- BASIS2 = BASIS2 || {};
- var Module = typeof BASIS2 !== "undefined" ? BASIS2 : {};
- var readyPromiseResolve, readyPromiseReject;
- Module["ready"] = new Promise(function(resolve, reject) {
- readyPromiseResolve = resolve;
- readyPromiseRejectza = reject;
- });
- var moduleOverrides = {};
- var key;
- for (key in Module) {
- if (Module.hasOwnProperty(key)) {
- moduleOverrides[key] = Module[key];
- }
- }
- var arguments_ = [];
- var thisProgram = "./this.program";
- var quit_ = function(status, toThrow) {
- throw toThrow;
- };
- 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 process.versions === "object" && typeof process.versions.node === "string";
- 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);
- }
- return scriptDirectory + path;
- }
- var read_, readAsync, readBinary, setWindowTitle;
- var nodeFS;
- var nodePath;
- if (ENVIRONMENT_IS_NODE) {
- if (ENVIRONMENT_IS_WORKER) {
- scriptDirectory = require("path").dirname(scriptDirectory) + "/";
- } else {
- scriptDirectory = __dirname + "/";
- }
- read_ = function shell_read(filename, binary) {
- if (!nodeFS)
- nodeFS = require("fs");
- if (!nodePath)
- nodePath = require("path");
- filename = nodePath["normalize"](filename);
- return nodeFS["readFileSync"](filename, binary ? null : "utf8");
- };
- readBinary = function readBinary2(filename) {
- var ret = read_(filename, true);
- if (!ret.buffer) {
- ret = new Uint8Array(ret);
- }
- assert(ret.buffer);
- return ret;
- };
- if (process["argv"].length > 1) {
- thisProgram = process["argv"][1].replace(/\\/g, "/");
- }
- arguments_ = process["argv"].slice(2);
- process["on"]("uncaughtException", function(ex) {
- if (!(ex instanceof ExitStatus)) {
- throw ex;
- }
- });
- process["on"]("unhandledRejection", abort);
- quit_ = function(status) {
- process["exit"](status);
- };
- Module["inspect"] = function() {
- return "[Emscripten Module object]";
- };
- } else if (ENVIRONMENT_IS_SHELL) {
- if (typeof read != "undefined") {
- read_ = function shell_read(f) {
- return read(f);
- };
- }
- readBinary = function readBinary2(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") {
- arguments_ = scriptArgs;
- } else if (typeof arguments != "undefined") {
- arguments_ = arguments;
- }
- if (typeof quit === "function") {
- quit_ = function(status) {
- quit(status);
- };
- }
- if (typeof print !== "undefined") {
- if (typeof console === "undefined")
- console = {};
- console.log = print;
- console.warn = console.error = typeof printErr !== "undefined" ? printErr : print;
- }
- } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
- if (ENVIRONMENT_IS_WORKER) {
- scriptDirectory = self.location.href;
- } else if (typeof document !== "undefined" && document.currentScript) {
- scriptDirectory = document.currentScript.src;
- }
- if (_scriptDir) {
- scriptDirectory = _scriptDir;
- }
- if (scriptDirectory.indexOf("blob:") !== 0) {
- scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
- } else {
- scriptDirectory = "";
- }
- {
- read_ = function(url) {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, false);
- xhr.send(null);
- return xhr.responseText;
- };
- if (ENVIRONMENT_IS_WORKER) {
- readBinary = function(url) {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, false);
- xhr.responseType = "arraybuffer";
- xhr.send(null);
- return new Uint8Array(xhr.response);
- };
- }
- readAsync = function(url, onload, onerror) {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, true);
- xhr.responseType = "arraybuffer";
- xhr.onload = function() {
- if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
- onload(xhr.response);
- return;
- }
- onerror();
- };
- xhr.onerror = onerror;
- xhr.send(null);
- };
- }
- setWindowTitle = function(title) {
- document.title = title;
- };
- } else {
- }
- var out = Module["print"] || console.log.bind(console);
- var err = Module["printErr"] || console.warn.bind(console);
- for (key in moduleOverrides) {
- if (moduleOverrides.hasOwnProperty(key)) {
- Module[key] = moduleOverrides[key];
- }
- }
- moduleOverrides = null;
- if (Module["arguments"])
- arguments_ = Module["arguments"];
- if (Module["thisProgram"])
- thisProgram = Module["thisProgram"];
- if (Module["quit"])
- quit_ = Module["quit"];
- var tempRet0 = 0;
- var setTempRet0 = function(value) {
- tempRet0 = value;
- };
- var wasmBinary;
- if (Module["wasmBinary"])
- wasmBinary = Module["wasmBinary"];
- var noExitRuntime = Module["noExitRuntime"] || true;
- if (typeof WebAssembly !== "object") {
- abort("no native wasm support detected");
- }
- var wasmMemory;
- var ABORT = false;
- var EXITSTATUS;
- function assert(condition, text) {
- if (!condition) {
- abort("Assertion failed: " + text);
- }
- }
- var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : void 0;
- function UTF8ArrayToString(heap, idx, maxBytesToRead) {
- var endIdx = idx + maxBytesToRead;
- var endPtr = idx;
- while (heap[endPtr] && !(endPtr >= endIdx))
- ++endPtr;
- if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) {
- return UTF8Decoder.decode(heap.subarray(idx, endPtr));
- } else {
- var str = "";
- while (idx < endPtr) {
- var u0 = heap[idx++];
- if (!(u0 & 128)) {
- str += String.fromCharCode(u0);
- continue;
- }
- var u1 = heap[idx++] & 63;
- if ((u0 & 224) == 192) {
- str += String.fromCharCode((u0 & 31) << 6 | u1);
- continue;
- }
- var u2 = heap[idx++] & 63;
- if ((u0 & 240) == 224) {
- u0 = (u0 & 15) << 12 | u1 << 6 | u2;
- } else {
- u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++] & 63;
- }
- if (u0 < 65536) {
- str += String.fromCharCode(u0);
- } else {
- var ch = u0 - 65536;
- str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
- }
- }
- }
- return str;
- }
- function UTF8ToString(ptr, maxBytesToRead) {
- return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
- }
- function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
- if (!(maxBytesToWrite > 0))
- return 0;
- var startIdx = outIdx;
- var endIdx = outIdx + maxBytesToWrite - 1;
- for (var i = 0; i < str.length; ++i) {
- var u = str.charCodeAt(i);
- if (u >= 55296 && u <= 57343) {
- var u1 = str.charCodeAt(++i);
- u = 65536 + ((u & 1023) << 10) | u1 & 1023;
- }
- if (u <= 127) {
- if (outIdx >= endIdx)
- break;
- heap[outIdx++] = u;
- } else if (u <= 2047) {
- if (outIdx + 1 >= endIdx)
- break;
- heap[outIdx++] = 192 | u >> 6;
- heap[outIdx++] = 128 | u & 63;
- } else if (u <= 65535) {
- if (outIdx + 2 >= endIdx)
- break;
- heap[outIdx++] = 224 | u >> 12;
- heap[outIdx++] = 128 | u >> 6 & 63;
- heap[outIdx++] = 128 | u & 63;
- } else {
- if (outIdx + 3 >= endIdx)
- break;
- heap[outIdx++] = 240 | u >> 18;
- heap[outIdx++] = 128 | u >> 12 & 63;
- heap[outIdx++] = 128 | u >> 6 & 63;
- heap[outIdx++] = 128 | u & 63;
- }
- }
- heap[outIdx] = 0;
- return outIdx - startIdx;
- }
- function stringToUTF8(str, outPtr, maxBytesToWrite) {
- return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
- }
- function lengthBytesUTF8(str) {
- var len = 0;
- for (var i = 0; i < str.length; ++i) {
- var u = str.charCodeAt(i);
- if (u >= 55296 && u <= 57343)
- u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
- if (u <= 127)
- ++len;
- else if (u <= 2047)
- len += 2;
- else if (u <= 65535)
- len += 3;
- else
- len += 4;
- }
- return len;
- }
- var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : void 0;
- function UTF16ToString(ptr, maxBytesToRead) {
- var endPtr = ptr;
- var idx = endPtr >> 1;
- var maxIdx = idx + maxBytesToRead / 2;
- while (!(idx >= maxIdx) && HEAPU16[idx])
- ++idx;
- endPtr = idx << 1;
- if (endPtr - ptr > 32 && UTF16Decoder) {
- return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));
- } else {
- var str = "";
- for (var i = 0; !(i >= maxBytesToRead / 2); ++i) {
- var codeUnit = HEAP16[ptr + i * 2 >> 1];
- if (codeUnit == 0)
- break;
- str += String.fromCharCode(codeUnit);
- }
- return str;
- }
- }
- function stringToUTF16(str, outPtr, maxBytesToWrite) {
- if (maxBytesToWrite === void 0) {
- maxBytesToWrite = 2147483647;
- }
- if (maxBytesToWrite < 2)
- return 0;
- maxBytesToWrite -= 2;
- var startPtr = outPtr;
- var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length;
- for (var i = 0; i < numCharsToWrite; ++i) {
- var codeUnit = str.charCodeAt(i);
- HEAP16[outPtr >> 1] = codeUnit;
- outPtr += 2;
- }
- HEAP16[outPtr >> 1] = 0;
- return outPtr - startPtr;
- }
- function lengthBytesUTF16(str) {
- return str.length * 2;
- }
- function UTF32ToString(ptr, maxBytesToRead) {
- var i = 0;
- var str = "";
- while (!(i >= maxBytesToRead / 4)) {
- var utf32 = HEAP32[ptr + i * 4 >> 2];
- if (utf32 == 0)
- break;
- ++i;
- if (utf32 >= 65536) {
- var ch = utf32 - 65536;
- str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
- } else {
- str += String.fromCharCode(utf32);
- }
- }
- return str;
- }
- function stringToUTF32(str, outPtr, maxBytesToWrite) {
- if (maxBytesToWrite === void 0) {
- maxBytesToWrite = 2147483647;
- }
- if (maxBytesToWrite < 4)
- return 0;
- var startPtr = outPtr;
- var endPtr = startPtr + maxBytesToWrite - 4;
- for (var i = 0; i < str.length; ++i) {
- var codeUnit = str.charCodeAt(i);
- if (codeUnit >= 55296 && codeUnit <= 57343) {
- var trailSurrogate = str.charCodeAt(++i);
- codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023;
- }
- HEAP32[outPtr >> 2] = codeUnit;
- outPtr += 4;
- if (outPtr + 4 > endPtr)
- break;
- }
- HEAP32[outPtr >> 2] = 0;
- return outPtr - startPtr;
- }
- function lengthBytesUTF32(str) {
- var len = 0;
- for (var i = 0; i < str.length; ++i) {
- var codeUnit = str.charCodeAt(i);
- if (codeUnit >= 55296 && codeUnit <= 57343)
- ++i;
- len += 4;
- }
- return len;
- }
- 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 updateGlobalBufferAndViews(buf) {
- buffer = buf;
- Module["HEAP8"] = HEAP8 = new Int8Array(buf);
- Module["HEAP16"] = HEAP16 = new Int16Array(buf);
- Module["HEAP32"] = HEAP32 = new Int32Array(buf);
- Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
- Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
- Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
- Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
- Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);
- }
- var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216;
- var wasmTable;
- var __ATPRERUN__ = [];
- var __ATINIT__ = [];
- var __ATMAIN__ = [];
- var __ATPOSTRUN__ = [];
- var runtimeInitialized = 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 initRuntime() {
- runtimeInitialized = true;
- callRuntimeCallbacks(__ATINIT__);
- }
- function preMain() {
- callRuntimeCallbacks(__ATMAIN__);
- }
- 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 addOnInit(cb) {
- __ATINIT__.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"] = {};
- function abort(what) {
- if (Module["onAbort"]) {
- Module["onAbort"](what);
- }
- what += "";
- err(what);
- ABORT = true;
- EXITSTATUS = 1;
- what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
- var e = new WebAssembly.RuntimeError(what);
- readyPromiseReject(e);
- throw e;
- }
- function hasPrefix(str, prefix) {
- return String.prototype.startsWith ? str.startsWith(prefix) : str.indexOf(prefix) === 0;
- }
- var dataURIPrefix = "data:application/octet-stream;base64,";
- function isDataURI(filename) {
- return hasPrefix(filename, dataURIPrefix);
- }
- var fileURIPrefix = "file://";
- function isFileURI(filename) {
- return hasPrefix(filename, fileURIPrefix);
- }
- var wasmBinaryFile = "basis_transcoder.wasm";
- if (!isDataURI(wasmBinaryFile)) {
- wasmBinaryFile = locateFile(wasmBinaryFile);
- }
- function getBinary(file) {
- try {
- if (file == wasmBinaryFile && wasmBinary) {
- return new Uint8Array(wasmBinary);
- }
- if (readBinary) {
- return readBinary(file);
- } else {
- throw "both async and sync fetching of the wasm failed";
- }
- } catch (err2) {
- abort(err2);
- }
- }
- function getBinaryPromise() {
- if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {
- if (typeof fetch === "function" && !isFileURI(wasmBinaryFile)) {
- return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) {
- if (!response["ok"]) {
- throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
- }
- return response["arrayBuffer"]();
- }).catch(function() {
- return getBinary(wasmBinaryFile);
- });
- } else {
- if (readAsync) {
- return new Promise(function(resolve, reject) {
- readAsync(wasmBinaryFile, function(response) {
- resolve(new Uint8Array(response));
- }, reject);
- });
- }
- }
- }
- return Promise.resolve().then(function() {
- return getBinary(wasmBinaryFile);
- });
- }
- function createWasm() {
- var info = { "a": asmLibraryArg };
- function receiveInstance(instance, module2) {
- var exports3 = instance.exports;
- Module["asm"] = exports3;
- wasmMemory = Module["asm"]["K"];
- updateGlobalBufferAndViews(wasmMemory.buffer);
- wasmTable = Module["asm"]["O"];
- addOnInit(Module["asm"]["L"]);
- removeRunDependency("wasm-instantiate");
- }
- addRunDependency("wasm-instantiate");
- function receiveInstantiatedSource(output) {
- receiveInstance(output["instance"]);
- }
- function instantiateArrayBuffer(receiver) {
- return getBinaryPromise().then(function(binary) {
- var result = WebAssembly.instantiate(binary, info);
- return result;
- }).then(receiver, function(reason) {
- err("failed to asynchronously prepare wasm: " + reason);
- abort(reason);
- });
- }
- function instantiateAsync() {
- if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && !isFileURI(wasmBinaryFile) && typeof fetch === "function") {
- return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) {
- var result = WebAssembly.instantiateStreaming(response, info);
- return result.then(receiveInstantiatedSource, function(reason) {
- err("wasm streaming compile failed: " + reason);
- err("falling back to ArrayBuffer instantiation");
- return instantiateArrayBuffer(receiveInstantiatedSource);
- });
- });
- } else {
- return instantiateArrayBuffer(receiveInstantiatedSource);
- }
- }
- if (Module["instantiateWasm"]) {
- try {
- var exports2 = Module["instantiateWasm"](info, receiveInstance);
- return exports2;
- } catch (e) {
- err("Module.instantiateWasm callback failed with error: " + e);
- return false;
- }
- }
- instantiateAsync().catch(readyPromiseReject);
- return {};
- }
- function callRuntimeCallbacks(callbacks) {
- while (callbacks.length > 0) {
- var callback = callbacks.shift();
- if (typeof callback == "function") {
- callback(Module);
- continue;
- }
- var func = callback.func;
- if (typeof func === "number") {
- if (callback.arg === void 0) {
- wasmTable.get(func)();
- } else {
- wasmTable.get(func)(callback.arg);
- }
- } else {
- func(callback.arg === void 0 ? null : callback.arg);
- }
- }
- }
- var structRegistrations = {};
- function runDestructors(destructors) {
- while (destructors.length) {
- var ptr = destructors.pop();
- var del = destructors.pop();
- del(ptr);
- }
- }
- function simpleReadValueFromPointer(pointer) {
- return this["fromWireType"](HEAPU32[pointer >> 2]);
- }
- var awaitingDependencies = {};
- var registeredTypes = {};
- var typeDependencies = {};
- var char_0 = 48;
- var char_9 = 57;
- function makeLegalFunctionName(name) {
- if (void 0 === name) {
- return "_unknown";
- }
- name = name.replace(/[^a-zA-Z0-9_]/g, "$");
- var f = name.charCodeAt(0);
- if (f >= char_0 && f <= char_9) {
- return "_" + name;
- } else {
- return name;
- }
- }
- function createNamedFunction(name, body) {
- name = makeLegalFunctionName(name);
- return new Function("body", "return function " + name + '() {\n "use strict"; return body.apply(this, arguments);\n};\n')(body);
- }
- function extendError(baseErrorType, errorName) {
- var errorClass = createNamedFunction(errorName, function(message) {
- this.name = errorName;
- this.message = message;
- var stack = new Error(message).stack;
- if (stack !== void 0) {
- this.stack = this.toString() + "\n" + stack.replace(/^Error(:[^\n]*)?\n/, "");
- }
- });
- errorClass.prototype = Object.create(baseErrorType.prototype);
- errorClass.prototype.constructor = errorClass;
- errorClass.prototype.toString = function() {
- if (this.message === void 0) {
- return this.name;
- } else {
- return this.name + ": " + this.message;
- }
- };
- return errorClass;
- }
- var InternalError = void 0;
- function throwInternalError(message) {
- throw new InternalError(message);
- }
- function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) {
- myTypes.forEach(function(type) {
- typeDependencies[type] = dependentTypes;
- });
- function onComplete(typeConverters2) {
- var myTypeConverters = getTypeConverters(typeConverters2);
- if (myTypeConverters.length !== myTypes.length) {
- throwInternalError("Mismatched type converter count");
- }
- for (var i = 0; i < myTypes.length; ++i) {
- registerType(myTypes[i], myTypeConverters[i]);
- }
- }
- var typeConverters = new Array(dependentTypes.length);
- var unregisteredTypes = [];
- var registered = 0;
- dependentTypes.forEach(function(dt, i) {
- if (registeredTypes.hasOwnProperty(dt)) {
- typeConverters[i] = registeredTypes[dt];
- } else {
- unregisteredTypes.push(dt);
- if (!awaitingDependencies.hasOwnProperty(dt)) {
- awaitingDependencies[dt] = [];
- }
- awaitingDependencies[dt].push(function() {
- typeConverters[i] = registeredTypes[dt];
- ++registered;
- if (registered === unregisteredTypes.length) {
- onComplete(typeConverters);
- }
- });
- }
- });
- if (0 === unregisteredTypes.length) {
- onComplete(typeConverters);
- }
- }
- function __embind_finalize_value_object(structType) {
- var reg = structRegistrations[structType];
- delete structRegistrations[structType];
- var rawConstructor = reg.rawConstructor;
- var rawDestructor = reg.rawDestructor;
- var fieldRecords = reg.fields;
- var fieldTypes = fieldRecords.map(function(field) {
- return field.getterReturnType;
- }).concat(fieldRecords.map(function(field) {
- return field.setterArgumentType;
- }));
- whenDependentTypesAreResolved([structType], fieldTypes, function(fieldTypes2) {
- var fields = {};
- fieldRecords.forEach(function(field, i) {
- var fieldName = field.fieldName;
- var getterReturnType = fieldTypes2[i];
- var getter = field.getter;
- var getterContext = field.getterContext;
- var setterArgumentType = fieldTypes2[i + fieldRecords.length];
- var setter = field.setter;
- var setterContext = field.setterContext;
- fields[fieldName] = { read: function(ptr) {
- return getterReturnType["fromWireType"](getter(getterContext, ptr));
- }, write: function(ptr, o) {
- var destructors = [];
- setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o));
- runDestructors(destructors);
- } };
- });
- return [{ name: reg.name, "fromWireType": function(ptr) {
- var rv = {};
- for (var i in fields) {
- rv[i] = fields[i].read(ptr);
- }
- rawDestructor(ptr);
- return rv;
- }, "toWireType": function(destructors, o) {
- for (var fieldName in fields) {
- if (!(fieldName in o)) {
- throw new TypeError('Missing field: "' + fieldName + '"');
- }
- }
- var ptr = rawConstructor();
- for (fieldName in fields) {
- fields[fieldName].write(ptr, o[fieldName]);
- }
- if (destructors !== null) {
- destructors.push(rawDestructor, ptr);
- }
- return ptr;
- }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }];
- });
- }
- function getShiftFromSize(size) {
- switch (size) {
- case 1:
- return 0;
- case 2:
- return 1;
- case 4:
- return 2;
- case 8:
- return 3;
- default:
- throw new TypeError("Unknown type size: " + size);
- }
- }
- function embind_init_charCodes() {
- var codes = new Array(256);
- for (var i = 0; i < 256; ++i) {
- codes[i] = String.fromCharCode(i);
- }
- embind_charCodes = codes;
- }
- var embind_charCodes = void 0;
- function readLatin1String(ptr) {
- var ret = "";
- var c = ptr;
- while (HEAPU8[c]) {
- ret += embind_charCodes[HEAPU8[c++]];
- }
- return ret;
- }
- var BindingError = void 0;
- function throwBindingError(message) {
- throw new BindingError(message);
- }
- function registerType(rawType, registeredInstance, options) {
- options = options || {};
- if (!("argPackAdvance" in registeredInstance)) {
- throw new TypeError("registerType registeredInstance requires argPackAdvance");
- }
- var name = registeredInstance.name;
- if (!rawType) {
- throwBindingError('type "' + name + '" must have a positive integer typeid pointer');
- }
- if (registeredTypes.hasOwnProperty(rawType)) {
- if (options.ignoreDuplicateRegistrations) {
- return;
- } else {
- throwBindingError("Cannot register type '" + name + "' twice");
- }
- }
- registeredTypes[rawType] = registeredInstance;
- delete typeDependencies[rawType];
- if (awaitingDependencies.hasOwnProperty(rawType)) {
- var callbacks = awaitingDependencies[rawType];
- delete awaitingDependencies[rawType];
- callbacks.forEach(function(cb) {
- cb();
- });
- }
- }
- function __embind_register_bool(rawType, name, size, trueValue, falseValue) {
- var shift = getShiftFromSize(size);
- name = readLatin1String(name);
- registerType(rawType, { name, "fromWireType": function(wt) {
- return !!wt;
- }, "toWireType": function(destructors, o) {
- return o ? trueValue : falseValue;
- }, "argPackAdvance": 8, "readValueFromPointer": function(pointer) {
- var heap;
- if (size === 1) {
- heap = HEAP8;
- } else if (size === 2) {
- heap = HEAP16;
- } else if (size === 4) {
- heap = HEAP32;
- } else {
- throw new TypeError("Unknown boolean type size: " + name);
- }
- return this["fromWireType"](heap[pointer >> shift]);
- }, destructorFunction: null });
- }
- function ClassHandle_isAliasOf(other) {
- if (!(this instanceof ClassHandle)) {
- return false;
- }
- if (!(other instanceof ClassHandle)) {
- return false;
- }
- var leftClass = this.$$.ptrType.registeredClass;
- var left = this.$$.ptr;
- var rightClass = other.$$.ptrType.registeredClass;
- var right = other.$$.ptr;
- while (leftClass.baseClass) {
- left = leftClass.upcast(left);
- leftClass = leftClass.baseClass;
- }
- while (rightClass.baseClass) {
- right = rightClass.upcast(right);
- rightClass = rightClass.baseClass;
- }
- return leftClass === rightClass && left === right;
- }
- function shallowCopyInternalPointer(o) {
- return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType };
- }
- function throwInstanceAlreadyDeleted(obj) {
- function getInstanceTypeName(handle) {
- return handle.$$.ptrType.registeredClass.name;
- }
- throwBindingError(getInstanceTypeName(obj) + " instance already deleted");
- }
- var finalizationGroup = false;
- function detachFinalizer(handle) {
- }
- function runDestructor($$) {
- if ($$.smartPtr) {
- $$.smartPtrType.rawDestructor($$.smartPtr);
- } else {
- $$.ptrType.registeredClass.rawDestructor($$.ptr);
- }
- }
- function releaseClassHandle($$) {
- $$.count.value -= 1;
- var toDelete = 0 === $$.count.value;
- if (toDelete) {
- runDestructor($$);
- }
- }
- function attachFinalizer(handle) {
- if ("undefined" === typeof FinalizationGroup) {
- attachFinalizer = function(handle2) {
- return handle2;
- };
- return handle;
- }
- finalizationGroup = new FinalizationGroup(function(iter) {
- for (var result = iter.next(); !result.done; result = iter.next()) {
- var $$ = result.value;
- if (!$$.ptr) {
- console.warn("object already deleted: " + $$.ptr);
- } else {
- releaseClassHandle($$);
- }
- }
- });
- attachFinalizer = function(handle2) {
- finalizationGroup.register(handle2, handle2.$$, handle2.$$);
- return handle2;
- };
- detachFinalizer = function(handle2) {
- finalizationGroup.unregister(handle2.$$);
- };
- return attachFinalizer(handle);
- }
- function ClassHandle_clone() {
- if (!this.$$.ptr) {
- throwInstanceAlreadyDeleted(this);
- }
- if (this.$$.preservePointerOnDelete) {
- this.$$.count.value += 1;
- return this;
- } else {
- var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } }));
- clone.$$.count.value += 1;
- clone.$$.deleteScheduled = false;
- return clone;
- }
- }
- function ClassHandle_delete() {
- if (!this.$$.ptr) {
- throwInstanceAlreadyDeleted(this);
- }
- if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
- throwBindingError("Object already scheduled for deletion");
- }
- detachFinalizer(this);
- releaseClassHandle(this.$$);
- if (!this.$$.preservePointerOnDelete) {
- this.$$.smartPtr = void 0;
- this.$$.ptr = void 0;
- }
- }
- function ClassHandle_isDeleted() {
- return !this.$$.ptr;
- }
- var delayFunction = void 0;
- var deletionQueue = [];
- function flushPendingDeletes() {
- while (deletionQueue.length) {
- var obj = deletionQueue.pop();
- obj.$$.deleteScheduled = false;
- obj["delete"]();
- }
- }
- function ClassHandle_deleteLater() {
- if (!this.$$.ptr) {
- throwInstanceAlreadyDeleted(this);
- }
- if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
- throwBindingError("Object already scheduled for deletion");
- }
- deletionQueue.push(this);
- if (deletionQueue.length === 1 && delayFunction) {
- delayFunction(flushPendingDeletes);
- }
- this.$$.deleteScheduled = true;
- return this;
- }
- function init_ClassHandle() {
- ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf;
- ClassHandle.prototype["clone"] = ClassHandle_clone;
- ClassHandle.prototype["delete"] = ClassHandle_delete;
- ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted;
- ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater;
- }
- function ClassHandle() {
- }
- var registeredPointers = {};
- function ensureOverloadTable(proto, methodName, humanName) {
- if (void 0 === proto[methodName].overloadTable) {
- var prevFunc = proto[methodName];
- proto[methodName] = function() {
- if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) {
- throwBindingError("Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + proto[methodName].overloadTable + ")!");
- }
- return proto[methodName].overloadTable[arguments.length].apply(this, arguments);
- };
- proto[methodName].overloadTable = [];
- proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
- }
- }
- function exposePublicSymbol(name, value, numArguments) {
- if (Module.hasOwnProperty(name)) {
- if (void 0 === numArguments || void 0 !== Module[name].overloadTable && void 0 !== Module[name].overloadTable[numArguments]) {
- throwBindingError("Cannot register public name '" + name + "' twice");
- }
- ensureOverloadTable(Module, name, name);
- if (Module.hasOwnProperty(numArguments)) {
- throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (" + numArguments + ")!");
- }
- Module[name].overloadTable[numArguments] = value;
- } else {
- Module[name] = value;
- if (void 0 !== numArguments) {
- Module[name].numArguments = numArguments;
- }
- }
- }
- function RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) {
- this.name = name;
- this.constructor = constructor;
- this.instancePrototype = instancePrototype;
- this.rawDestructor = rawDestructor;
- this.baseClass = baseClass;
- this.getActualType = getActualType;
- this.upcast = upcast;
- this.downcast = downcast;
- this.pureVirtualFunctions = [];
- }
- function upcastPointer(ptr, ptrClass, desiredClass) {
- while (ptrClass !== desiredClass) {
- if (!ptrClass.upcast) {
- throwBindingError("Expected null or instance of " + desiredClass.name + ", got an instance of " + ptrClass.name);
- }
- ptr = ptrClass.upcast(ptr);
- ptrClass = ptrClass.baseClass;
- }
- return ptr;
- }
- function constNoSmartPtrRawPointerToWireType(destructors, handle) {
- if (handle === null) {
- if (this.isReference) {
- throwBindingError("null is not a valid " + this.name);
- }
- return 0;
- }
- if (!handle.$$) {
- throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name);
- }
- if (!handle.$$.ptr) {
- throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
- }
- var handleClass = handle.$$.ptrType.registeredClass;
- var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
- return ptr;
- }
- function genericPointerToWireType(destructors, handle) {
- var ptr;
- if (handle === null) {
- if (this.isReference) {
- throwBindingError("null is not a valid " + this.name);
- }
- if (this.isSmartPointer) {
- ptr = this.rawConstructor();
- if (destructors !== null) {
- destructors.push(this.rawDestructor, ptr);
- }
- return ptr;
- } else {
- return 0;
- }
- }
- if (!handle.$$) {
- throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name);
- }
- if (!handle.$$.ptr) {
- throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
- }
- if (!this.isConst && handle.$$.ptrType.isConst) {
- throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name);
- }
- var handleClass = handle.$$.ptrType.registeredClass;
- ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
- if (this.isSmartPointer) {
- if (void 0 === handle.$$.smartPtr) {
- throwBindingError("Passing raw pointer to smart pointer is illegal");
- }
- switch (this.sharingPolicy) {
- case 0:
- if (handle.$$.smartPtrType === this) {
- ptr = handle.$$.smartPtr;
- } else {
- throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name);
- }
- break;
- case 1:
- ptr = handle.$$.smartPtr;
- break;
- case 2:
- if (handle.$$.smartPtrType === this) {
- ptr = handle.$$.smartPtr;
- } else {
- var clonedHandle = handle["clone"]();
- ptr = this.rawShare(ptr, __emval_register(function() {
- clonedHandle["delete"]();
- }));
- if (destructors !== null) {
- destructors.push(this.rawDestructor, ptr);
- }
- }
- break;
- default:
- throwBindingError("Unsupporting sharing policy");
- }
- }
- return ptr;
- }
- function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) {
- if (handle === null) {
- if (this.isReference) {
- throwBindingError("null is not a valid " + this.name);
- }
- return 0;
- }
- if (!handle.$$) {
- throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name);
- }
- if (!handle.$$.ptr) {
- throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
- }
- if (handle.$$.ptrType.isConst) {
- throwBindingError("Cannot convert argument of type " + handle.$$.ptrType.name + " to parameter type " + this.name);
- }
- var handleClass = handle.$$.ptrType.registeredClass;
- var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
- return ptr;
- }
- function RegisteredPointer_getPointee(ptr) {
- if (this.rawGetPointee) {
- ptr = this.rawGetPointee(ptr);
- }
- return ptr;
- }
- function RegisteredPointer_destructor(ptr) {
- if (this.rawDestructor) {
- this.rawDestructor(ptr);
- }
- }
- function RegisteredPointer_deleteObject(handle) {
- if (handle !== null) {
- handle["delete"]();
- }
- }
- function downcastPointer(ptr, ptrClass, desiredClass) {
- if (ptrClass === desiredClass) {
- return ptr;
- }
- if (void 0 === desiredClass.baseClass) {
- return null;
- }
- var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
- if (rv === null) {
- return null;
- }
- return desiredClass.downcast(rv);
- }
- function getInheritedInstanceCount() {
- return Object.keys(registeredInstances).length;
- }
- function getLiveInheritedInstances() {
- var rv = [];
- for (var k in registeredInstances) {
- if (registeredInstances.hasOwnProperty(k)) {
- rv.push(registeredInstances[k]);
- }
- }
- return rv;
- }
- function setDelayFunction(fn) {
- delayFunction = fn;
- if (deletionQueue.length && delayFunction) {
- delayFunction(flushPendingDeletes);
- }
- }
- function init_embind() {
- Module["getInheritedInstanceCount"] = getInheritedInstanceCount;
- Module["getLiveInheritedInstances"] = getLiveInheritedInstances;
- Module["flushPendingDeletes"] = flushPendingDeletes;
- Module["setDelayFunction"] = setDelayFunction;
- }
- var registeredInstances = {};
- function getBasestPointer(class_, ptr) {
- if (ptr === void 0) {
- throwBindingError("ptr should not be undefined");
- }
- while (class_.baseClass) {
- ptr = class_.upcast(ptr);
- class_ = class_.baseClass;
- }
- return ptr;
- }
- function getInheritedInstance(class_, ptr) {
- ptr = getBasestPointer(class_, ptr);
- return registeredInstances[ptr];
- }
- function makeClassHandle(prototype, record) {
- if (!record.ptrType || !record.ptr) {
- throwInternalError("makeClassHandle requires ptr and ptrType");
- }
- var hasSmartPtrType = !!record.smartPtrType;
- var hasSmartPtr = !!record.smartPtr;
- if (hasSmartPtrType !== hasSmartPtr) {
- throwInternalError("Both smartPtrType and smartPtr must be specified");
- }
- record.count = { value: 1 };
- return attachFinalizer(Object.create(prototype, { $$: { value: record } }));
- }
- function RegisteredPointer_fromWireType(ptr) {
- var rawPointer = this.getPointee(ptr);
- if (!rawPointer) {
- this.destructor(ptr);
- return null;
- }
- var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);
- if (void 0 !== registeredInstance) {
- if (0 === registeredInstance.$$.count.value) {
- registeredInstance.$$.ptr = rawPointer;
- registeredInstance.$$.smartPtr = ptr;
- return registeredInstance["clone"]();
- } else {
- var rv = registeredInstance["clone"]();
- this.destructor(ptr);
- return rv;
- }
- }
- function makeDefaultHandle() {
- if (this.isSmartPointer) {
- return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr });
- } else {
- return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr });
- }
- }
- var actualType = this.registeredClass.getActualType(rawPointer);
- var registeredPointerRecord = registeredPointers[actualType];
- if (!registeredPointerRecord) {
- return makeDefaultHandle.call(this);
- }
- var toType;
- if (this.isConst) {
- toType = registeredPointerRecord.constPointerType;
- } else {
- toType = registeredPointerRecord.pointerType;
- }
- var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass);
- if (dp === null) {
- return makeDefaultHandle.call(this);
- }
- if (this.isSmartPointer) {
- return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr });
- } else {
- return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp });
- }
- }
- function init_RegisteredPointer() {
- RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee;
- RegisteredPointer.prototype.destructor = RegisteredPointer_destructor;
- RegisteredPointer.prototype["argPackAdvance"] = 8;
- RegisteredPointer.prototype["readValueFromPointer"] = simpleReadValueFromPointer;
- RegisteredPointer.prototype["deleteObject"] = RegisteredPointer_deleteObject;
- RegisteredPointer.prototype["fromWireType"] = RegisteredPointer_fromWireType;
- }
- function RegisteredPointer(name, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) {
- this.name = name;
- this.registeredClass = registeredClass;
- this.isReference = isReference;
- this.isConst = isConst;
- this.isSmartPointer = isSmartPointer;
- this.pointeeType = pointeeType;
- this.sharingPolicy = sharingPolicy;
- this.rawGetPointee = rawGetPointee;
- this.rawConstructor = rawConstructor;
- this.rawShare = rawShare;
- this.rawDestructor = rawDestructor;
- if (!isSmartPointer && registeredClass.baseClass === void 0) {
- if (isConst) {
- this["toWireType"] = constNoSmartPtrRawPointerToWireType;
- this.destructorFunction = null;
- } else {
- this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType;
- this.destructorFunction = null;
- }
- } else {
- this["toWireType"] = genericPointerToWireType;
- }
- }
- function replacePublicSymbol(name, value, numArguments) {
- if (!Module.hasOwnProperty(name)) {
- throwInternalError("Replacing nonexistant public symbol");
- }
- if (void 0 !== Module[name].overloadTable && void 0 !== numArguments) {
- Module[name].overloadTable[numArguments] = value;
- } else {
- Module[name] = value;
- Module[name].argCount = numArguments;
- }
- }
- function dynCallLegacy(sig, ptr, args) {
- var f = Module["dynCall_" + sig];
- return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr);
- }
- function dynCall(sig, ptr, args) {
- if (sig.indexOf("j") != -1) {
- return dynCallLegacy(sig, ptr, args);
- }
- return wasmTable.get(ptr).apply(null, args);
- }
- function getDynCaller(sig, ptr) {
- var argCache = [];
- return function() {
- argCache.length = arguments.length;
- for (var i = 0; i < arguments.length; i++) {
- argCache[i] = arguments[i];
- }
- return dynCall(sig, ptr, argCache);
- };
- }
- function embind__requireFunction(signature, rawFunction) {
- signature = readLatin1String(signature);
- function makeDynCaller() {
- if (signature.indexOf("j") != -1) {
- return getDynCaller(signature, rawFunction);
- }
- return wasmTable.get(rawFunction);
- }
- var fp = makeDynCaller();
- if (typeof fp !== "function") {
- throwBindingError("unknown function pointer with signature " + signature + ": " + rawFunction);
- }
- return fp;
- }
- var UnboundTypeError = void 0;
- function getTypeName(type) {
- var ptr = ___getTypeName(type);
- var rv = readLatin1String(ptr);
- _free(ptr);
- return rv;
- }
- function throwUnboundTypeError(message, types) {
- var unboundTypes = [];
- var seen = {};
- function visit(type) {
- if (seen[type]) {
- return;
- }
- if (registeredTypes[type]) {
- return;
- }
- if (typeDependencies[type]) {
- typeDependencies[type].forEach(visit);
- return;
- }
- unboundTypes.push(type);
- seen[type] = true;
- }
- types.forEach(visit);
- throw new UnboundTypeError(message + ": " + unboundTypes.map(getTypeName).join([", "]));
- }
- function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) {
- name = readLatin1String(name);
- getActualType = embind__requireFunction(getActualTypeSignature, getActualType);
- if (upcast) {
- upcast = embind__requireFunction(upcastSignature, upcast);
- }
- if (downcast) {
- downcast = embind__requireFunction(downcastSignature, downcast);
- }
- rawDestructor = embind__requireFunction(destructorSignature, rawDestructor);
- var legalFunctionName = makeLegalFunctionName(name);
- exposePublicSymbol(legalFunctionName, function() {
- throwUnboundTypeError("Cannot construct " + name + " due to unbound types", [baseClassRawType]);
- });
- whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function(base) {
- base = base[0];
- var baseClass;
- var basePrototype;
- if (baseClassRawType) {
- baseClass = base.registeredClass;
- basePrototype = baseClass.instancePrototype;
- } else {
- basePrototype = ClassHandle.prototype;
- }
- var constructor = createNamedFunction(legalFunctionName, function() {
- if (Object.getPrototypeOf(this) !== instancePrototype) {
- throw new BindingError("Use 'new' to construct " + name);
- }
- if (void 0 === registeredClass.constructor_body) {
- throw new BindingError(name + " has no accessible constructor");
- }
- var body = registeredClass.constructor_body[arguments.length];
- if (void 0 === body) {
- throw new BindingError("Tried to invoke ctor of " + name + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(registeredClass.constructor_body).toString() + ") parameters instead!");
- }
- return body.apply(this, arguments);
- });
- var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } });
- constructor.prototype = instancePrototype;
- var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast);
- var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false);
- var pointerConverter = new RegisteredPointer(name + "*", registeredClass, false, false, false);
- var constPointerConverter = new RegisteredPointer(name + " const*", registeredClass, false, true, false);
- registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter };
- replacePublicSymbol(legalFunctionName, constructor);
- return [referenceConverter, pointerConverter, constPointerConverter];
- });
- }
- function heap32VectorToArray(count, firstElement) {
- var array = [];
- for (var i = 0; i < count; i++) {
- array.push(HEAP32[(firstElement >> 2) + i]);
- }
- return array;
- }
- function __embind_register_class_constructor(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) {
- assert(argCount > 0);
- var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
- invoker = embind__requireFunction(invokerSignature, invoker);
- var args = [rawConstructor];
- var destructors = [];
- whenDependentTypesAreResolved([], [rawClassType], function(classType) {
- classType = classType[0];
- var humanName = "constructor " + classType.name;
- if (void 0 === classType.registeredClass.constructor_body) {
- classType.registeredClass.constructor_body = [];
- }
- if (void 0 !== classType.registeredClass.constructor_body[argCount - 1]) {
- throw new BindingError("Cannot register multiple constructors with identical number of parameters (" + (argCount - 1) + ") for class '" + classType.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!");
- }
- classType.registeredClass.constructor_body[argCount - 1] = function unboundTypeHandler() {
- throwUnboundTypeError("Cannot construct " + classType.name + " due to unbound types", rawArgTypes);
- };
- whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
- classType.registeredClass.constructor_body[argCount - 1] = function constructor_body() {
- if (arguments.length !== argCount - 1) {
- throwBindingError(humanName + " called with " + arguments.length + " arguments, expected " + (argCount - 1));
- }
- destructors.length = 0;
- args.length = argCount;
- for (var i = 1; i < argCount; ++i) {
- args[i] = argTypes[i]["toWireType"](destructors, arguments[i - 1]);
- }
- var ptr = invoker.apply(null, args);
- runDestructors(destructors);
- return argTypes[0]["fromWireType"](ptr);
- };
- return [];
- });
- return [];
- });
- }
- function new_(constructor, argumentList) {
- if (!(constructor instanceof Function)) {
- throw new TypeError("new_ called with constructor type " + typeof constructor + " which is not a function");
- }
- var dummy = createNamedFunction(constructor.name || "unknownFunctionName", function() {
- });
- dummy.prototype = constructor.prototype;
- var obj = new dummy();
- var r = constructor.apply(obj, argumentList);
- return r instanceof Object ? r : obj;
- }
- function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) {
- var argCount = argTypes.length;
- if (argCount < 2) {
- throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");
- }
- var isClassMethodFunc = argTypes[1] !== null && classType !== null;
- var needsDestructorStack = false;
- for (var i = 1; i < argTypes.length; ++i) {
- if (argTypes[i] !== null && argTypes[i].destructorFunction === void 0) {
- needsDestructorStack = true;
- break;
- }
- }
- var returns = argTypes[0].name !== "void";
- var argsList = "";
- var argsListWired = "";
- for (var i = 0; i < argCount - 2; ++i) {
- argsList += (i !== 0 ? ", " : "") + "arg" + i;
- argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired";
- }
- var invokerFnBody = "return function " + makeLegalFunctionName(humanName) + "(" + argsList + ") {\nif (arguments.length !== " + (argCount - 2) + ") {\nthrowBindingError('function " + humanName + " called with ' + arguments.length + ' arguments, expected " + (argCount - 2) + " args!');\n}\n";
- if (needsDestructorStack) {
- invokerFnBody += "var destructors = [];\n";
- }
- var dtorStack = needsDestructorStack ? "destructors" : "null";
- var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"];
- var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]];
- if (isClassMethodFunc) {
- invokerFnBody += "var thisWired = classParam.toWireType(" + dtorStack + ", this);\n";
- }
- for (var i = 0; i < argCount - 2; ++i) {
- invokerFnBody += "var arg" + i + "Wired = argType" + i + ".toWireType(" + dtorStack + ", arg" + i + "); // " + argTypes[i + 2].name + "\n";
- args1.push("argType" + i);
- args2.push(argTypes[i + 2]);
- }
- if (isClassMethodFunc) {
- argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired;
- }
- invokerFnBody += (returns ? "var rv = " : "") + "invoker(fn" + (argsListWired.length > 0 ? ", " : "") + argsListWired + ");\n";
- if (needsDestructorStack) {
- invokerFnBody += "runDestructors(destructors);\n";
- } else {
- for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) {
- var paramName = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired";
- if (argTypes[i].destructorFunction !== null) {
- invokerFnBody += paramName + "_dtor(" + paramName + "); // " + argTypes[i].name + "\n";
- args1.push(paramName + "_dtor");
- args2.push(argTypes[i].destructorFunction);
- }
- }
- }
- if (returns) {
- invokerFnBody += "var ret = retType.fromWireType(rv);\nreturn ret;\n";
- } else {
- }
- invokerFnBody += "}\n";
- args1.push(invokerFnBody);
- var invokerFunction = new_(Function, args1).apply(null, args2);
- return invokerFunction;
- }
- function __embind_register_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual) {
- var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
- methodName = readLatin1String(methodName);
- rawInvoker = embind__requireFunction(invokerSignature, rawInvoker);
- whenDependentTypesAreResolved([], [rawClassType], function(classType) {
- classType = classType[0];
- var humanName = classType.name + "." + methodName;
- if (isPureVirtual) {
- classType.registeredClass.pureVirtualFunctions.push(methodName);
- }
- function unboundTypesHandler() {
- throwUnboundTypeError("Cannot call " + humanName + " due to unbound types", rawArgTypes);
- }
- var proto = classType.registeredClass.instancePrototype;
- var method = proto[methodName];
- if (void 0 === method || void 0 === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2) {
- unboundTypesHandler.argCount = argCount - 2;
- unboundTypesHandler.className = classType.name;
- proto[methodName] = unboundTypesHandler;
- } else {
- ensureOverloadTable(proto, methodName, humanName);
- proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler;
- }
- whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
- var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context);
- if (void 0 === proto[methodName].overloadTable) {
- memberFunction.argCount = argCount - 2;
- proto[methodName] = memberFunction;
- } else {
- proto[methodName].overloadTable[argCount - 2] = memberFunction;
- }
- return [];
- });
- return [];
- });
- }
- function __embind_register_constant(name, type, value) {
- name = readLatin1String(name);
- whenDependentTypesAreResolved([], [type], function(type2) {
- type2 = type2[0];
- Module[name] = type2["fromWireType"](value);
- return [];
- });
- }
- var emval_free_list = [];
- var emval_handle_array = [{}, { value: void 0 }, { value: null }, { value: true }, { value: false }];
- function __emval_decref(handle) {
- if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {
- emval_handle_array[handle] = void 0;
- emval_free_list.push(handle);
- }
- }
- function count_emval_handles() {
- var count = 0;
- for (var i = 5; i < emval_handle_array.length; ++i) {
- if (emval_handle_array[i] !== void 0) {
- ++count;
- }
- }
- return count;
- }
- function get_first_emval() {
- for (var i = 5; i < emval_handle_array.length; ++i) {
- if (emval_handle_array[i] !== void 0) {
- return emval_handle_array[i];
- }
- }
- return null;
- }
- function init_emval() {
- Module["count_emval_handles"] = count_emval_handles;
- Module["get_first_emval"] = get_first_emval;
- }
- function __emval_register(value) {
- switch (value) {
- case void 0: {
- return 1;
- }
- case null: {
- return 2;
- }
- case true: {
- return 3;
- }
- case false: {
- return 4;
- }
- default: {
- var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length;
- emval_handle_array[handle] = { refcount: 1, value };
- return handle;
- }
- }
- }
- function __embind_register_emval(rawType, name) {
- name = readLatin1String(name);
- registerType(rawType, { name, "fromWireType": function(handle) {
- var rv = emval_handle_array[handle].value;
- __emval_decref(handle);
- return rv;
- }, "toWireType": function(destructors, value) {
- return __emval_register(value);
- }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: null });
- }
- function enumReadValueFromPointer(name, shift, signed) {
- switch (shift) {
- case 0:
- return function(pointer) {
- var heap = signed ? HEAP8 : HEAPU8;
- return this["fromWireType"](heap[pointer]);
- };
- case 1:
- return function(pointer) {
- var heap = signed ? HEAP16 : HEAPU16;
- return this["fromWireType"](heap[pointer >> 1]);
- };
- case 2:
- return function(pointer) {
- var heap = signed ? HEAP32 : HEAPU32;
- return this["fromWireType"](heap[pointer >> 2]);
- };
- default:
- throw new TypeError("Unknown integer type: " + name);
- }
- }
- function __embind_register_enum(rawType, name, size, isSigned) {
- var shift = getShiftFromSize(size);
- name = readLatin1String(name);
- function ctor() {
- }
- ctor.values = {};
- registerType(rawType, { name, constructor: ctor, "fromWireType": function(c) {
- return this.constructor.values[c];
- }, "toWireType": function(destructors, c) {
- return c.value;
- }, "argPackAdvance": 8, "readValueFromPointer": enumReadValueFromPointer(name, shift, isSigned), destructorFunction: null });
- exposePublicSymbol(name, ctor);
- }
- function requireRegisteredType(rawType, humanName) {
- var impl = registeredTypes[rawType];
- if (void 0 === impl) {
- throwBindingError(humanName + " has unknown type " + getTypeName(rawType));
- }
- return impl;
- }
- function __embind_register_enum_value(rawEnumType, name, enumValue) {
- var enumType = requireRegisteredType(rawEnumType, "enum");
- name = readLatin1String(name);
- var Enum = enumType.constructor;
- var Value = Object.create(enumType.constructor.prototype, { value: { value: enumValue }, constructor: { value: createNamedFunction(enumType.name + "_" + name, function() {
- }) } });
- Enum.values[enumValue] = Value;
- Enum[name] = Value;
- }
- function _embind_repr(v) {
- if (v === null) {
- return "null";
- }
- var t = typeof v;
- if (t === "object" || t === "array" || t === "function") {
- return v.toString();
- } else {
- return "" + v;
- }
- }
- function floatReadValueFromPointer(name, shift) {
- switch (shift) {
- case 2:
- return function(pointer) {
- return this["fromWireType"](HEAPF32[pointer >> 2]);
- };
- case 3:
- return function(pointer) {
- return this["fromWireType"](HEAPF64[pointer >> 3]);
- };
- default:
- throw new TypeError("Unknown float type: " + name);
- }
- }
- function __embind_register_float(rawType, name, size) {
- var shift = getShiftFromSize(size);
- name = readLatin1String(name);
- registerType(rawType, { name, "fromWireType": function(value) {
- return value;
- }, "toWireType": function(destructors, value) {
- if (typeof value !== "number" && typeof value !== "boolean") {
- throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
- }
- return value;
- }, "argPackAdvance": 8, "readValueFromPointer": floatReadValueFromPointer(name, shift), destructorFunction: null });
- }
- function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn) {
- var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
- name = readLatin1String(name);
- rawInvoker = embind__requireFunction(signature, rawInvoker);
- exposePublicSymbol(name, function() {
- throwUnboundTypeError("Cannot call " + name + " due to unbound types", argTypes);
- }, argCount - 1);
- whenDependentTypesAreResolved([], argTypes, function(argTypes2) {
- var invokerArgsArray = [argTypes2[0], null].concat(argTypes2.slice(1));
- replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn), argCount - 1);
- return [];
- });
- }
- function integerReadValueFromPointer(name, shift, signed) {
- switch (shift) {
- case 0:
- return signed ? function readS8FromPointer(pointer) {
- return HEAP8[pointer];
- } : function readU8FromPointer(pointer) {
- return HEAPU8[pointer];
- };
- case 1:
- return signed ? function readS16FromPointer(pointer) {
- return HEAP16[pointer >> 1];
- } : function readU16FromPointer(pointer) {
- return HEAPU16[pointer >> 1];
- };
- case 2:
- return signed ? function readS32FromPointer(pointer) {
- return HEAP32[pointer >> 2];
- } : function readU32FromPointer(pointer) {
- return HEAPU32[pointer >> 2];
- };
- default:
- throw new TypeError("Unknown integer type: " + name);
- }
- }
- function __embind_register_integer(primitiveType, name, size, minRange, maxRange) {
- name = readLatin1String(name);
- if (maxRange === -1) {
- maxRange = 4294967295;
- }
- var shift = getShiftFromSize(size);
- var fromWireType = function(value) {
- return value;
- };
- if (minRange === 0) {
- var bitshift = 32 - 8 * size;
- fromWireType = function(value) {
- return value << bitshift >>> bitshift;
- };
- }
- var isUnsignedType = name.indexOf("unsigned") != -1;
- registerType(primitiveType, { name, "fromWireType": fromWireType, "toWireType": function(destructors, value) {
- if (typeof value !== "number" && typeof value !== "boolean") {
- throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
- }
- if (value < minRange || value > maxRange) {
- throw new TypeError('Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name + '", which is outside the valid range [' + minRange + ", " + maxRange + "]!");
- }
- return isUnsignedType ? value >>> 0 : value | 0;
- }, "argPackAdvance": 8, "readValueFromPointer": integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null });
- }
- function __embind_register_memory_view(rawType, dataTypeIndex, name) {
- var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array];
- var TA = typeMapping[dataTypeIndex];
- function decodeMemoryView(handle) {
- handle = handle >> 2;
- var heap = HEAPU32;
- var size = heap[handle];
- var data = heap[handle + 1];
- return new TA(buffer, data, size);
- }
- name = readLatin1String(name);
- registerType(rawType, { name, "fromWireType": decodeMemoryView, "argPackAdvance": 8, "readValueFromPointer": decodeMemoryView }, { ignoreDuplicateRegistrations: true });
- }
- function __embind_register_std_string(rawType, name) {
- name = readLatin1String(name);
- var stdStringIsUTF8 = name === "std::string";
- registerType(rawType, { name, "fromWireType": function(value) {
- var length = HEAPU32[value >> 2];
- var str;
- if (stdStringIsUTF8) {
- var decodeStartPtr = value + 4;
- for (var i = 0; i <= length; ++i) {
- var currentBytePtr = value + 4 + i;
- if (i == length || HEAPU8[currentBytePtr] == 0) {
- var maxRead = currentBytePtr - decodeStartPtr;
- var stringSegment = UTF8ToString(decodeStartPtr, maxRead);
- if (str === void 0) {
- str = stringSegment;
- } else {
- str += String.fromCharCode(0);
- str += stringSegment;
- }
- decodeStartPtr = currentBytePtr + 1;
- }
- }
- } else {
- var a = new Array(length);
- for (var i = 0; i < length; ++i) {
- a[i] = String.fromCharCode(HEAPU8[value + 4 + i]);
- }
- str = a.join("");
- }
- _free(value);
- return str;
- }, "toWireType": function(destructors, value) {
- if (value instanceof ArrayBuffer) {
- value = new Uint8Array(value);
- }
- var getLength;
- var valueIsOfTypeString = typeof value === "string";
- if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) {
- throwBindingError("Cannot pass non-string to std::string");
- }
- if (stdStringIsUTF8 && valueIsOfTypeString) {
- getLength = function() {
- return lengthBytesUTF8(value);
- };
- } else {
- getLength = function() {
- return value.length;
- };
- }
- var length = getLength();
- var ptr = _malloc(4 + length + 1);
- HEAPU32[ptr >> 2] = length;
- if (stdStringIsUTF8 && valueIsOfTypeString) {
- stringToUTF8(value, ptr + 4, length + 1);
- } else {
- if (valueIsOfTypeString) {
- for (var i = 0; i < length; ++i) {
- var charCode = value.charCodeAt(i);
- if (charCode > 255) {
- _free(ptr);
- throwBindingError("String has UTF-16 code units that do not fit in 8 bits");
- }
- HEAPU8[ptr + 4 + i] = charCode;
- }
- } else {
- for (var i = 0; i < length; ++i) {
- HEAPU8[ptr + 4 + i] = value[i];
- }
- }
- }
- if (destructors !== null) {
- destructors.push(_free, ptr);
- }
- return ptr;
- }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) {
- _free(ptr);
- } });
- }
- function __embind_register_std_wstring(rawType, charSize, name) {
- name = readLatin1String(name);
- var decodeString, encodeString, getHeap, lengthBytesUTF, shift;
- if (charSize === 2) {
- decodeString = UTF16ToString;
- encodeString = stringToUTF16;
- lengthBytesUTF = lengthBytesUTF16;
- getHeap = function() {
- return HEAPU16;
- };
- shift = 1;
- } else if (charSize === 4) {
- decodeString = UTF32ToString;
- encodeString = stringToUTF32;
- lengthBytesUTF = lengthBytesUTF32;
- getHeap = function() {
- return HEAPU32;
- };
- shift = 2;
- }
- registerType(rawType, { name, "fromWireType": function(value) {
- var length = HEAPU32[value >> 2];
- var HEAP = getHeap();
- var str;
- var decodeStartPtr = value + 4;
- for (var i = 0; i <= length; ++i) {
- var currentBytePtr = value + 4 + i * charSize;
- if (i == length || HEAP[currentBytePtr >> shift] == 0) {
- var maxReadBytes = currentBytePtr - decodeStartPtr;
- var stringSegment = decodeString(decodeStartPtr, maxReadBytes);
- if (str === void 0) {
- str = stringSegment;
- } else {
- str += String.fromCharCode(0);
- str += stringSegment;
- }
- decodeStartPtr = currentBytePtr + charSize;
- }
- }
- _free(value);
- return str;
- }, "toWireType": function(destructors, value) {
- if (!(typeof value === "string")) {
- throwBindingError("Cannot pass non-string to C++ string type " + name);
- }
- var length = lengthBytesUTF(value);
- var ptr = _malloc(4 + length + charSize);
- HEAPU32[ptr >> 2] = length >> shift;
- encodeString(value, ptr + 4, length + charSize);
- if (destructors !== null) {
- destructors.push(_free, ptr);
- }
- return ptr;
- }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) {
- _free(ptr);
- } });
- }
- function __embind_register_value_object(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) {
- structRegistrations[rawType] = { name: readLatin1String(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), fields: [] };
- }
- function __embind_register_value_object_field(structType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) {
- structRegistrations[structType].fields.push({ fieldName: readLatin1String(fieldName), getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext });
- }
- function __embind_register_void(rawType, name) {
- name = readLatin1String(name);
- registerType(rawType, { isVoid: true, name, "argPackAdvance": 0, "fromWireType": function() {
- return void 0;
- }, "toWireType": function(destructors, o) {
- return void 0;
- } });
- }
- function requireHandle(handle) {
- if (!handle) {
- throwBindingError("Cannot use deleted val. handle = " + handle);
- }
- return emval_handle_array[handle].value;
- }
- function __emval_as(handle, returnType, destructorsRef) {
- handle = requireHandle(handle);
- returnType = requireRegisteredType(returnType, "emval::as");
- var destructors = [];
- var rd = __emval_register(destructors);
- HEAP32[destructorsRef >> 2] = rd;
- return returnType["toWireType"](destructors, handle);
- }
- var emval_symbols = {};
- function getStringOrSymbol(address) {
- var symbol = emval_symbols[address];
- if (symbol === void 0) {
- return readLatin1String(address);
- } else {
- return symbol;
- }
- }
- var emval_methodCallers = [];
- function __emval_call_void_method(caller, handle, methodName, args) {
- caller = emval_methodCallers[caller];
- handle = requireHandle(handle);
- methodName = getStringOrSymbol(methodName);
- caller(handle, methodName, null, args);
- }
- function emval_get_global() {
- if (typeof globalThis === "object") {
- return globalThis;
- }
- return function() {
- return Function;
- }()("return this")();
- }
- function __emval_get_global(name) {
- if (name === 0) {
- return __emval_register(emval_get_global());
- } else {
- name = getStringOrSymbol(name);
- return __emval_register(emval_get_global()[name]);
- }
- }
- function __emval_addMethodCaller(caller) {
- var id = emval_methodCallers.length;
- emval_methodCallers.push(caller);
- return id;
- }
- function __emval_lookupTypes(argCount, argTypes) {
- var a = new Array(argCount);
- for (var i = 0; i < argCount; ++i) {
- a[i] = requireRegisteredType(HEAP32[(argTypes >> 2) + i], "parameter " + i);
- }
- return a;
- }
- function __emval_get_method_caller(argCount, argTypes) {
- var types = __emval_lookupTypes(argCount, argTypes);
- var retType = types[0];
- var signatureName = retType.name + "_$" + types.slice(1).map(function(t) {
- return t.name;
- }).join("_") + "$";
- var params = ["retType"];
- var args = [retType];
- var argsList = "";
- for (var i = 0; i < argCount - 1; ++i) {
- argsList += (i !== 0 ? ", " : "") + "arg" + i;
- params.push("argType" + i);
- args.push(types[1 + i]);
- }
- var functionName = makeLegalFunctionName("methodCaller_" + signatureName);
- var functionBody = "return function " + functionName + "(handle, name, destructors, args) {\n";
- var offset = 0;
- for (var i = 0; i < argCount - 1; ++i) {
- functionBody += " var arg" + i + " = argType" + i + ".readValueFromPointer(args" + (offset ? "+" + offset : "") + ");\n";
- offset += types[i + 1]["argPackAdvance"];
- }
- functionBody += " var rv = handle[name](" + argsList + ");\n";
- for (var i = 0; i < argCount - 1; ++i) {
- if (types[i + 1]["deleteObject"]) {
- functionBody += " argType" + i + ".deleteObject(arg" + i + ");\n";
- }
- }
- if (!retType.isVoid) {
- functionBody += " return retType.toWireType(destructors, rv);\n";
- }
- functionBody += "};\n";
- params.push(functionBody);
- var invokerFunction = new_(Function, params).apply(null, args);
- return __emval_addMethodCaller(invokerFunction);
- }
- function __emval_get_module_property(name) {
- name = getStringOrSymbol(name);
- return __emval_register(Module[name]);
- }
- function __emval_get_property(handle, key2) {
- handle = requireHandle(handle);
- key2 = requireHandle(key2);
- return __emval_register(handle[key2]);
- }
- function __emval_incref(handle) {
- if (handle > 4) {
- emval_handle_array[handle].refcount += 1;
- }
- }
- function craftEmvalAllocator(argCount) {
- var argsList = "";
- for (var i = 0; i < argCount; ++i) {
- argsList += (i !== 0 ? ", " : "") + "arg" + i;
- }
- var functionBody = "return function emval_allocator_" + argCount + "(constructor, argTypes, args) {\n";
- for (var i = 0; i < argCount; ++i) {
- functionBody += "var argType" + i + " = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + " + i + '], "parameter ' + i + '");\nvar arg' + i + " = argType" + i + ".readValueFromPointer(args);\nargs += argType" + i + "['argPackAdvance'];\n";
- }
- functionBody += "var obj = new constructor(" + argsList + ");\nreturn __emval_register(obj);\n}\n";
- return new Function("requireRegisteredType", "Module", "__emval_register", functionBody)(requireRegisteredType, Module, __emval_register);
- }
- var emval_newers = {};
- function __emval_new(handle, argCount, argTypes, args) {
- handle = requireHandle(handle);
- var newer = emval_newers[argCount];
- if (!newer) {
- newer = craftEmvalAllocator(argCount);
- emval_newers[argCount] = newer;
- }
- return newer(handle, argTypes, args);
- }
- function __emval_new_cstring(v) {
- return __emval_register(getStringOrSymbol(v));
- }
- function __emval_run_destructors(handle) {
- var destructors = emval_handle_array[handle].value;
- runDestructors(destructors);
- __emval_decref(handle);
- }
- function _abort() {
- abort();
- }
- function _emscripten_memcpy_big(dest, src, num) {
- HEAPU8.copyWithin(dest, src, src + num);
- }
- function emscripten_realloc_buffer(size) {
- try {
- wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);
- updateGlobalBufferAndViews(wasmMemory.buffer);
- return 1;
- } catch (e) {
- }
- }
- function _emscripten_resize_heap(requestedSize) {
- var oldSize = HEAPU8.length;
- requestedSize = requestedSize >>> 0;
- var maxHeapSize = 2147483648;
- if (requestedSize > maxHeapSize) {
- return false;
- }
- for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
- var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
- overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
- var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));
- var replacement = emscripten_realloc_buffer(newSize);
- if (replacement) {
- return true;
- }
- }
- return false;
- }
- var SYSCALLS = { mappings: {}, buffers: [null, [], []], printChar: function(stream, curr) {
- var buffer2 = SYSCALLS.buffers[stream];
- if (curr === 0 || curr === 10) {
- (stream === 1 ? out : err)(UTF8ArrayToString(buffer2, 0));
- buffer2.length = 0;
- } else {
- buffer2.push(curr);
- }
- }, varargs: void 0, get: function() {
- SYSCALLS.varargs += 4;
- var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
- return ret;
- }, getStr: function(ptr) {
- var ret = UTF8ToString(ptr);
- return ret;
- }, get64: function(low, high) {
- return low;
- } };
- function _fd_close(fd) {
- return 0;
- }
- function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
- }
- function _fd_write(fd, iov, iovcnt, pnum) {
- var num = 0;
- for (var i = 0; i < iovcnt; i++) {
- var ptr = HEAP32[iov + i * 8 >> 2];
- var len = HEAP32[iov + (i * 8 + 4) >> 2];
- for (var j = 0; j < len; j++) {
- SYSCALLS.printChar(fd, HEAPU8[ptr + j]);
- }
- num += len;
- }
- HEAP32[pnum >> 2] = num;
- return 0;
- }
- function _setTempRet0($i) {
- setTempRet0($i | 0);
- }
- InternalError = Module["InternalError"] = extendError(Error, "InternalError");
- embind_init_charCodes();
- BindingError = Module["BindingError"] = extendError(Error, "BindingError");
- init_ClassHandle();
- init_RegisteredPointer();
- init_embind();
- UnboundTypeError = Module["UnboundTypeError"] = extendError(Error, "UnboundTypeError");
- init_emval();
- var asmLibraryArg = { "t": __embind_finalize_value_object, "I": __embind_register_bool, "x": __embind_register_class, "w": __embind_register_class_constructor, "d": __embind_register_class_function, "k": __embind_register_constant, "H": __embind_register_emval, "n": __embind_register_enum, "a": __embind_register_enum_value, "A": __embind_register_float, "i": __embind_register_function, "j": __embind_register_integer, "h": __embind_register_memory_view, "B": __embind_register_std_string, "v": __embind_register_std_wstring, "u": __embind_register_value_object, "c": __embind_register_value_object_field, "J": __embind_register_void, "m": __emval_as, "s": __emval_call_void_method, "b": __emval_decref, "y": __emval_get_global, "p": __emval_get_method_caller, "r": __emval_get_module_property, "e": __emval_get_property, "g": __emval_incref, "q": __emval_new, "f": __emval_new_cstring, "l": __emval_run_destructors, "o": _abort, "E": _emscripten_memcpy_big, "F": _emscripten_resize_heap, "G": _fd_close, "C": _fd_seek, "z": _fd_write, "D": _setTempRet0 };
- var asm = createWasm();
- var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() {
- return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["L"]).apply(null, arguments);
- };
- var _malloc = Module["_malloc"] = function() {
- return (_malloc = Module["_malloc"] = Module["asm"]["M"]).apply(null, arguments);
- };
- var _free = Module["_free"] = function() {
- return (_free = Module["_free"] = Module["asm"]["N"]).apply(null, arguments);
- };
- var ___getTypeName = Module["___getTypeName"] = function() {
- return (___getTypeName = Module["___getTypeName"] = Module["asm"]["P"]).apply(null, arguments);
- };
- var ___embind_register_native_and_builtin_types = Module["___embind_register_native_and_builtin_types"] = function() {
- return (___embind_register_native_and_builtin_types = Module["___embind_register_native_and_builtin_types"] = Module["asm"]["Q"]).apply(null, arguments);
- };
- var dynCall_jiji = Module["dynCall_jiji"] = function() {
- return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["R"]).apply(null, arguments);
- };
- var calledRun;
- function ExitStatus(status) {
- this.name = "ExitStatus";
- this.message = "Program terminated with exit(" + status + ")";
- this.status = status;
- }
- dependenciesFulfilled = function runCaller() {
- if (!calledRun)
- run();
- if (!calledRun)
- dependenciesFulfilled = runCaller;
- };
- function run(args) {
- args = args || arguments_;
- if (runDependencies > 0) {
- return;
- }
- preRun();
- if (runDependencies > 0) {
- return;
- }
- function doRun() {
- if (calledRun)
- return;
- calledRun = true;
- Module["calledRun"] = true;
- if (ABORT)
- return;
- initRuntime();
- preMain();
- readyPromiseResolve(Module);
- 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;
- if (Module["preInit"]) {
- if (typeof Module["preInit"] == "function")
- Module["preInit"] = [Module["preInit"]];
- while (Module["preInit"].length > 0) {
- Module["preInit"].pop()();
- }
- }
- run();
- return BASIS2.ready;
- };
- }();
- if (typeof exports === "object" && typeof module === "object")
- module.exports = BASIS;
- else if (typeof define === "function" && define["amd"])
- define([], function() {
- return BASIS;
- });
- else if (typeof exports === "object")
- exports["BASIS"] = BASIS;
|