2024-12-26 23:56:27 +08:00

3579 lines
195 KiB
JavaScript

/* eslint-disable */
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
}) : x)(function (x) {
if (typeof require !== "undefined")
return require.apply(this, arguments);
throw new Error('Dynamic require of "' + x + '" is not supported');
});
// examples/debug-src/generated/libavoid.js
var initAvoidModule = (() => {
var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0;
return function (initAvoidModule2 = {}) {
var Module = typeof initAvoidModule2 != "undefined" ? initAvoidModule2 : {};
var readyPromiseResolve, readyPromiseReject;
Module["ready"] = new Promise(function (resolve, reject) {
readyPromiseResolve = resolve;
readyPromiseReject = reject;
});
["_malloc", "getExceptionMessage", "___get_exception_message", "_free", "___cpp_exception", "___cxa_increment_exception_refcount", "___cxa_decrement_exception_refcount", "___thrown_object_from_unwind_exception", "_fflush", "_emscripten_bind_VoidPtr___destroy___0", "_emscripten_bind_HyperedgeImprover_HyperedgeImprover_0", "_emscripten_bind_HyperedgeImprover_clear_0", "_emscripten_bind_HyperedgeImprover_setRouter_1", "_emscripten_bind_HyperedgeImprover___destroy___0", "_emscripten_bind_Box_Box_0", "_emscripten_bind_Box_length_1", "_emscripten_bind_Box_width_0", "_emscripten_bind_Box_height_0", "_emscripten_bind_Box_get_min_0", "_emscripten_bind_Box_set_min_1", "_emscripten_bind_Box_get_max_0", "_emscripten_bind_Box_set_max_1", "_emscripten_bind_Box___destroy___0", "_emscripten_bind_PolygonInterface_clear_0", "_emscripten_bind_PolygonInterface_empty_0", "_emscripten_bind_PolygonInterface_size_0", "_emscripten_bind_PolygonInterface_id_0", "_emscripten_bind_PolygonInterface_at_1", "_emscripten_bind_PolygonInterface_boundingRectPolygon_0", "_emscripten_bind_PolygonInterface_offsetBoundingBox_1", "_emscripten_bind_PolygonInterface_offsetPolygon_1", "_emscripten_bind_PolygonInterface___destroy___0", "_emscripten_bind_Polygon_Polygon_0", "_emscripten_bind_Polygon_Polygon_1", "_emscripten_bind_Polygon_setPoint_2", "_emscripten_bind_Polygon_size_0", "_emscripten_bind_Polygon_get_ps_1", "_emscripten_bind_Polygon_set_ps_2", "_emscripten_bind_Polygon___destroy___0", "_emscripten_bind_Point_Point_0", "_emscripten_bind_Point_Point_2", "_emscripten_bind_Point_equal_1", "_emscripten_bind_Point_get_x_0", "_emscripten_bind_Point_set_x_1", "_emscripten_bind_Point_get_y_0", "_emscripten_bind_Point_set_y_1", "_emscripten_bind_Point_get_id_0", "_emscripten_bind_Point_set_id_1", "_emscripten_bind_Point_get_vn_0", "_emscripten_bind_Point_set_vn_1", "_emscripten_bind_Point___destroy___0", "_emscripten_bind_Rectangle_Rectangle_2", "_emscripten_bind_Rectangle_Rectangle_3", "_emscripten_bind_Rectangle___destroy___0", "_emscripten_bind_HyperedgeTreeNode_HyperedgeTreeNode_0", "_emscripten_bind_HyperedgeTreeNode_writeEdgesToConns_2", "_emscripten_bind_HyperedgeTreeNode___destroy___0", "_emscripten_bind_HyperedgeTreeEdge_HyperedgeTreeEdge_3", "_emscripten_bind_HyperedgeTreeEdge___destroy___0", "_emscripten_bind_AStarPath_AStarPath_0", "_emscripten_bind_AStarPath_search_4", "_emscripten_bind_AStarPath___destroy___0", "_emscripten_bind_ConnEnd_ConnEnd_1", "_emscripten_bind_ConnEnd_ConnEnd_2", "_emscripten_bind_ConnEnd_createConnEndFromJunctionRef_1", "_emscripten_bind_ConnEnd___destroy___0", "_emscripten_bind_ActionInfo_ActionInfo_2", "_emscripten_bind_ActionInfo_ActionInfo_3", "_emscripten_bind_ActionInfo_ActionInfo_4", "_emscripten_bind_ActionInfo_obstacle_0", "_emscripten_bind_ActionInfo_shape_0", "_emscripten_bind_ActionInfo_conn_0", "_emscripten_bind_ActionInfo_junction_0", "_emscripten_bind_ActionInfo_addConnEndUpdate_3", "_emscripten_bind_ActionInfo_get_type_0", "_emscripten_bind_ActionInfo_set_type_1", "_emscripten_bind_ActionInfo_get_objPtr_0", "_emscripten_bind_ActionInfo_set_objPtr_1", "_emscripten_bind_ActionInfo_get_newPoly_0", "_emscripten_bind_ActionInfo_set_newPoly_1", "_emscripten_bind_ActionInfo_get_newPosition_0", "_emscripten_bind_ActionInfo_set_newPosition_1", "_emscripten_bind_ActionInfo_get_firstMove_0", "_emscripten_bind_ActionInfo_set_firstMove_1", "_emscripten_bind_ActionInfo___destroy___0", "_emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_2", "_emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_3", "_emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_6", "_emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_7", "_emscripten_bind_ShapeConnectionPin_setConnectionCost_1", "_emscripten_bind_ShapeConnectionPin_position_0", "_emscripten_bind_ShapeConnectionPin_position_1", "_emscripten_bind_ShapeConnectionPin_directions_0", "_emscripten_bind_ShapeConnectionPin_setExclusive_1", "_emscripten_bind_ShapeConnectionPin_isExclusive_0", "_emscripten_bind_ShapeConnectionPin_updatePosition_1", "_emscripten_bind_ShapeConnectionPin___destroy___0", "_emscripten_bind_Obstacle_id_0", "_emscripten_bind_Obstacle_polygon_0", "_emscripten_bind_Obstacle_router_0", "_emscripten_bind_Obstacle_position_0", "_emscripten_bind_Obstacle_setNewPoly_1", "_emscripten_bind_Obstacle___destroy___0", "_emscripten_bind_JunctionRef_JunctionRef_2", "_emscripten_bind_JunctionRef_JunctionRef_3", "_emscripten_bind_JunctionRef_position_0", "_emscripten_bind_JunctionRef_setPositionFixed_1", "_emscripten_bind_JunctionRef_positionFixed_0", "_emscripten_bind_JunctionRef_recommendedPosition_0", "_emscripten_bind_JunctionRef___destroy___0", "_emscripten_bind_ShapeRef_ShapeRef_2", "_emscripten_bind_ShapeRef_ShapeRef_3", "_emscripten_bind_ShapeRef_polygon_0", "_emscripten_bind_ShapeRef_position_0", "_emscripten_bind_ShapeRef_setNewPoly_1", "_emscripten_bind_ShapeRef___destroy___0", "_emscripten_bind_HyperedgeNewAndDeletedObjectLists___destroy___0", "_emscripten_bind_HyperedgeRerouter_HyperedgeRerouter_0", "_emscripten_bind_HyperedgeRerouter_registerHyperedgeForRerouting_1", "_emscripten_bind_HyperedgeRerouter___destroy___0", "_emscripten_bind_VertInf___destroy___0", "_emscripten_bind_VertID_VertID_0", "_emscripten_bind_VertID_VertID_2", "_emscripten_bind_VertID_VertID_3", "_emscripten_bind_VertID_get_objID_0", "_emscripten_bind_VertID_set_objID_1", "_emscripten_bind_VertID_get_vn_0", "_emscripten_bind_VertID_set_vn_1", "_emscripten_bind_VertID_get_props_0", "_emscripten_bind_VertID_set_props_1", "_emscripten_bind_VertID_get_src_0", "_emscripten_bind_VertID_get_tar_0", "_emscripten_bind_VertID_get_PROP_ConnPoint_0", "_emscripten_bind_VertID_get_PROP_OrthShapeEdge_0", "_emscripten_bind_VertID_get_PROP_ConnectionPin_0", "_emscripten_bind_VertID_get_PROP_ConnCheckpoint_0", "_emscripten_bind_VertID_get_PROP_DummyPinHelper_0", "_emscripten_bind_VertID___destroy___0", "_emscripten_bind_MinimumTerminalSpanningTree___destroy___0", "_emscripten_bind_Checkpoint_Checkpoint_1", "_emscripten_bind_Checkpoint___destroy___0", "_emscripten_bind_ConnRef_ConnRef_3", "_emscripten_bind_ConnRef_ConnRef_4", "_emscripten_bind_ConnRef_id_0", "_emscripten_bind_ConnRef_setCallback_2", "_emscripten_bind_ConnRef_setSourceEndpoint_1", "_emscripten_bind_ConnRef_setDestEndpoint_1", "_emscripten_bind_ConnRef_routingType_0", "_emscripten_bind_ConnRef_setRoutingType_1", "_emscripten_bind_ConnRef_displayRoute_0", "_emscripten_bind_ConnRef_setHateCrossings_1", "_emscripten_bind_ConnRef_doesHateCrossings_0", "_emscripten_bind_ConnRef___destroy___0", "_emscripten_bind_EdgeInf_EdgeInf_2", "_emscripten_bind_EdgeInf_EdgeInf_3", "_emscripten_bind_EdgeInf___destroy___0", "_emscripten_bind_LineRep_get_begin_0", "_emscripten_bind_LineRep_set_begin_1", "_emscripten_bind_LineRep_get_end_0", "_emscripten_bind_LineRep_set_end_1", "_emscripten_bind_LineRep___destroy___0", "_emscripten_bind_Router_Router_1", "_emscripten_bind_Router_processTransaction_0", "_emscripten_bind_Router_printInfo_0", "_emscripten_bind_Router_deleteConnector_1", "_emscripten_bind_Router_moveShape_2", "_emscripten_bind_Router_moveShape_3", "_emscripten_bind_Router_deleteShape_1", "_emscripten_bind_Router_moveJunction_2", "_emscripten_bind_Router_moveJunction_3", "_emscripten_bind_Router_setRoutingParameter_2", "_emscripten_bind_Router_setRoutingOption_2", "_emscripten_bind_Router___destroy___0", "_emscripten_enum_Avoid_ConnDirFlag_ConnDirNone", "_emscripten_enum_Avoid_ConnDirFlag_ConnDirUp", "_emscripten_enum_Avoid_ConnDirFlag_ConnDirDown", "_emscripten_enum_Avoid_ConnDirFlag_ConnDirLeft", "_emscripten_enum_Avoid_ConnDirFlag_ConnDirRight", "_emscripten_enum_Avoid_ConnDirFlag_ConnDirAll", "_emscripten_enum_Avoid_ConnEndType_ConnEndPoint", "_emscripten_enum_Avoid_ConnEndType_ConnEndShapePin", "_emscripten_enum_Avoid_ConnEndType_ConnEndJunction", "_emscripten_enum_Avoid_ConnEndType_ConnEndEmpty", "_emscripten_enum_Avoid_ActionType_ShapeMove", "_emscripten_enum_Avoid_ActionType_ShapeAdd", "_emscripten_enum_Avoid_ActionType_ShapeRemove", "_emscripten_enum_Avoid_ActionType_JunctionMove", "_emscripten_enum_Avoid_ActionType_JunctionAdd", "_emscripten_enum_Avoid_ActionType_JunctionRemove", "_emscripten_enum_Avoid_ActionType_ConnChange", "_emscripten_enum_Avoid_ActionType_ConnectionPinChange", "_emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW90", "_emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW180", "_emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW270", "_emscripten_enum_Avoid_ShapeTransformationType_TransformationType_FlipX", "_emscripten_enum_Avoid_ShapeTransformationType_TransformationType_FlipY", "_emscripten_enum_Avoid_ConnType_ConnType_None", "_emscripten_enum_Avoid_ConnType_ConnType_PolyLine", "_emscripten_enum_Avoid_ConnType_ConnType_Orthogonal", "_emscripten_enum_Avoid_RouterFlag_PolyLineRouting", "_emscripten_enum_Avoid_RouterFlag_OrthogonalRouting", "_emscripten_enum_Avoid_RoutingParameter_segmentPenalty", "_emscripten_enum_Avoid_RoutingParameter_anglePenalty", "_emscripten_enum_Avoid_RoutingParameter_crossingPenalty", "_emscripten_enum_Avoid_RoutingParameter_clusterCrossingPenalty", "_emscripten_enum_Avoid_RoutingParameter_fixedSharedPathPenalty", "_emscripten_enum_Avoid_RoutingParameter_portDirectionPenalty", "_emscripten_enum_Avoid_RoutingParameter_shapeBufferDistance", "_emscripten_enum_Avoid_RoutingParameter_idealNudgingDistance", "_emscripten_enum_Avoid_RoutingParameter_reverseDirectionPenalty", "_emscripten_enum_Avoid_RoutingOption_nudgeOrthogonalSegmentsConnectedToShapes", "_emscripten_enum_Avoid_RoutingOption_improveHyperedgeRoutesMovingJunctions", "_emscripten_enum_Avoid_RoutingOption_penaliseOrthogonalSharedPathsAtConnEnds", "_emscripten_enum_Avoid_RoutingOption_nudgeOrthogonalTouchingColinearSegments", "_emscripten_enum_Avoid_RoutingOption_performUnifyingNudgingPreprocessingStep", "_emscripten_enum_Avoid_RoutingOption_improveHyperedgeRoutesMovingAddingAndDeletingJunctions", "_emscripten_enum_Avoid_RoutingOption_nudgeSharedPathsWithCommonEndPoint", "onRuntimeInitialized"].forEach((prop) => {
if (!Object.getOwnPropertyDescriptor(Module["ready"], prop)) {
Object.defineProperty(Module["ready"], prop, {
get: () => abort("You are getting " + prop + " on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),
set: () => abort("You are setting " + prop + " on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")
});
}
});
var moduleOverrides = Object.assign({}, Module);
var arguments_ = [];
var thisProgram = "./this.program";
var quit_ = (status, toThrow) => {
throw toThrow;
};
var ENVIRONMENT_IS_WEB = true;
var ENVIRONMENT_IS_WORKER = false;
var ENVIRONMENT_IS_NODE = false;
var ENVIRONMENT_IS_SHELL = false;
if (Module["ENVIRONMENT"]) {
throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");
}
var scriptDirectory = "";
function locateFile(path) {
if (Module["locateFile"]) {
return Module["locateFile"](path, scriptDirectory);
}
return scriptDirectory + path;
}
var read_, readAsync, readBinary, setWindowTitle;
if (ENVIRONMENT_IS_SHELL) {
if (typeof process == "object" && typeof __require === "function" || typeof window == "object" || typeof importScripts == "function")
throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");
if (typeof read != "undefined") {
read_ = function shell_read(f) {
return read(f);
};
}
readBinary = function readBinary2(f) {
let data;
if (typeof readbuffer == "function") {
return new Uint8Array(readbuffer(f));
}
data = read(f, "binary");
assert(typeof data == "object");
return data;
};
readAsync = function readAsync2(f, onload, onerror) {
setTimeout(() => onload(readBinary(f)), 0);
};
if (typeof clearTimeout == "undefined") {
globalThis.clearTimeout = (id) => {
};
}
if (typeof scriptArgs != "undefined") {
arguments_ = scriptArgs;
} else if (typeof arguments != "undefined") {
arguments_ = arguments;
}
if (typeof quit == "function") {
quit_ = (status, toThrow) => {
setTimeout(() => {
if (!(toThrow instanceof ExitStatus)) {
let toLog = toThrow;
if (toThrow && typeof toThrow == "object" && toThrow.stack) {
toLog = [toThrow, toThrow.stack];
}
err("exiting due to exception: " + toLog);
}
quit(status);
});
throw toThrow;
};
}
if (typeof print != "undefined") {
if (typeof console == "undefined")
console = /** @type{!Console} */
{};
console.log = /** @type{!function(this:Console, ...*): undefined} */
print;
console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */
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.replace(/[?#].*/, "").lastIndexOf("/") + 1);
} else {
scriptDirectory = "";
}
if (!(typeof window == "object" || typeof importScripts == "function"))
throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");
{
read_ = (url) => {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.send(null);
return xhr.responseText;
};
if (ENVIRONMENT_IS_WORKER) {
readBinary = (url) => {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.responseType = "arraybuffer";
xhr.send(null);
return new Uint8Array(
/** @type{!ArrayBuffer} */
xhr.response
);
};
}
readAsync = (url, onload, onerror) => {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.responseType = "arraybuffer";
xhr.onload = () => {
if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
onload(xhr.response);
return;
}
onerror();
};
xhr.onerror = onerror;
xhr.send(null);
};
}
setWindowTitle = (title) => document.title = title;
} else {
throw new Error("environment detection error");
}
var out = Module["print"] || console.log.bind(console);
var err = Module["printErr"] || console.warn.bind(console);
Object.assign(Module, moduleOverrides);
moduleOverrides = null;
checkIncomingModuleAPI();
if (Module["arguments"])
arguments_ = Module["arguments"];
legacyModuleProp("arguments", "arguments_");
if (Module["thisProgram"])
thisProgram = Module["thisProgram"];
legacyModuleProp("thisProgram", "thisProgram");
if (Module["quit"])
quit_ = Module["quit"];
legacyModuleProp("quit", "quit_");
assert(typeof Module["memoryInitializerPrefixURL"] == "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");
assert(typeof Module["pthreadMainPrefixURL"] == "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");
assert(typeof Module["cdInitializerPrefixURL"] == "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");
assert(typeof Module["filePackagePrefixURL"] == "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead");
assert(typeof Module["read"] == "undefined", "Module.read option was removed (modify read_ in JS)");
assert(typeof Module["readAsync"] == "undefined", "Module.readAsync option was removed (modify readAsync in JS)");
assert(typeof Module["readBinary"] == "undefined", "Module.readBinary option was removed (modify readBinary in JS)");
assert(typeof Module["setWindowTitle"] == "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)");
assert(typeof Module["TOTAL_MEMORY"] == "undefined", "Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");
legacyModuleProp("read", "read_");
legacyModuleProp("readAsync", "readAsync");
legacyModuleProp("readBinary", "readBinary");
legacyModuleProp("setWindowTitle", "setWindowTitle");
var IDBFS = "IDBFS is no longer included by default; build with -lidbfs.js";
var PROXYFS = "PROXYFS is no longer included by default; build with -lproxyfs.js";
var WORKERFS = "WORKERFS is no longer included by default; build with -lworkerfs.js";
var NODEFS = "NODEFS is no longer included by default; build with -lnodefs.js";
assert(!ENVIRONMENT_IS_WORKER, "worker environment detected but not enabled at build time. Add 'worker' to `-sENVIRONMENT` to enable.");
assert(!ENVIRONMENT_IS_NODE, "node environment detected but not enabled at build time. Add 'node' to `-sENVIRONMENT` to enable.");
assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");
var wasmBinary;
if (Module["wasmBinary"]) {
wasmBinary = Module["wasmBinary"];
}
legacyModuleProp("wasmBinary", "wasmBinary");
var noExitRuntime = Module["noExitRuntime"] || true;
legacyModuleProp("noExitRuntime", "noExitRuntime");
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 ? ": " + text : ""));
}
}
var HEAP, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
function updateMemoryViews() {
var b = wasmMemory.buffer;
Module["HEAP8"] = HEAP8 = new Int8Array(b);
Module["HEAP16"] = HEAP16 = new Int16Array(b);
Module["HEAP32"] = HEAP32 = new Int32Array(b);
Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
Module["HEAPU16"] = HEAPU16 = new Uint16Array(b);
Module["HEAPU32"] = HEAPU32 = new Uint32Array(b);
Module["HEAPF32"] = HEAPF32 = new Float32Array(b);
Module["HEAPF64"] = HEAPF64 = new Float64Array(b);
}
assert(!Module["STACK_SIZE"], "STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");
assert(
typeof Int32Array != "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray != void 0 && Int32Array.prototype.set != void 0,
"JS engine does not provide full typed array support"
);
assert(!Module["wasmMemory"], "Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally");
assert(!Module["INITIAL_MEMORY"], "Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");
var wasmTable;
function writeStackCookie() {
var max = _emscripten_stack_get_end();
assert((max & 3) == 0);
if (max == 0) {
max += 4;
}
HEAPU32[max >> 2] = 34821223;
HEAPU32[max + 4 >> 2] = 2310721022;
HEAPU32[0] = 1668509029;
}
function checkStackCookie() {
if (ABORT)
return;
var max = _emscripten_stack_get_end();
if (max == 0) {
max += 4;
}
var cookie1 = HEAPU32[max >> 2];
var cookie2 = HEAPU32[max + 4 >> 2];
if (cookie1 != 34821223 || cookie2 != 2310721022) {
abort("Stack overflow! Stack cookie has been overwritten at " + ptrToString(max) + ", expected hex dwords 0x89BACDFE and 0x2135467, but received " + ptrToString(cookie2) + " " + ptrToString(cookie1));
}
if (HEAPU32[0] !== 1668509029) {
abort("Runtime error: The application has corrupted its heap memory area (address zero)!");
}
}
(function () {
var h16 = new Int16Array(1);
var h8 = new Int8Array(h16.buffer);
h16[0] = 25459;
if (h8[0] !== 115 || h8[1] !== 99)
throw "Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)";
})();
var __ATPRERUN__ = [];
var __ATINIT__ = [];
var __ATEXIT__ = [];
var __ATPOSTRUN__ = [];
var runtimeInitialized = false;
var runtimeKeepaliveCounter = 0;
function keepRuntimeAlive() {
return noExitRuntime || runtimeKeepaliveCounter > 0;
}
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() {
assert(!runtimeInitialized);
runtimeInitialized = true;
checkStackCookie();
callRuntimeCallbacks(__ATINIT__);
}
function postRun() {
checkStackCookie();
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 addOnExit(cb) {
}
function addOnPostRun(cb) {
__ATPOSTRUN__.unshift(cb);
}
assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
var runDependencies = 0;
var runDependencyWatcher = null;
var dependenciesFulfilled = null;
var runDependencyTracking = {};
function getUniqueRunDependency(id) {
var orig = id;
while (1) {
if (!runDependencyTracking[id])
return id;
id = orig + Math.random();
}
}
function addRunDependency(id) {
runDependencies++;
if (Module["monitorRunDependencies"]) {
Module["monitorRunDependencies"](runDependencies);
}
if (id) {
assert(!runDependencyTracking[id]);
runDependencyTracking[id] = 1;
if (runDependencyWatcher === null && typeof setInterval != "undefined") {
runDependencyWatcher = setInterval(function () {
if (ABORT) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
return;
}
var shown = false;
for (var dep in runDependencyTracking) {
if (!shown) {
shown = true;
err("still waiting on run dependencies:");
}
err("dependency: " + dep);
}
if (shown) {
err("(end of list)");
}
}, 1e4);
}
} else {
err("warning: run dependency added without ID");
}
}
function removeRunDependency(id) {
runDependencies--;
if (Module["monitorRunDependencies"]) {
Module["monitorRunDependencies"](runDependencies);
}
if (id) {
assert(runDependencyTracking[id]);
delete runDependencyTracking[id];
} else {
err("warning: run dependency removed without ID");
}
if (runDependencies == 0) {
if (runDependencyWatcher !== null) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
}
if (dependenciesFulfilled) {
var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
callback();
}
}
}
function abort(what) {
if (Module["onAbort"]) {
Module["onAbort"](what);
}
what = "Aborted(" + what + ")";
err(what);
ABORT = true;
EXITSTATUS = 1;
if (runtimeInitialized) {
___trap();
}
var e = new WebAssembly.RuntimeError(what);
readyPromiseReject(e);
throw e;
}
var FS = {
error: function () {
abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM");
},
init: function () {
FS.error();
},
createDataFile: function () {
FS.error();
},
createPreloadedFile: function () {
FS.error();
},
createLazyFile: function () {
FS.error();
},
open: function () {
FS.error();
},
mkdev: function () {
FS.error();
},
registerDevice: function () {
FS.error();
},
analyzePath: function () {
FS.error();
},
ErrnoError: function ErrnoError() {
FS.error();
}
};
Module["FS_createDataFile"] = FS.createDataFile;
Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
var dataURIPrefix = "data:application/octet-stream;base64,";
function isDataURI(filename) {
return filename.startsWith(dataURIPrefix);
}
function isFileURI(filename) {
return filename.startsWith("file://");
}
function createExportWrapper(name, fixedasm) {
return function () {
var displayName = name;
var asm2 = fixedasm;
if (!fixedasm) {
asm2 = Module["asm"];
}
assert(runtimeInitialized, "native function `" + displayName + "` called before runtime initialization");
if (!asm2[name]) {
assert(asm2[name], "exported native function `" + displayName + "` not found");
}
return asm2[name].apply(null, arguments);
};
}
var abortWrapperDepth = 0;
function makeAbortWrapper(original) {
return function () {
if (ABORT) {
throw "program has already aborted!";
}
abortWrapperDepth += 1;
try {
return original.apply(null, arguments);
} catch (e) {
if (ABORT || abortWrapperDepth > 1 || e === "unwind") {
throw e;
}
abort("unhandled exception: " + [e, e.stack]);
} finally {
abortWrapperDepth -= 1;
}
};
}
function instrumentWasmExportsWithAbort(exports) {
var instExports = {};
for (var name in exports) {
var original = exports[name];
if (typeof original == "function") {
instExports[name] = makeAbortWrapper(original);
} else {
instExports[name] = original;
}
}
return instExports;
}
function instrumentWasmTableWithAbort() {
var realGet = wasmTable.get;
var wrapperCache = {};
wasmTable.get = (i) => {
var func = realGet.call(wasmTable, i);
var cached = wrapperCache[i];
if (!cached || cached.func !== func) {
cached = wrapperCache[i] = {
func,
wrapper: makeAbortWrapper(func)
};
}
return cached.wrapper;
};
}
var wasmBinaryFile;
wasmBinaryFile = "avoid.wasm";
if (typeof wasmBinaryFile === 'string' || !isDataURI(wasmBinaryFile)) {
wasmBinaryFile = locateFile(wasmBinaryFile);
}
function getBinary(file) {
try {
if (file == wasmBinaryFile && wasmBinary) {
return new Uint8Array(wasmBinary);
}
if (readBinary) {
return readBinary(file);
}
throw "both async and sync fetching of the wasm failed";
} catch (err2) {
abort(err2);
}
}
function getBinaryPromise(binaryFile) {
console.log(wasmBinary);
if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {
if (typeof fetch == "function") {
return fetch(binaryFile, { credentials: "same-origin" }).then(function (response) {
if (!response["ok"]) {
throw "failed to load wasm binary file at '" + binaryFile + "'";
}
return response["arrayBuffer"]();
}).catch(function () {
return getBinary(binaryFile);
});
}
}
return Promise.resolve().then(function () {
return getBinary(binaryFile);
});
}
function instantiateArrayBuffer(binaryFile, imports, receiver) {
return getBinaryPromise(binaryFile).then(function (binary) {
return WebAssembly.instantiate(binary, imports);
}).then(function (instance) {
return instance;
}).then(receiver, function (reason) {
err("failed to asynchronously prepare wasm: " + reason);
if (isFileURI(wasmBinaryFile)) {
err("warning: Loading from a file URI (" + wasmBinaryFile + ") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing");
}
abort(reason);
});
}
function instantiateAsync(binary, binaryFile, imports, callback) {
if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") {
return fetch(binaryFile, { credentials: "same-origin" }).then(function (response) {
var result = WebAssembly.instantiateStreaming(response, imports);
return result.then(
callback,
function (reason) {
err("wasm streaming compile failed: " + reason);
err("falling back to ArrayBuffer instantiation");
return instantiateArrayBuffer(binaryFile, imports, callback);
}
);
});
} else {
return instantiateArrayBuffer(binaryFile, imports, callback);
}
}
function createWasm() {
var info = {
"env": wasmImports,
"wasi_snapshot_preview1": wasmImports
};
function receiveInstance(instance, module) {
var exports = instance.exports;
exports = instrumentWasmExportsWithAbort(exports);
Module["asm"] = exports;
wasmMemory = Module["asm"]["memory"];
assert(wasmMemory, "memory not found in wasm exports");
updateMemoryViews();
wasmTable = Module["asm"]["__indirect_function_table"];
assert(wasmTable, "table not found in wasm exports");
addOnInit(Module["asm"]["__wasm_call_ctors"]);
instrumentWasmTableWithAbort();
removeRunDependency("wasm-instantiate");
return exports;
}
addRunDependency("wasm-instantiate");
var trueModule = Module;
function receiveInstantiationResult(result) {
assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");
trueModule = null;
receiveInstance(result["instance"]);
}
if (Module["instantiateWasm"]) {
try {
return Module["instantiateWasm"](info, receiveInstance);
} catch (e) {
err("Module.instantiateWasm callback failed with error: " + e);
readyPromiseReject(e);
}
}
err("asynchronously preparing wasm");
instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);
return {};
}
var tempDouble;
var tempI64;
function legacyModuleProp(prop, newName) {
if (!Object.getOwnPropertyDescriptor(Module, prop)) {
Object.defineProperty(Module, prop, {
configurable: true,
get: function () {
abort("Module." + prop + " has been replaced with plain " + newName + " (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)");
}
});
}
}
function ignoredModuleProp(prop) {
if (Object.getOwnPropertyDescriptor(Module, prop)) {
abort("`Module." + prop + "` was supplied but `" + prop + "` not included in INCOMING_MODULE_JS_API");
}
}
function isExportedByForceFilesystem(name) {
return name === "FS_createPath" || name === "FS_createDataFile" || name === "FS_createPreloadedFile" || name === "FS_unlink" || name === "addRunDependency" || // The old FS has some functionality that WasmFS lacks.
name === "FS_createLazyFile" || name === "FS_createDevice" || name === "removeRunDependency";
}
function missingGlobal(sym, msg) {
if (typeof globalThis !== "undefined") {
Object.defineProperty(globalThis, sym, {
configurable: true,
get: function () {
warnOnce("`" + sym + "` is not longer defined by emscripten. " + msg);
return void 0;
}
});
}
}
missingGlobal("buffer", "Please use HEAP8.buffer or wasmMemory.buffer");
function missingLibrarySymbol(sym) {
if (typeof globalThis !== "undefined" && !Object.getOwnPropertyDescriptor(globalThis, sym)) {
Object.defineProperty(globalThis, sym, {
configurable: true,
get: function () {
var msg = "`" + sym + "` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line";
var librarySymbol = sym;
if (!librarySymbol.startsWith("_")) {
librarySymbol = "$" + sym;
}
msg += " (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=" + librarySymbol + ")";
if (isExportedByForceFilesystem(sym)) {
msg += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you";
}
warnOnce(msg);
return void 0;
}
});
}
unexportedRuntimeSymbol(sym);
}
function unexportedRuntimeSymbol(sym) {
if (!Object.getOwnPropertyDescriptor(Module, sym)) {
Object.defineProperty(Module, sym, {
configurable: true,
get: function () {
var msg = "'" + sym + "' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";
if (isExportedByForceFilesystem(sym)) {
msg += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you";
}
abort(msg);
}
});
}
}
function dbg(text) {
console.error.apply(console, arguments);
}
function array_bounds_check_error(idx, size) {
throw "Array index " + idx + " out of bounds: [0," + size + ")";
}
function ExitStatus(status) {
this.name = "ExitStatus";
this.message = "Program terminated with exit(" + status + ")";
this.status = status;
}
function uleb128Encode(n, target) {
assert(n < 16384);
if (n < 128) {
target.push(n);
} else {
target.push(n % 128 | 128, n >> 7);
}
}
function sigToWasmTypes(sig) {
var typeNames = {
"i": "i32",
// i64 values will be split into two i32s.
"j": "i32",
"f": "f32",
"d": "f64",
"p": "i32"
};
var type = {
parameters: [],
results: sig[0] == "v" ? [] : [typeNames[sig[0]]]
};
for (var i = 1; i < sig.length; ++i) {
assert(sig[i] in typeNames, "invalid signature char: " + sig[i]);
type.parameters.push(typeNames[sig[i]]);
if (sig[i] === "j") {
type.parameters.push("i32");
}
}
return type;
}
function generateFuncType(sig, target) {
var sigRet = sig.slice(0, 1);
var sigParam = sig.slice(1);
var typeCodes = {
"i": 127,
// i32
"p": 127,
// i32
"j": 126,
// i64
"f": 125,
// f32
"d": 124
// f64
};
target.push(
96
/* form: func */
);
uleb128Encode(sigParam.length, target);
for (var i = 0; i < sigParam.length; ++i) {
assert(sigParam[i] in typeCodes, "invalid signature char: " + sigParam[i]);
target.push(typeCodes[sigParam[i]]);
}
if (sigRet == "v") {
target.push(0);
} else {
target.push(1, typeCodes[sigRet]);
}
}
function convertJsFunctionToWasm(func, sig) {
if (typeof WebAssembly.Function == "function") {
return new WebAssembly.Function(sigToWasmTypes(sig), func);
}
var typeSectionBody = [
1
// count: 1
];
generateFuncType(sig, typeSectionBody);
var bytes = [
0,
97,
115,
109,
// magic ("\0asm")
1,
0,
0,
0,
// version: 1
1
// Type section code
];
uleb128Encode(typeSectionBody.length, bytes);
bytes.push.apply(bytes, typeSectionBody);
bytes.push(
2,
7,
// import section
// (import "e" "f" (func 0 (type 0)))
1,
1,
101,
1,
102,
0,
0,
7,
5,
// export section
// (export "f" (func 0 (type 0)))
1,
1,
102,
0,
0
);
var module = new WebAssembly.Module(new Uint8Array(bytes));
var instance = new WebAssembly.Instance(module, { "e": { "f": func } });
var wrappedFunc = instance.exports["f"];
return wrappedFunc;
}
var wasmTableMirror = [];
function getWasmTableEntry(funcPtr) {
var func = wasmTableMirror[funcPtr];
if (!func) {
if (funcPtr >= wasmTableMirror.length)
wasmTableMirror.length = funcPtr + 1;
wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
}
assert(wasmTable.get(funcPtr) == func, "JavaScript-side Wasm function table mirror is out of date!");
return func;
}
function updateTableMap(offset, count) {
if (functionsInTableMap) {
for (var i = offset; i < offset + count; i++) {
var item = getWasmTableEntry(i);
if (item) {
functionsInTableMap.set(item, i);
}
}
}
}
var functionsInTableMap = void 0;
function getFunctionAddress(func) {
if (!functionsInTableMap) {
functionsInTableMap = /* @__PURE__ */ new WeakMap();
updateTableMap(0, wasmTable.length);
}
return functionsInTableMap.get(func) || 0;
}
var freeTableIndexes = [];
function getEmptyTableSlot() {
if (freeTableIndexes.length) {
return freeTableIndexes.pop();
}
try {
wasmTable.grow(1);
} catch (err2) {
if (!(err2 instanceof RangeError)) {
throw err2;
}
throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";
}
return wasmTable.length - 1;
}
function setWasmTableEntry(idx, func) {
wasmTable.set(idx, func);
wasmTableMirror[idx] = wasmTable.get(idx);
}
function addFunction(func, sig) {
assert(typeof func != "undefined");
var rtn = getFunctionAddress(func);
if (rtn) {
return rtn;
}
var ret = getEmptyTableSlot();
try {
setWasmTableEntry(ret, func);
} catch (err2) {
if (!(err2 instanceof TypeError)) {
throw err2;
}
assert(typeof sig != "undefined", "Missing signature argument to addFunction: " + func);
var wrapped = convertJsFunctionToWasm(func, sig);
setWasmTableEntry(ret, wrapped);
}
functionsInTableMap.set(func, ret);
return ret;
}
function callRuntimeCallbacks(callbacks) {
while (callbacks.length > 0) {
callbacks.shift()(Module);
}
}
function getCppExceptionTag() {
return Module["asm"]["__cpp_exception"];
}
function getCppExceptionThrownObjectFromWebAssemblyException(ex) {
var unwind_header = ex.getArg(getCppExceptionTag(), 0);
return ___thrown_object_from_unwind_exception(unwind_header);
}
function decrementExceptionRefcount(ex) {
var ptr = getCppExceptionThrownObjectFromWebAssemblyException(ex);
___cxa_decrement_exception_refcount(ptr);
}
function withStackSave(f) {
var stack = stackSave();
var ret = f();
stackRestore(stack);
return ret;
}
var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : void 0;
function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {
var endIdx = idx + maxBytesToRead;
var endPtr = idx;
while (heapOrArray[endPtr] && !(endPtr >= endIdx))
++endPtr;
if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
}
var str = "";
while (idx < endPtr) {
var u0 = heapOrArray[idx++];
if (!(u0 & 128)) {
str += String.fromCharCode(u0);
continue;
}
var u1 = heapOrArray[idx++] & 63;
if ((u0 & 224) == 192) {
str += String.fromCharCode((u0 & 31) << 6 | u1);
continue;
}
var u2 = heapOrArray[idx++] & 63;
if ((u0 & 240) == 224) {
u0 = (u0 & 15) << 12 | u1 << 6 | u2;
} else {
if ((u0 & 248) != 240)
warnOnce("Invalid UTF-8 leading byte " + ptrToString(u0) + " encountered when deserializing a UTF-8 string in wasm memory to a JS string!");
u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[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) {
assert(typeof ptr == "number");
return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
}
function getExceptionMessageCommon(ptr) {
return withStackSave(function () {
var type_addr_addr = stackAlloc(4);
var message_addr_addr = stackAlloc(4);
___get_exception_message(ptr, type_addr_addr, message_addr_addr);
var type_addr = HEAPU32[type_addr_addr >> 2];
var message_addr = HEAPU32[message_addr_addr >> 2];
var type = UTF8ToString(type_addr);
_free(type_addr);
var message;
if (message_addr) {
message = UTF8ToString(message_addr);
_free(message_addr);
}
return [type, message];
});
}
function getExceptionMessage(ex) {
var ptr = getCppExceptionThrownObjectFromWebAssemblyException(ex);
return getExceptionMessageCommon(ptr);
}
Module["getExceptionMessage"] = getExceptionMessage;
function getValue(ptr, type = "i8") {
if (type.endsWith("*"))
type = "*";
switch (type) {
case "i1":
return HEAP8[ptr >> 0];
case "i8":
return HEAP8[ptr >> 0];
case "i16":
return HEAP16[ptr >> 1];
case "i32":
return HEAP32[ptr >> 2];
case "i64":
return HEAP32[ptr >> 2];
case "float":
return HEAPF32[ptr >> 2];
case "double":
return HEAPF64[ptr >> 3];
case "*":
return HEAPU32[ptr >> 2];
default:
abort("invalid type for getValue: " + type);
}
}
function incrementExceptionRefcount(ex) {
var ptr = getCppExceptionThrownObjectFromWebAssemblyException(ex);
___cxa_increment_exception_refcount(ptr);
}
function ptrToString(ptr) {
assert(typeof ptr === "number");
return "0x" + ptr.toString(16).padStart(8, "0");
}
function setValue(ptr, value, type = "i8") {
if (type.endsWith("*"))
type = "*";
switch (type) {
case "i1":
HEAP8[ptr >> 0] = value;
break;
case "i8":
HEAP8[ptr >> 0] = value;
break;
case "i16":
HEAP16[ptr >> 1] = value;
break;
case "i32":
HEAP32[ptr >> 2] = value;
break;
case "i64":
tempI64 = [value >>> 0, (tempDouble = value, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
break;
case "float":
HEAPF32[ptr >> 2] = value;
break;
case "double":
HEAPF64[ptr >> 3] = value;
break;
case "*":
HEAPU32[ptr >> 2] = value;
break;
default:
abort("invalid type for setValue: " + type);
}
}
function warnOnce(text) {
if (!warnOnce.shown)
warnOnce.shown = {};
if (!warnOnce.shown[text]) {
warnOnce.shown[text] = 1;
err(text);
}
}
function ___assert_fail(condition, filename, line, func) {
abort("Assertion failed: " + UTF8ToString(condition) + ", at: " + [filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function"]);
}
function ___throw_exception_with_stack_trace(ex) {
var e = new WebAssembly.Exception(getCppExceptionTag(), [ex], { traceStack: true });
e.message = getExceptionMessage(e);
if (e.stack) {
var arr = e.stack.split("\n");
arr.splice(1, 1);
e.stack = arr.join("\n");
}
throw e;
}
function _abort() {
abort("native code called abort()");
}
function _emscripten_date_now() {
return Date.now();
}
function _emscripten_memcpy_big(dest, src, num) {
HEAPU8.copyWithin(dest, src, src + num);
}
function getHeapMax() {
return 2147483648;
}
function emscripten_realloc_buffer(size) {
var b = wasmMemory.buffer;
try {
wasmMemory.grow(size - b.byteLength + 65535 >>> 16);
updateMemoryViews();
return 1;
} catch (e) {
err("emscripten_realloc_buffer: Attempted to grow heap from " + b.byteLength + " bytes to " + size + " bytes, but got error: " + e);
}
}
function _emscripten_resize_heap(requestedSize) {
var oldSize = HEAPU8.length;
requestedSize = requestedSize >>> 0;
assert(requestedSize > oldSize);
var maxHeapSize = getHeapMax();
if (requestedSize > maxHeapSize) {
err("Cannot enlarge memory, asked to go up to " + requestedSize + " bytes, but the limit is " + maxHeapSize + " bytes!");
return false;
}
let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;
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;
}
}
err("Failed to grow the heap from " + oldSize + " bytes to " + newSize + " bytes, not enough memory!");
return false;
}
var ENV = {};
function getExecutableName() {
return thisProgram || "./this.program";
}
function getEnvStrings() {
if (!getEnvStrings.strings) {
var lang = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8";
var env = {
"USER": "web_user",
"LOGNAME": "web_user",
"PATH": "/",
"PWD": "/",
"HOME": "/home/web_user",
"LANG": lang,
"_": getExecutableName()
};
for (var x in ENV) {
if (ENV[x] === void 0)
delete env[x];
else
env[x] = ENV[x];
}
var strings = [];
for (var x in env) {
strings.push(x + "=" + env[x]);
}
getEnvStrings.strings = strings;
}
return getEnvStrings.strings;
}
function stringToAscii(str, buffer) {
for (var i = 0; i < str.length; ++i) {
assert(str.charCodeAt(i) === (str.charCodeAt(i) & 255));
HEAP8[buffer++ >> 0] = str.charCodeAt(i);
}
HEAP8[buffer >> 0] = 0;
}
var SYSCALLS = {
varargs: void 0, get: function () {
assert(SYSCALLS.varargs != void 0);
SYSCALLS.varargs += 4;
var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
return ret;
}, getStr: function (ptr) {
var ret = UTF8ToString(ptr);
return ret;
}
};
function _environ_get(__environ, environ_buf) {
var bufSize = 0;
getEnvStrings().forEach(function (string, i) {
var ptr = environ_buf + bufSize;
HEAPU32[__environ + i * 4 >> 2] = ptr;
stringToAscii(string, ptr);
bufSize += string.length + 1;
});
return 0;
}
function _environ_sizes_get(penviron_count, penviron_buf_size) {
var strings = getEnvStrings();
HEAPU32[penviron_count >> 2] = strings.length;
var bufSize = 0;
strings.forEach(function (string) {
bufSize += string.length + 1;
});
HEAPU32[penviron_buf_size >> 2] = bufSize;
return 0;
}
function _fd_close(fd) {
abort("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM");
}
function convertI32PairToI53Checked(lo, hi) {
assert(lo == lo >>> 0 || lo == (lo | 0));
assert(hi === (hi | 0));
return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;
}
function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
return 70;
}
var printCharBuffers = [null, [], []];
function printChar(stream, curr) {
var buffer = printCharBuffers[stream];
assert(buffer);
if (curr === 0 || curr === 10) {
(stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0));
buffer.length = 0;
} else {
buffer.push(curr);
}
}
function flush_NO_FILESYSTEM() {
_fflush(0);
if (printCharBuffers[1].length)
printChar(1, 10);
if (printCharBuffers[2].length)
printChar(2, 10);
}
function _fd_write(fd, iov, iovcnt, pnum) {
var num = 0;
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAPU32[iov >> 2];
var len = HEAPU32[iov + 4 >> 2];
iov += 8;
for (var j = 0; j < len; j++) {
printChar(fd, HEAPU8[ptr + j]);
}
num += len;
}
HEAPU32[pnum >> 2] = num;
return 0;
}
function isLeapYear(year) {
return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
}
function arraySum(array, index) {
var sum = 0;
for (var i = 0; i <= index; sum += array[i++]) {
}
return sum;
}
var MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
function addDays(date, days) {
var newDate = new Date(date.getTime());
while (days > 0) {
var leap = isLeapYear(newDate.getFullYear());
var currentMonth = newDate.getMonth();
var daysInCurrentMonth = (leap ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR)[currentMonth];
if (days > daysInCurrentMonth - newDate.getDate()) {
days -= daysInCurrentMonth - newDate.getDate() + 1;
newDate.setDate(1);
if (currentMonth < 11) {
newDate.setMonth(currentMonth + 1);
} else {
newDate.setMonth(0);
newDate.setFullYear(newDate.getFullYear() + 1);
}
} else {
newDate.setDate(newDate.getDate() + days);
return newDate;
}
}
return newDate;
}
function lengthBytesUTF8(str) {
var len = 0;
for (var i = 0; i < str.length; ++i) {
var c = str.charCodeAt(i);
if (c <= 127) {
len++;
} else if (c <= 2047) {
len += 2;
} else if (c >= 55296 && c <= 57343) {
len += 4;
++i;
} else {
len += 3;
}
}
return len;
}
function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
assert(typeof str === "string");
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;
if (u > 1114111)
warnOnce("Invalid Unicode code point " + ptrToString(u) + " encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");
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 intArrayFromString(stringy, dontAddNull, length) {
var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
var u8array = new Array(len);
var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
if (dontAddNull)
u8array.length = numBytesWritten;
return u8array;
}
function writeArrayToMemory(array, buffer) {
assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)");
HEAP8.set(array, buffer);
}
function _strftime(s, maxsize, format, tm) {
var tm_zone = HEAP32[tm + 40 >> 2];
var date = {
tm_sec: HEAP32[tm >> 2],
tm_min: HEAP32[tm + 4 >> 2],
tm_hour: HEAP32[tm + 8 >> 2],
tm_mday: HEAP32[tm + 12 >> 2],
tm_mon: HEAP32[tm + 16 >> 2],
tm_year: HEAP32[tm + 20 >> 2],
tm_wday: HEAP32[tm + 24 >> 2],
tm_yday: HEAP32[tm + 28 >> 2],
tm_isdst: HEAP32[tm + 32 >> 2],
tm_gmtoff: HEAP32[tm + 36 >> 2],
tm_zone: tm_zone ? UTF8ToString(tm_zone) : ""
};
var pattern = UTF8ToString(format);
var EXPANSION_RULES_1 = {
"%c": "%a %b %d %H:%M:%S %Y",
// Replaced by the locale's appropriate date and time representation - e.g., Mon Aug 3 14:02:01 2013
"%D": "%m/%d/%y",
// Equivalent to %m / %d / %y
"%F": "%Y-%m-%d",
// Equivalent to %Y - %m - %d
"%h": "%b",
// Equivalent to %b
"%r": "%I:%M:%S %p",
// Replaced by the time in a.m. and p.m. notation
"%R": "%H:%M",
// Replaced by the time in 24-hour notation
"%T": "%H:%M:%S",
// Replaced by the time
"%x": "%m/%d/%y",
// Replaced by the locale's appropriate date representation
"%X": "%H:%M:%S",
// Replaced by the locale's appropriate time representation
// Modified Conversion Specifiers
"%Ec": "%c",
// Replaced by the locale's alternative appropriate date and time representation.
"%EC": "%C",
// Replaced by the name of the base year (period) in the locale's alternative representation.
"%Ex": "%m/%d/%y",
// Replaced by the locale's alternative date representation.
"%EX": "%H:%M:%S",
// Replaced by the locale's alternative time representation.
"%Ey": "%y",
// Replaced by the offset from %EC (year only) in the locale's alternative representation.
"%EY": "%Y",
// Replaced by the full alternative year representation.
"%Od": "%d",
// Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading zeros if there is any alternative symbol for zero; otherwise, with leading <space> characters.
"%Oe": "%e",
// Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading <space> characters.
"%OH": "%H",
// Replaced by the hour (24-hour clock) using the locale's alternative numeric symbols.
"%OI": "%I",
// Replaced by the hour (12-hour clock) using the locale's alternative numeric symbols.
"%Om": "%m",
// Replaced by the month using the locale's alternative numeric symbols.
"%OM": "%M",
// Replaced by the minutes using the locale's alternative numeric symbols.
"%OS": "%S",
// Replaced by the seconds using the locale's alternative numeric symbols.
"%Ou": "%u",
// Replaced by the weekday as a number in the locale's alternative representation (Monday=1).
"%OU": "%U",
// Replaced by the week number of the year (Sunday as the first day of the week, rules corresponding to %U ) using the locale's alternative numeric symbols.
"%OV": "%V",
// Replaced by the week number of the year (Monday as the first day of the week, rules corresponding to %V ) using the locale's alternative numeric symbols.
"%Ow": "%w",
// Replaced by the number of the weekday (Sunday=0) using the locale's alternative numeric symbols.
"%OW": "%W",
// Replaced by the week number of the year (Monday as the first day of the week) using the locale's alternative numeric symbols.
"%Oy": "%y"
// Replaced by the year (offset from %C ) using the locale's alternative numeric symbols.
};
for (var rule in EXPANSION_RULES_1) {
pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]);
}
var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
function leadingSomething(value, digits, character) {
var str = typeof value == "number" ? value.toString() : value || "";
while (str.length < digits) {
str = character[0] + str;
}
return str;
}
function leadingNulls(value, digits) {
return leadingSomething(value, digits, "0");
}
function compareByDay(date1, date2) {
function sgn(value) {
return value < 0 ? -1 : value > 0 ? 1 : 0;
}
var compare2;
if ((compare2 = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {
if ((compare2 = sgn(date1.getMonth() - date2.getMonth())) === 0) {
compare2 = sgn(date1.getDate() - date2.getDate());
}
}
return compare2;
}
function getFirstWeekStartDate(janFourth) {
switch (janFourth.getDay()) {
case 0:
return new Date(janFourth.getFullYear() - 1, 11, 29);
case 1:
return janFourth;
case 2:
return new Date(janFourth.getFullYear(), 0, 3);
case 3:
return new Date(janFourth.getFullYear(), 0, 2);
case 4:
return new Date(janFourth.getFullYear(), 0, 1);
case 5:
return new Date(janFourth.getFullYear() - 1, 11, 31);
case 6:
return new Date(janFourth.getFullYear() - 1, 11, 30);
}
}
function getWeekBasedYear(date2) {
var thisDate = addDays(new Date(date2.tm_year + 1900, 0, 1), date2.tm_yday);
var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);
var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
return thisDate.getFullYear() + 1;
}
return thisDate.getFullYear();
}
return thisDate.getFullYear() - 1;
}
var EXPANSION_RULES_2 = {
"%a": function (date2) {
return WEEKDAYS[date2.tm_wday].substring(0, 3);
},
"%A": function (date2) {
return WEEKDAYS[date2.tm_wday];
},
"%b": function (date2) {
return MONTHS[date2.tm_mon].substring(0, 3);
},
"%B": function (date2) {
return MONTHS[date2.tm_mon];
},
"%C": function (date2) {
var year = date2.tm_year + 1900;
return leadingNulls(year / 100 | 0, 2);
},
"%d": function (date2) {
return leadingNulls(date2.tm_mday, 2);
},
"%e": function (date2) {
return leadingSomething(date2.tm_mday, 2, " ");
},
"%g": function (date2) {
return getWeekBasedYear(date2).toString().substring(2);
},
"%G": function (date2) {
return getWeekBasedYear(date2);
},
"%H": function (date2) {
return leadingNulls(date2.tm_hour, 2);
},
"%I": function (date2) {
var twelveHour = date2.tm_hour;
if (twelveHour == 0)
twelveHour = 12;
else if (twelveHour > 12)
twelveHour -= 12;
return leadingNulls(twelveHour, 2);
},
"%j": function (date2) {
return leadingNulls(date2.tm_mday + arraySum(isLeapYear(date2.tm_year + 1900) ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR, date2.tm_mon - 1), 3);
},
"%m": function (date2) {
return leadingNulls(date2.tm_mon + 1, 2);
},
"%M": function (date2) {
return leadingNulls(date2.tm_min, 2);
},
"%n": function () {
return "\n";
},
"%p": function (date2) {
if (date2.tm_hour >= 0 && date2.tm_hour < 12) {
return "AM";
}
return "PM";
},
"%S": function (date2) {
return leadingNulls(date2.tm_sec, 2);
},
"%t": function () {
return " ";
},
"%u": function (date2) {
return date2.tm_wday || 7;
},
"%U": function (date2) {
var days = date2.tm_yday + 7 - date2.tm_wday;
return leadingNulls(Math.floor(days / 7), 2);
},
"%V": function (date2) {
var val = Math.floor((date2.tm_yday + 7 - (date2.tm_wday + 6) % 7) / 7);
if ((date2.tm_wday + 371 - date2.tm_yday - 2) % 7 <= 2) {
val++;
}
if (!val) {
val = 52;
var dec31 = (date2.tm_wday + 7 - date2.tm_yday - 1) % 7;
if (dec31 == 4 || dec31 == 5 && isLeapYear(date2.tm_year % 400 - 1)) {
val++;
}
} else if (val == 53) {
var jan1 = (date2.tm_wday + 371 - date2.tm_yday) % 7;
if (jan1 != 4 && (jan1 != 3 || !isLeapYear(date2.tm_year)))
val = 1;
}
return leadingNulls(val, 2);
},
"%w": function (date2) {
return date2.tm_wday;
},
"%W": function (date2) {
var days = date2.tm_yday + 7 - (date2.tm_wday + 6) % 7;
return leadingNulls(Math.floor(days / 7), 2);
},
"%y": function (date2) {
return (date2.tm_year + 1900).toString().substring(2);
},
"%Y": function (date2) {
return date2.tm_year + 1900;
},
"%z": function (date2) {
var off = date2.tm_gmtoff;
var ahead = off >= 0;
off = Math.abs(off) / 60;
off = off / 60 * 100 + off % 60;
return (ahead ? "+" : "-") + String("0000" + off).slice(-4);
},
"%Z": function (date2) {
return date2.tm_zone;
},
"%%": function () {
return "%";
}
};
pattern = pattern.replace(/%%/g, "\0\0");
for (var rule in EXPANSION_RULES_2) {
if (pattern.includes(rule)) {
pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date));
}
}
pattern = pattern.replace(/\0\0/g, "%");
var bytes = intArrayFromString(pattern, false);
if (bytes.length > maxsize) {
return 0;
}
writeArrayToMemory(bytes, s);
return bytes.length - 1;
}
function _strftime_l(s, maxsize, format, tm, loc) {
return _strftime(s, maxsize, format, tm);
}
function checkIncomingModuleAPI() {
ignoredModuleProp("fetchSettings");
}
var wasmImports = {
"__assert_fail": ___assert_fail,
"__throw_exception_with_stack_trace": ___throw_exception_with_stack_trace,
"abort": _abort,
"emscripten_date_now": _emscripten_date_now,
"emscripten_memcpy_big": _emscripten_memcpy_big,
"emscripten_resize_heap": _emscripten_resize_heap,
"environ_get": _environ_get,
"environ_sizes_get": _environ_sizes_get,
"fd_close": _fd_close,
"fd_seek": _fd_seek,
"fd_write": _fd_write,
"strftime_l": _strftime_l
};
var asm = createWasm();
var ___wasm_call_ctors = createExportWrapper("__wasm_call_ctors");
var _malloc = Module["_malloc"] = createExportWrapper("malloc");
var _free = Module["_free"] = createExportWrapper("free");
var _fflush = Module["_fflush"] = createExportWrapper("fflush");
var _emscripten_bind_VoidPtr___destroy___0 = Module["_emscripten_bind_VoidPtr___destroy___0"] = createExportWrapper("emscripten_bind_VoidPtr___destroy___0");
var _emscripten_bind_HyperedgeImprover_HyperedgeImprover_0 = Module["_emscripten_bind_HyperedgeImprover_HyperedgeImprover_0"] = createExportWrapper("emscripten_bind_HyperedgeImprover_HyperedgeImprover_0");
var _emscripten_bind_HyperedgeImprover_clear_0 = Module["_emscripten_bind_HyperedgeImprover_clear_0"] = createExportWrapper("emscripten_bind_HyperedgeImprover_clear_0");
var _emscripten_bind_HyperedgeImprover_setRouter_1 = Module["_emscripten_bind_HyperedgeImprover_setRouter_1"] = createExportWrapper("emscripten_bind_HyperedgeImprover_setRouter_1");
var _emscripten_bind_HyperedgeImprover___destroy___0 = Module["_emscripten_bind_HyperedgeImprover___destroy___0"] = createExportWrapper("emscripten_bind_HyperedgeImprover___destroy___0");
var _emscripten_bind_Box_Box_0 = Module["_emscripten_bind_Box_Box_0"] = createExportWrapper("emscripten_bind_Box_Box_0");
var _emscripten_bind_Box_length_1 = Module["_emscripten_bind_Box_length_1"] = createExportWrapper("emscripten_bind_Box_length_1");
var _emscripten_bind_Box_width_0 = Module["_emscripten_bind_Box_width_0"] = createExportWrapper("emscripten_bind_Box_width_0");
var _emscripten_bind_Box_height_0 = Module["_emscripten_bind_Box_height_0"] = createExportWrapper("emscripten_bind_Box_height_0");
var _emscripten_bind_Box_get_min_0 = Module["_emscripten_bind_Box_get_min_0"] = createExportWrapper("emscripten_bind_Box_get_min_0");
var _emscripten_bind_Box_set_min_1 = Module["_emscripten_bind_Box_set_min_1"] = createExportWrapper("emscripten_bind_Box_set_min_1");
var _emscripten_bind_Box_get_max_0 = Module["_emscripten_bind_Box_get_max_0"] = createExportWrapper("emscripten_bind_Box_get_max_0");
var _emscripten_bind_Box_set_max_1 = Module["_emscripten_bind_Box_set_max_1"] = createExportWrapper("emscripten_bind_Box_set_max_1");
var _emscripten_bind_Box___destroy___0 = Module["_emscripten_bind_Box___destroy___0"] = createExportWrapper("emscripten_bind_Box___destroy___0");
var _emscripten_bind_PolygonInterface_clear_0 = Module["_emscripten_bind_PolygonInterface_clear_0"] = createExportWrapper("emscripten_bind_PolygonInterface_clear_0");
var _emscripten_bind_PolygonInterface_empty_0 = Module["_emscripten_bind_PolygonInterface_empty_0"] = createExportWrapper("emscripten_bind_PolygonInterface_empty_0");
var _emscripten_bind_PolygonInterface_size_0 = Module["_emscripten_bind_PolygonInterface_size_0"] = createExportWrapper("emscripten_bind_PolygonInterface_size_0");
var _emscripten_bind_PolygonInterface_id_0 = Module["_emscripten_bind_PolygonInterface_id_0"] = createExportWrapper("emscripten_bind_PolygonInterface_id_0");
var _emscripten_bind_PolygonInterface_at_1 = Module["_emscripten_bind_PolygonInterface_at_1"] = createExportWrapper("emscripten_bind_PolygonInterface_at_1");
var _emscripten_bind_PolygonInterface_boundingRectPolygon_0 = Module["_emscripten_bind_PolygonInterface_boundingRectPolygon_0"] = createExportWrapper("emscripten_bind_PolygonInterface_boundingRectPolygon_0");
var _emscripten_bind_PolygonInterface_offsetBoundingBox_1 = Module["_emscripten_bind_PolygonInterface_offsetBoundingBox_1"] = createExportWrapper("emscripten_bind_PolygonInterface_offsetBoundingBox_1");
var _emscripten_bind_PolygonInterface_offsetPolygon_1 = Module["_emscripten_bind_PolygonInterface_offsetPolygon_1"] = createExportWrapper("emscripten_bind_PolygonInterface_offsetPolygon_1");
var _emscripten_bind_PolygonInterface___destroy___0 = Module["_emscripten_bind_PolygonInterface___destroy___0"] = createExportWrapper("emscripten_bind_PolygonInterface___destroy___0");
var _emscripten_bind_Polygon_Polygon_0 = Module["_emscripten_bind_Polygon_Polygon_0"] = createExportWrapper("emscripten_bind_Polygon_Polygon_0");
var _emscripten_bind_Polygon_Polygon_1 = Module["_emscripten_bind_Polygon_Polygon_1"] = createExportWrapper("emscripten_bind_Polygon_Polygon_1");
var _emscripten_bind_Polygon_setPoint_2 = Module["_emscripten_bind_Polygon_setPoint_2"] = createExportWrapper("emscripten_bind_Polygon_setPoint_2");
var _emscripten_bind_Polygon_size_0 = Module["_emscripten_bind_Polygon_size_0"] = createExportWrapper("emscripten_bind_Polygon_size_0");
var _emscripten_bind_Polygon_get_ps_1 = Module["_emscripten_bind_Polygon_get_ps_1"] = createExportWrapper("emscripten_bind_Polygon_get_ps_1");
var _emscripten_bind_Polygon_set_ps_2 = Module["_emscripten_bind_Polygon_set_ps_2"] = createExportWrapper("emscripten_bind_Polygon_set_ps_2");
var _emscripten_bind_Polygon___destroy___0 = Module["_emscripten_bind_Polygon___destroy___0"] = createExportWrapper("emscripten_bind_Polygon___destroy___0");
var _emscripten_bind_Point_Point_0 = Module["_emscripten_bind_Point_Point_0"] = createExportWrapper("emscripten_bind_Point_Point_0");
var _emscripten_bind_Point_Point_2 = Module["_emscripten_bind_Point_Point_2"] = createExportWrapper("emscripten_bind_Point_Point_2");
var _emscripten_bind_Point_equal_1 = Module["_emscripten_bind_Point_equal_1"] = createExportWrapper("emscripten_bind_Point_equal_1");
var _emscripten_bind_Point_get_x_0 = Module["_emscripten_bind_Point_get_x_0"] = createExportWrapper("emscripten_bind_Point_get_x_0");
var _emscripten_bind_Point_set_x_1 = Module["_emscripten_bind_Point_set_x_1"] = createExportWrapper("emscripten_bind_Point_set_x_1");
var _emscripten_bind_Point_get_y_0 = Module["_emscripten_bind_Point_get_y_0"] = createExportWrapper("emscripten_bind_Point_get_y_0");
var _emscripten_bind_Point_set_y_1 = Module["_emscripten_bind_Point_set_y_1"] = createExportWrapper("emscripten_bind_Point_set_y_1");
var _emscripten_bind_Point_get_id_0 = Module["_emscripten_bind_Point_get_id_0"] = createExportWrapper("emscripten_bind_Point_get_id_0");
var _emscripten_bind_Point_set_id_1 = Module["_emscripten_bind_Point_set_id_1"] = createExportWrapper("emscripten_bind_Point_set_id_1");
var _emscripten_bind_Point_get_vn_0 = Module["_emscripten_bind_Point_get_vn_0"] = createExportWrapper("emscripten_bind_Point_get_vn_0");
var _emscripten_bind_Point_set_vn_1 = Module["_emscripten_bind_Point_set_vn_1"] = createExportWrapper("emscripten_bind_Point_set_vn_1");
var _emscripten_bind_Point___destroy___0 = Module["_emscripten_bind_Point___destroy___0"] = createExportWrapper("emscripten_bind_Point___destroy___0");
var _emscripten_bind_Rectangle_Rectangle_2 = Module["_emscripten_bind_Rectangle_Rectangle_2"] = createExportWrapper("emscripten_bind_Rectangle_Rectangle_2");
var _emscripten_bind_Rectangle_Rectangle_3 = Module["_emscripten_bind_Rectangle_Rectangle_3"] = createExportWrapper("emscripten_bind_Rectangle_Rectangle_3");
var _emscripten_bind_Rectangle___destroy___0 = Module["_emscripten_bind_Rectangle___destroy___0"] = createExportWrapper("emscripten_bind_Rectangle___destroy___0");
var _emscripten_bind_HyperedgeTreeNode_HyperedgeTreeNode_0 = Module["_emscripten_bind_HyperedgeTreeNode_HyperedgeTreeNode_0"] = createExportWrapper("emscripten_bind_HyperedgeTreeNode_HyperedgeTreeNode_0");
var _emscripten_bind_HyperedgeTreeNode_writeEdgesToConns_2 = Module["_emscripten_bind_HyperedgeTreeNode_writeEdgesToConns_2"] = createExportWrapper("emscripten_bind_HyperedgeTreeNode_writeEdgesToConns_2");
var _emscripten_bind_HyperedgeTreeNode___destroy___0 = Module["_emscripten_bind_HyperedgeTreeNode___destroy___0"] = createExportWrapper("emscripten_bind_HyperedgeTreeNode___destroy___0");
var _emscripten_bind_HyperedgeTreeEdge_HyperedgeTreeEdge_3 = Module["_emscripten_bind_HyperedgeTreeEdge_HyperedgeTreeEdge_3"] = createExportWrapper("emscripten_bind_HyperedgeTreeEdge_HyperedgeTreeEdge_3");
var _emscripten_bind_HyperedgeTreeEdge___destroy___0 = Module["_emscripten_bind_HyperedgeTreeEdge___destroy___0"] = createExportWrapper("emscripten_bind_HyperedgeTreeEdge___destroy___0");
var _emscripten_bind_AStarPath_AStarPath_0 = Module["_emscripten_bind_AStarPath_AStarPath_0"] = createExportWrapper("emscripten_bind_AStarPath_AStarPath_0");
var _emscripten_bind_AStarPath_search_4 = Module["_emscripten_bind_AStarPath_search_4"] = createExportWrapper("emscripten_bind_AStarPath_search_4");
var _emscripten_bind_AStarPath___destroy___0 = Module["_emscripten_bind_AStarPath___destroy___0"] = createExportWrapper("emscripten_bind_AStarPath___destroy___0");
var _emscripten_bind_ConnEnd_ConnEnd_1 = Module["_emscripten_bind_ConnEnd_ConnEnd_1"] = createExportWrapper("emscripten_bind_ConnEnd_ConnEnd_1");
var _emscripten_bind_ConnEnd_ConnEnd_2 = Module["_emscripten_bind_ConnEnd_ConnEnd_2"] = createExportWrapper("emscripten_bind_ConnEnd_ConnEnd_2");
var _emscripten_bind_ConnEnd_createConnEndFromJunctionRef_1 = Module["_emscripten_bind_ConnEnd_createConnEndFromJunctionRef_1"] = createExportWrapper("emscripten_bind_ConnEnd_createConnEndFromJunctionRef_1");
var _emscripten_bind_ConnEnd___destroy___0 = Module["_emscripten_bind_ConnEnd___destroy___0"] = createExportWrapper("emscripten_bind_ConnEnd___destroy___0");
var _emscripten_bind_ActionInfo_ActionInfo_2 = Module["_emscripten_bind_ActionInfo_ActionInfo_2"] = createExportWrapper("emscripten_bind_ActionInfo_ActionInfo_2");
var _emscripten_bind_ActionInfo_ActionInfo_3 = Module["_emscripten_bind_ActionInfo_ActionInfo_3"] = createExportWrapper("emscripten_bind_ActionInfo_ActionInfo_3");
var _emscripten_bind_ActionInfo_ActionInfo_4 = Module["_emscripten_bind_ActionInfo_ActionInfo_4"] = createExportWrapper("emscripten_bind_ActionInfo_ActionInfo_4");
var _emscripten_bind_ActionInfo_obstacle_0 = Module["_emscripten_bind_ActionInfo_obstacle_0"] = createExportWrapper("emscripten_bind_ActionInfo_obstacle_0");
var _emscripten_bind_ActionInfo_shape_0 = Module["_emscripten_bind_ActionInfo_shape_0"] = createExportWrapper("emscripten_bind_ActionInfo_shape_0");
var _emscripten_bind_ActionInfo_conn_0 = Module["_emscripten_bind_ActionInfo_conn_0"] = createExportWrapper("emscripten_bind_ActionInfo_conn_0");
var _emscripten_bind_ActionInfo_junction_0 = Module["_emscripten_bind_ActionInfo_junction_0"] = createExportWrapper("emscripten_bind_ActionInfo_junction_0");
var _emscripten_bind_ActionInfo_addConnEndUpdate_3 = Module["_emscripten_bind_ActionInfo_addConnEndUpdate_3"] = createExportWrapper("emscripten_bind_ActionInfo_addConnEndUpdate_3");
var _emscripten_bind_ActionInfo_get_type_0 = Module["_emscripten_bind_ActionInfo_get_type_0"] = createExportWrapper("emscripten_bind_ActionInfo_get_type_0");
var _emscripten_bind_ActionInfo_set_type_1 = Module["_emscripten_bind_ActionInfo_set_type_1"] = createExportWrapper("emscripten_bind_ActionInfo_set_type_1");
var _emscripten_bind_ActionInfo_get_objPtr_0 = Module["_emscripten_bind_ActionInfo_get_objPtr_0"] = createExportWrapper("emscripten_bind_ActionInfo_get_objPtr_0");
var _emscripten_bind_ActionInfo_set_objPtr_1 = Module["_emscripten_bind_ActionInfo_set_objPtr_1"] = createExportWrapper("emscripten_bind_ActionInfo_set_objPtr_1");
var _emscripten_bind_ActionInfo_get_newPoly_0 = Module["_emscripten_bind_ActionInfo_get_newPoly_0"] = createExportWrapper("emscripten_bind_ActionInfo_get_newPoly_0");
var _emscripten_bind_ActionInfo_set_newPoly_1 = Module["_emscripten_bind_ActionInfo_set_newPoly_1"] = createExportWrapper("emscripten_bind_ActionInfo_set_newPoly_1");
var _emscripten_bind_ActionInfo_get_newPosition_0 = Module["_emscripten_bind_ActionInfo_get_newPosition_0"] = createExportWrapper("emscripten_bind_ActionInfo_get_newPosition_0");
var _emscripten_bind_ActionInfo_set_newPosition_1 = Module["_emscripten_bind_ActionInfo_set_newPosition_1"] = createExportWrapper("emscripten_bind_ActionInfo_set_newPosition_1");
var _emscripten_bind_ActionInfo_get_firstMove_0 = Module["_emscripten_bind_ActionInfo_get_firstMove_0"] = createExportWrapper("emscripten_bind_ActionInfo_get_firstMove_0");
var _emscripten_bind_ActionInfo_set_firstMove_1 = Module["_emscripten_bind_ActionInfo_set_firstMove_1"] = createExportWrapper("emscripten_bind_ActionInfo_set_firstMove_1");
var _emscripten_bind_ActionInfo___destroy___0 = Module["_emscripten_bind_ActionInfo___destroy___0"] = createExportWrapper("emscripten_bind_ActionInfo___destroy___0");
var _emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_2 = Module["_emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_2"] = createExportWrapper("emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_2");
var _emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_3 = Module["_emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_3"] = createExportWrapper("emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_3");
var _emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_6 = Module["_emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_6"] = createExportWrapper("emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_6");
var _emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_7 = Module["_emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_7"] = createExportWrapper("emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_7");
var _emscripten_bind_ShapeConnectionPin_setConnectionCost_1 = Module["_emscripten_bind_ShapeConnectionPin_setConnectionCost_1"] = createExportWrapper("emscripten_bind_ShapeConnectionPin_setConnectionCost_1");
var _emscripten_bind_ShapeConnectionPin_position_0 = Module["_emscripten_bind_ShapeConnectionPin_position_0"] = createExportWrapper("emscripten_bind_ShapeConnectionPin_position_0");
var _emscripten_bind_ShapeConnectionPin_position_1 = Module["_emscripten_bind_ShapeConnectionPin_position_1"] = createExportWrapper("emscripten_bind_ShapeConnectionPin_position_1");
var _emscripten_bind_ShapeConnectionPin_directions_0 = Module["_emscripten_bind_ShapeConnectionPin_directions_0"] = createExportWrapper("emscripten_bind_ShapeConnectionPin_directions_0");
var _emscripten_bind_ShapeConnectionPin_setExclusive_1 = Module["_emscripten_bind_ShapeConnectionPin_setExclusive_1"] = createExportWrapper("emscripten_bind_ShapeConnectionPin_setExclusive_1");
var _emscripten_bind_ShapeConnectionPin_isExclusive_0 = Module["_emscripten_bind_ShapeConnectionPin_isExclusive_0"] = createExportWrapper("emscripten_bind_ShapeConnectionPin_isExclusive_0");
var _emscripten_bind_ShapeConnectionPin_updatePosition_1 = Module["_emscripten_bind_ShapeConnectionPin_updatePosition_1"] = createExportWrapper("emscripten_bind_ShapeConnectionPin_updatePosition_1");
var _emscripten_bind_ShapeConnectionPin___destroy___0 = Module["_emscripten_bind_ShapeConnectionPin___destroy___0"] = createExportWrapper("emscripten_bind_ShapeConnectionPin___destroy___0");
var _emscripten_bind_Obstacle_id_0 = Module["_emscripten_bind_Obstacle_id_0"] = createExportWrapper("emscripten_bind_Obstacle_id_0");
var _emscripten_bind_Obstacle_polygon_0 = Module["_emscripten_bind_Obstacle_polygon_0"] = createExportWrapper("emscripten_bind_Obstacle_polygon_0");
var _emscripten_bind_Obstacle_router_0 = Module["_emscripten_bind_Obstacle_router_0"] = createExportWrapper("emscripten_bind_Obstacle_router_0");
var _emscripten_bind_Obstacle_position_0 = Module["_emscripten_bind_Obstacle_position_0"] = createExportWrapper("emscripten_bind_Obstacle_position_0");
var _emscripten_bind_Obstacle_setNewPoly_1 = Module["_emscripten_bind_Obstacle_setNewPoly_1"] = createExportWrapper("emscripten_bind_Obstacle_setNewPoly_1");
var _emscripten_bind_Obstacle___destroy___0 = Module["_emscripten_bind_Obstacle___destroy___0"] = createExportWrapper("emscripten_bind_Obstacle___destroy___0");
var _emscripten_bind_JunctionRef_JunctionRef_2 = Module["_emscripten_bind_JunctionRef_JunctionRef_2"] = createExportWrapper("emscripten_bind_JunctionRef_JunctionRef_2");
var _emscripten_bind_JunctionRef_JunctionRef_3 = Module["_emscripten_bind_JunctionRef_JunctionRef_3"] = createExportWrapper("emscripten_bind_JunctionRef_JunctionRef_3");
var _emscripten_bind_JunctionRef_position_0 = Module["_emscripten_bind_JunctionRef_position_0"] = createExportWrapper("emscripten_bind_JunctionRef_position_0");
var _emscripten_bind_JunctionRef_setPositionFixed_1 = Module["_emscripten_bind_JunctionRef_setPositionFixed_1"] = createExportWrapper("emscripten_bind_JunctionRef_setPositionFixed_1");
var _emscripten_bind_JunctionRef_positionFixed_0 = Module["_emscripten_bind_JunctionRef_positionFixed_0"] = createExportWrapper("emscripten_bind_JunctionRef_positionFixed_0");
var _emscripten_bind_JunctionRef_recommendedPosition_0 = Module["_emscripten_bind_JunctionRef_recommendedPosition_0"] = createExportWrapper("emscripten_bind_JunctionRef_recommendedPosition_0");
var _emscripten_bind_JunctionRef___destroy___0 = Module["_emscripten_bind_JunctionRef___destroy___0"] = createExportWrapper("emscripten_bind_JunctionRef___destroy___0");
var _emscripten_bind_ShapeRef_ShapeRef_2 = Module["_emscripten_bind_ShapeRef_ShapeRef_2"] = createExportWrapper("emscripten_bind_ShapeRef_ShapeRef_2");
var _emscripten_bind_ShapeRef_ShapeRef_3 = Module["_emscripten_bind_ShapeRef_ShapeRef_3"] = createExportWrapper("emscripten_bind_ShapeRef_ShapeRef_3");
var _emscripten_bind_ShapeRef_polygon_0 = Module["_emscripten_bind_ShapeRef_polygon_0"] = createExportWrapper("emscripten_bind_ShapeRef_polygon_0");
var _emscripten_bind_ShapeRef_position_0 = Module["_emscripten_bind_ShapeRef_position_0"] = createExportWrapper("emscripten_bind_ShapeRef_position_0");
var _emscripten_bind_ShapeRef_setNewPoly_1 = Module["_emscripten_bind_ShapeRef_setNewPoly_1"] = createExportWrapper("emscripten_bind_ShapeRef_setNewPoly_1");
var _emscripten_bind_ShapeRef___destroy___0 = Module["_emscripten_bind_ShapeRef___destroy___0"] = createExportWrapper("emscripten_bind_ShapeRef___destroy___0");
var _emscripten_bind_HyperedgeNewAndDeletedObjectLists___destroy___0 = Module["_emscripten_bind_HyperedgeNewAndDeletedObjectLists___destroy___0"] = createExportWrapper("emscripten_bind_HyperedgeNewAndDeletedObjectLists___destroy___0");
var _emscripten_bind_HyperedgeRerouter_HyperedgeRerouter_0 = Module["_emscripten_bind_HyperedgeRerouter_HyperedgeRerouter_0"] = createExportWrapper("emscripten_bind_HyperedgeRerouter_HyperedgeRerouter_0");
var _emscripten_bind_HyperedgeRerouter_registerHyperedgeForRerouting_1 = Module["_emscripten_bind_HyperedgeRerouter_registerHyperedgeForRerouting_1"] = createExportWrapper("emscripten_bind_HyperedgeRerouter_registerHyperedgeForRerouting_1");
var _emscripten_bind_HyperedgeRerouter___destroy___0 = Module["_emscripten_bind_HyperedgeRerouter___destroy___0"] = createExportWrapper("emscripten_bind_HyperedgeRerouter___destroy___0");
var _emscripten_bind_VertInf___destroy___0 = Module["_emscripten_bind_VertInf___destroy___0"] = createExportWrapper("emscripten_bind_VertInf___destroy___0");
var _emscripten_bind_VertID_VertID_0 = Module["_emscripten_bind_VertID_VertID_0"] = createExportWrapper("emscripten_bind_VertID_VertID_0");
var _emscripten_bind_VertID_VertID_2 = Module["_emscripten_bind_VertID_VertID_2"] = createExportWrapper("emscripten_bind_VertID_VertID_2");
var _emscripten_bind_VertID_VertID_3 = Module["_emscripten_bind_VertID_VertID_3"] = createExportWrapper("emscripten_bind_VertID_VertID_3");
var _emscripten_bind_VertID_get_objID_0 = Module["_emscripten_bind_VertID_get_objID_0"] = createExportWrapper("emscripten_bind_VertID_get_objID_0");
var _emscripten_bind_VertID_set_objID_1 = Module["_emscripten_bind_VertID_set_objID_1"] = createExportWrapper("emscripten_bind_VertID_set_objID_1");
var _emscripten_bind_VertID_get_vn_0 = Module["_emscripten_bind_VertID_get_vn_0"] = createExportWrapper("emscripten_bind_VertID_get_vn_0");
var _emscripten_bind_VertID_set_vn_1 = Module["_emscripten_bind_VertID_set_vn_1"] = createExportWrapper("emscripten_bind_VertID_set_vn_1");
var _emscripten_bind_VertID_get_props_0 = Module["_emscripten_bind_VertID_get_props_0"] = createExportWrapper("emscripten_bind_VertID_get_props_0");
var _emscripten_bind_VertID_set_props_1 = Module["_emscripten_bind_VertID_set_props_1"] = createExportWrapper("emscripten_bind_VertID_set_props_1");
var _emscripten_bind_VertID_get_src_0 = Module["_emscripten_bind_VertID_get_src_0"] = createExportWrapper("emscripten_bind_VertID_get_src_0");
var _emscripten_bind_VertID_get_tar_0 = Module["_emscripten_bind_VertID_get_tar_0"] = createExportWrapper("emscripten_bind_VertID_get_tar_0");
var _emscripten_bind_VertID_get_PROP_ConnPoint_0 = Module["_emscripten_bind_VertID_get_PROP_ConnPoint_0"] = createExportWrapper("emscripten_bind_VertID_get_PROP_ConnPoint_0");
var _emscripten_bind_VertID_get_PROP_OrthShapeEdge_0 = Module["_emscripten_bind_VertID_get_PROP_OrthShapeEdge_0"] = createExportWrapper("emscripten_bind_VertID_get_PROP_OrthShapeEdge_0");
var _emscripten_bind_VertID_get_PROP_ConnectionPin_0 = Module["_emscripten_bind_VertID_get_PROP_ConnectionPin_0"] = createExportWrapper("emscripten_bind_VertID_get_PROP_ConnectionPin_0");
var _emscripten_bind_VertID_get_PROP_ConnCheckpoint_0 = Module["_emscripten_bind_VertID_get_PROP_ConnCheckpoint_0"] = createExportWrapper("emscripten_bind_VertID_get_PROP_ConnCheckpoint_0");
var _emscripten_bind_VertID_get_PROP_DummyPinHelper_0 = Module["_emscripten_bind_VertID_get_PROP_DummyPinHelper_0"] = createExportWrapper("emscripten_bind_VertID_get_PROP_DummyPinHelper_0");
var _emscripten_bind_VertID___destroy___0 = Module["_emscripten_bind_VertID___destroy___0"] = createExportWrapper("emscripten_bind_VertID___destroy___0");
var _emscripten_bind_MinimumTerminalSpanningTree___destroy___0 = Module["_emscripten_bind_MinimumTerminalSpanningTree___destroy___0"] = createExportWrapper("emscripten_bind_MinimumTerminalSpanningTree___destroy___0");
var _emscripten_bind_Checkpoint_Checkpoint_1 = Module["_emscripten_bind_Checkpoint_Checkpoint_1"] = createExportWrapper("emscripten_bind_Checkpoint_Checkpoint_1");
var _emscripten_bind_Checkpoint___destroy___0 = Module["_emscripten_bind_Checkpoint___destroy___0"] = createExportWrapper("emscripten_bind_Checkpoint___destroy___0");
var _emscripten_bind_ConnRef_ConnRef_3 = Module["_emscripten_bind_ConnRef_ConnRef_3"] = createExportWrapper("emscripten_bind_ConnRef_ConnRef_3");
var _emscripten_bind_ConnRef_ConnRef_4 = Module["_emscripten_bind_ConnRef_ConnRef_4"] = createExportWrapper("emscripten_bind_ConnRef_ConnRef_4");
var _emscripten_bind_ConnRef_id_0 = Module["_emscripten_bind_ConnRef_id_0"] = createExportWrapper("emscripten_bind_ConnRef_id_0");
var _emscripten_bind_ConnRef_setCallback_2 = Module["_emscripten_bind_ConnRef_setCallback_2"] = createExportWrapper("emscripten_bind_ConnRef_setCallback_2");
var _emscripten_bind_ConnRef_setSourceEndpoint_1 = Module["_emscripten_bind_ConnRef_setSourceEndpoint_1"] = createExportWrapper("emscripten_bind_ConnRef_setSourceEndpoint_1");
var _emscripten_bind_ConnRef_setDestEndpoint_1 = Module["_emscripten_bind_ConnRef_setDestEndpoint_1"] = createExportWrapper("emscripten_bind_ConnRef_setDestEndpoint_1");
var _emscripten_bind_ConnRef_routingType_0 = Module["_emscripten_bind_ConnRef_routingType_0"] = createExportWrapper("emscripten_bind_ConnRef_routingType_0");
var _emscripten_bind_ConnRef_setRoutingType_1 = Module["_emscripten_bind_ConnRef_setRoutingType_1"] = createExportWrapper("emscripten_bind_ConnRef_setRoutingType_1");
var _emscripten_bind_ConnRef_displayRoute_0 = Module["_emscripten_bind_ConnRef_displayRoute_0"] = createExportWrapper("emscripten_bind_ConnRef_displayRoute_0");
var _emscripten_bind_ConnRef_setHateCrossings_1 = Module["_emscripten_bind_ConnRef_setHateCrossings_1"] = createExportWrapper("emscripten_bind_ConnRef_setHateCrossings_1");
var _emscripten_bind_ConnRef_doesHateCrossings_0 = Module["_emscripten_bind_ConnRef_doesHateCrossings_0"] = createExportWrapper("emscripten_bind_ConnRef_doesHateCrossings_0");
var _emscripten_bind_ConnRef___destroy___0 = Module["_emscripten_bind_ConnRef___destroy___0"] = createExportWrapper("emscripten_bind_ConnRef___destroy___0");
var _emscripten_bind_EdgeInf_EdgeInf_2 = Module["_emscripten_bind_EdgeInf_EdgeInf_2"] = createExportWrapper("emscripten_bind_EdgeInf_EdgeInf_2");
var _emscripten_bind_EdgeInf_EdgeInf_3 = Module["_emscripten_bind_EdgeInf_EdgeInf_3"] = createExportWrapper("emscripten_bind_EdgeInf_EdgeInf_3");
var _emscripten_bind_EdgeInf___destroy___0 = Module["_emscripten_bind_EdgeInf___destroy___0"] = createExportWrapper("emscripten_bind_EdgeInf___destroy___0");
var _emscripten_bind_LineRep_get_begin_0 = Module["_emscripten_bind_LineRep_get_begin_0"] = createExportWrapper("emscripten_bind_LineRep_get_begin_0");
var _emscripten_bind_LineRep_set_begin_1 = Module["_emscripten_bind_LineRep_set_begin_1"] = createExportWrapper("emscripten_bind_LineRep_set_begin_1");
var _emscripten_bind_LineRep_get_end_0 = Module["_emscripten_bind_LineRep_get_end_0"] = createExportWrapper("emscripten_bind_LineRep_get_end_0");
var _emscripten_bind_LineRep_set_end_1 = Module["_emscripten_bind_LineRep_set_end_1"] = createExportWrapper("emscripten_bind_LineRep_set_end_1");
var _emscripten_bind_LineRep___destroy___0 = Module["_emscripten_bind_LineRep___destroy___0"] = createExportWrapper("emscripten_bind_LineRep___destroy___0");
var _emscripten_bind_Router_Router_1 = Module["_emscripten_bind_Router_Router_1"] = createExportWrapper("emscripten_bind_Router_Router_1");
var _emscripten_bind_Router_processTransaction_0 = Module["_emscripten_bind_Router_processTransaction_0"] = createExportWrapper("emscripten_bind_Router_processTransaction_0");
var _emscripten_bind_Router_printInfo_0 = Module["_emscripten_bind_Router_printInfo_0"] = createExportWrapper("emscripten_bind_Router_printInfo_0");
var _emscripten_bind_Router_deleteConnector_1 = Module["_emscripten_bind_Router_deleteConnector_1"] = createExportWrapper("emscripten_bind_Router_deleteConnector_1");
var _emscripten_bind_Router_moveShape_2 = Module["_emscripten_bind_Router_moveShape_2"] = createExportWrapper("emscripten_bind_Router_moveShape_2");
var _emscripten_bind_Router_moveShape_3 = Module["_emscripten_bind_Router_moveShape_3"] = createExportWrapper("emscripten_bind_Router_moveShape_3");
var _emscripten_bind_Router_deleteShape_1 = Module["_emscripten_bind_Router_deleteShape_1"] = createExportWrapper("emscripten_bind_Router_deleteShape_1");
var _emscripten_bind_Router_moveJunction_2 = Module["_emscripten_bind_Router_moveJunction_2"] = createExportWrapper("emscripten_bind_Router_moveJunction_2");
var _emscripten_bind_Router_moveJunction_3 = Module["_emscripten_bind_Router_moveJunction_3"] = createExportWrapper("emscripten_bind_Router_moveJunction_3");
var _emscripten_bind_Router_setRoutingParameter_2 = Module["_emscripten_bind_Router_setRoutingParameter_2"] = createExportWrapper("emscripten_bind_Router_setRoutingParameter_2");
var _emscripten_bind_Router_setRoutingOption_2 = Module["_emscripten_bind_Router_setRoutingOption_2"] = createExportWrapper("emscripten_bind_Router_setRoutingOption_2");
var _emscripten_bind_Router___destroy___0 = Module["_emscripten_bind_Router___destroy___0"] = createExportWrapper("emscripten_bind_Router___destroy___0");
var _emscripten_enum_Avoid_ConnDirFlag_ConnDirNone = Module["_emscripten_enum_Avoid_ConnDirFlag_ConnDirNone"] = createExportWrapper("emscripten_enum_Avoid_ConnDirFlag_ConnDirNone");
var _emscripten_enum_Avoid_ConnDirFlag_ConnDirUp = Module["_emscripten_enum_Avoid_ConnDirFlag_ConnDirUp"] = createExportWrapper("emscripten_enum_Avoid_ConnDirFlag_ConnDirUp");
var _emscripten_enum_Avoid_ConnDirFlag_ConnDirDown = Module["_emscripten_enum_Avoid_ConnDirFlag_ConnDirDown"] = createExportWrapper("emscripten_enum_Avoid_ConnDirFlag_ConnDirDown");
var _emscripten_enum_Avoid_ConnDirFlag_ConnDirLeft = Module["_emscripten_enum_Avoid_ConnDirFlag_ConnDirLeft"] = createExportWrapper("emscripten_enum_Avoid_ConnDirFlag_ConnDirLeft");
var _emscripten_enum_Avoid_ConnDirFlag_ConnDirRight = Module["_emscripten_enum_Avoid_ConnDirFlag_ConnDirRight"] = createExportWrapper("emscripten_enum_Avoid_ConnDirFlag_ConnDirRight");
var _emscripten_enum_Avoid_ConnDirFlag_ConnDirAll = Module["_emscripten_enum_Avoid_ConnDirFlag_ConnDirAll"] = createExportWrapper("emscripten_enum_Avoid_ConnDirFlag_ConnDirAll");
var _emscripten_enum_Avoid_ConnEndType_ConnEndPoint = Module["_emscripten_enum_Avoid_ConnEndType_ConnEndPoint"] = createExportWrapper("emscripten_enum_Avoid_ConnEndType_ConnEndPoint");
var _emscripten_enum_Avoid_ConnEndType_ConnEndShapePin = Module["_emscripten_enum_Avoid_ConnEndType_ConnEndShapePin"] = createExportWrapper("emscripten_enum_Avoid_ConnEndType_ConnEndShapePin");
var _emscripten_enum_Avoid_ConnEndType_ConnEndJunction = Module["_emscripten_enum_Avoid_ConnEndType_ConnEndJunction"] = createExportWrapper("emscripten_enum_Avoid_ConnEndType_ConnEndJunction");
var _emscripten_enum_Avoid_ConnEndType_ConnEndEmpty = Module["_emscripten_enum_Avoid_ConnEndType_ConnEndEmpty"] = createExportWrapper("emscripten_enum_Avoid_ConnEndType_ConnEndEmpty");
var _emscripten_enum_Avoid_ActionType_ShapeMove = Module["_emscripten_enum_Avoid_ActionType_ShapeMove"] = createExportWrapper("emscripten_enum_Avoid_ActionType_ShapeMove");
var _emscripten_enum_Avoid_ActionType_ShapeAdd = Module["_emscripten_enum_Avoid_ActionType_ShapeAdd"] = createExportWrapper("emscripten_enum_Avoid_ActionType_ShapeAdd");
var _emscripten_enum_Avoid_ActionType_ShapeRemove = Module["_emscripten_enum_Avoid_ActionType_ShapeRemove"] = createExportWrapper("emscripten_enum_Avoid_ActionType_ShapeRemove");
var _emscripten_enum_Avoid_ActionType_JunctionMove = Module["_emscripten_enum_Avoid_ActionType_JunctionMove"] = createExportWrapper("emscripten_enum_Avoid_ActionType_JunctionMove");
var _emscripten_enum_Avoid_ActionType_JunctionAdd = Module["_emscripten_enum_Avoid_ActionType_JunctionAdd"] = createExportWrapper("emscripten_enum_Avoid_ActionType_JunctionAdd");
var _emscripten_enum_Avoid_ActionType_JunctionRemove = Module["_emscripten_enum_Avoid_ActionType_JunctionRemove"] = createExportWrapper("emscripten_enum_Avoid_ActionType_JunctionRemove");
var _emscripten_enum_Avoid_ActionType_ConnChange = Module["_emscripten_enum_Avoid_ActionType_ConnChange"] = createExportWrapper("emscripten_enum_Avoid_ActionType_ConnChange");
var _emscripten_enum_Avoid_ActionType_ConnectionPinChange = Module["_emscripten_enum_Avoid_ActionType_ConnectionPinChange"] = createExportWrapper("emscripten_enum_Avoid_ActionType_ConnectionPinChange");
var _emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW90 = Module["_emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW90"] = createExportWrapper("emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW90");
var _emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW180 = Module["_emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW180"] = createExportWrapper("emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW180");
var _emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW270 = Module["_emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW270"] = createExportWrapper("emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW270");
var _emscripten_enum_Avoid_ShapeTransformationType_TransformationType_FlipX = Module["_emscripten_enum_Avoid_ShapeTransformationType_TransformationType_FlipX"] = createExportWrapper("emscripten_enum_Avoid_ShapeTransformationType_TransformationType_FlipX");
var _emscripten_enum_Avoid_ShapeTransformationType_TransformationType_FlipY = Module["_emscripten_enum_Avoid_ShapeTransformationType_TransformationType_FlipY"] = createExportWrapper("emscripten_enum_Avoid_ShapeTransformationType_TransformationType_FlipY");
var _emscripten_enum_Avoid_ConnType_ConnType_None = Module["_emscripten_enum_Avoid_ConnType_ConnType_None"] = createExportWrapper("emscripten_enum_Avoid_ConnType_ConnType_None");
var _emscripten_enum_Avoid_ConnType_ConnType_PolyLine = Module["_emscripten_enum_Avoid_ConnType_ConnType_PolyLine"] = createExportWrapper("emscripten_enum_Avoid_ConnType_ConnType_PolyLine");
var _emscripten_enum_Avoid_ConnType_ConnType_Orthogonal = Module["_emscripten_enum_Avoid_ConnType_ConnType_Orthogonal"] = createExportWrapper("emscripten_enum_Avoid_ConnType_ConnType_Orthogonal");
var _emscripten_enum_Avoid_RouterFlag_PolyLineRouting = Module["_emscripten_enum_Avoid_RouterFlag_PolyLineRouting"] = createExportWrapper("emscripten_enum_Avoid_RouterFlag_PolyLineRouting");
var _emscripten_enum_Avoid_RouterFlag_OrthogonalRouting = Module["_emscripten_enum_Avoid_RouterFlag_OrthogonalRouting"] = createExportWrapper("emscripten_enum_Avoid_RouterFlag_OrthogonalRouting");
var _emscripten_enum_Avoid_RoutingParameter_segmentPenalty = Module["_emscripten_enum_Avoid_RoutingParameter_segmentPenalty"] = createExportWrapper("emscripten_enum_Avoid_RoutingParameter_segmentPenalty");
var _emscripten_enum_Avoid_RoutingParameter_anglePenalty = Module["_emscripten_enum_Avoid_RoutingParameter_anglePenalty"] = createExportWrapper("emscripten_enum_Avoid_RoutingParameter_anglePenalty");
var _emscripten_enum_Avoid_RoutingParameter_crossingPenalty = Module["_emscripten_enum_Avoid_RoutingParameter_crossingPenalty"] = createExportWrapper("emscripten_enum_Avoid_RoutingParameter_crossingPenalty");
var _emscripten_enum_Avoid_RoutingParameter_clusterCrossingPenalty = Module["_emscripten_enum_Avoid_RoutingParameter_clusterCrossingPenalty"] = createExportWrapper("emscripten_enum_Avoid_RoutingParameter_clusterCrossingPenalty");
var _emscripten_enum_Avoid_RoutingParameter_fixedSharedPathPenalty = Module["_emscripten_enum_Avoid_RoutingParameter_fixedSharedPathPenalty"] = createExportWrapper("emscripten_enum_Avoid_RoutingParameter_fixedSharedPathPenalty");
var _emscripten_enum_Avoid_RoutingParameter_portDirectionPenalty = Module["_emscripten_enum_Avoid_RoutingParameter_portDirectionPenalty"] = createExportWrapper("emscripten_enum_Avoid_RoutingParameter_portDirectionPenalty");
var _emscripten_enum_Avoid_RoutingParameter_shapeBufferDistance = Module["_emscripten_enum_Avoid_RoutingParameter_shapeBufferDistance"] = createExportWrapper("emscripten_enum_Avoid_RoutingParameter_shapeBufferDistance");
var _emscripten_enum_Avoid_RoutingParameter_idealNudgingDistance = Module["_emscripten_enum_Avoid_RoutingParameter_idealNudgingDistance"] = createExportWrapper("emscripten_enum_Avoid_RoutingParameter_idealNudgingDistance");
var _emscripten_enum_Avoid_RoutingParameter_reverseDirectionPenalty = Module["_emscripten_enum_Avoid_RoutingParameter_reverseDirectionPenalty"] = createExportWrapper("emscripten_enum_Avoid_RoutingParameter_reverseDirectionPenalty");
var _emscripten_enum_Avoid_RoutingOption_nudgeOrthogonalSegmentsConnectedToShapes = Module["_emscripten_enum_Avoid_RoutingOption_nudgeOrthogonalSegmentsConnectedToShapes"] = createExportWrapper("emscripten_enum_Avoid_RoutingOption_nudgeOrthogonalSegmentsConnectedToShapes");
var _emscripten_enum_Avoid_RoutingOption_improveHyperedgeRoutesMovingJunctions = Module["_emscripten_enum_Avoid_RoutingOption_improveHyperedgeRoutesMovingJunctions"] = createExportWrapper("emscripten_enum_Avoid_RoutingOption_improveHyperedgeRoutesMovingJunctions");
var _emscripten_enum_Avoid_RoutingOption_penaliseOrthogonalSharedPathsAtConnEnds = Module["_emscripten_enum_Avoid_RoutingOption_penaliseOrthogonalSharedPathsAtConnEnds"] = createExportWrapper("emscripten_enum_Avoid_RoutingOption_penaliseOrthogonalSharedPathsAtConnEnds");
var _emscripten_enum_Avoid_RoutingOption_nudgeOrthogonalTouchingColinearSegments = Module["_emscripten_enum_Avoid_RoutingOption_nudgeOrthogonalTouchingColinearSegments"] = createExportWrapper("emscripten_enum_Avoid_RoutingOption_nudgeOrthogonalTouchingColinearSegments");
var _emscripten_enum_Avoid_RoutingOption_performUnifyingNudgingPreprocessingStep = Module["_emscripten_enum_Avoid_RoutingOption_performUnifyingNudgingPreprocessingStep"] = createExportWrapper("emscripten_enum_Avoid_RoutingOption_performUnifyingNudgingPreprocessingStep");
var _emscripten_enum_Avoid_RoutingOption_improveHyperedgeRoutesMovingAddingAndDeletingJunctions = Module["_emscripten_enum_Avoid_RoutingOption_improveHyperedgeRoutesMovingAddingAndDeletingJunctions"] = createExportWrapper("emscripten_enum_Avoid_RoutingOption_improveHyperedgeRoutesMovingAddingAndDeletingJunctions");
var _emscripten_enum_Avoid_RoutingOption_nudgeSharedPathsWithCommonEndPoint = Module["_emscripten_enum_Avoid_RoutingOption_nudgeSharedPathsWithCommonEndPoint"] = createExportWrapper("emscripten_enum_Avoid_RoutingOption_nudgeSharedPathsWithCommonEndPoint");
var ___errno_location = createExportWrapper("__errno_location");
var ___trap = function () {
return (___trap = Module["asm"]["__trap"]).apply(null, arguments);
};
var _emscripten_stack_init = function () {
return (_emscripten_stack_init = Module["asm"]["emscripten_stack_init"]).apply(null, arguments);
};
var _emscripten_stack_get_free = function () {
return (_emscripten_stack_get_free = Module["asm"]["emscripten_stack_get_free"]).apply(null, arguments);
};
var _emscripten_stack_get_base = function () {
return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments);
};
var _emscripten_stack_get_end = function () {
return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments);
};
var stackSave = createExportWrapper("stackSave");
var stackRestore = createExportWrapper("stackRestore");
var stackAlloc = createExportWrapper("stackAlloc");
var _emscripten_stack_get_current = function () {
return (_emscripten_stack_get_current = Module["asm"]["emscripten_stack_get_current"]).apply(null, arguments);
};
var ___cxa_decrement_exception_refcount = Module["___cxa_decrement_exception_refcount"] = createExportWrapper("__cxa_decrement_exception_refcount");
var ___cxa_increment_exception_refcount = Module["___cxa_increment_exception_refcount"] = createExportWrapper("__cxa_increment_exception_refcount");
var ___thrown_object_from_unwind_exception = Module["___thrown_object_from_unwind_exception"] = createExportWrapper("__thrown_object_from_unwind_exception");
var ___get_exception_message = Module["___get_exception_message"] = createExportWrapper("__get_exception_message");
var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji");
var dynCall_viijii = Module["dynCall_viijii"] = createExportWrapper("dynCall_viijii");
var dynCall_iiiiij = Module["dynCall_iiiiij"] = createExportWrapper("dynCall_iiiiij");
var dynCall_iiiiijj = Module["dynCall_iiiiijj"] = createExportWrapper("dynCall_iiiiijj");
var dynCall_iiiiiijj = Module["dynCall_iiiiiijj"] = createExportWrapper("dynCall_iiiiiijj");
var ___start_em_js = Module["___start_em_js"] = 110416;
var ___stop_em_js = Module["___stop_em_js"] = 110514;
var missingLibrarySymbols = [
"zeroMemory",
"exitJS",
"ydayFromDate",
"setErrNo",
"inetPton4",
"inetNtop4",
"inetPton6",
"inetNtop6",
"readSockaddr",
"writeSockaddr",
"getHostByName",
"initRandomFill",
"randomFill",
"traverseStack",
"getCallstack",
"emscriptenLog",
"convertPCtoSourceLocation",
"readEmAsmArgs",
"jstoi_q",
"jstoi_s",
"listenOnce",
"autoResumeAudioContext",
"dynCallLegacy",
"getDynCaller",
"dynCall",
"handleException",
"runtimeKeepalivePush",
"runtimeKeepalivePop",
"callUserCallback",
"maybeExit",
"safeSetTimeout",
"asmjsMangle",
"asyncLoad",
"alignMemory",
"mmapAlloc",
"HandleAllocator",
"getNativeTypeSize",
"STACK_SIZE",
"STACK_ALIGN",
"POINTER_SIZE",
"ASSERTIONS",
"writeI53ToI64",
"writeI53ToI64Clamped",
"writeI53ToI64Signaling",
"writeI53ToU64Clamped",
"writeI53ToU64Signaling",
"readI53FromI64",
"readI53FromU64",
"convertI32PairToI53",
"convertU32PairToI53",
"getCFunc",
"ccall",
"cwrap",
"removeFunction",
"reallyNegative",
"unSign",
"strLen",
"reSign",
"formatString",
"stringToUTF8",
"intArrayToString",
"AsciiToString",
"UTF16ToString",
"stringToUTF16",
"lengthBytesUTF16",
"UTF32ToString",
"stringToUTF32",
"lengthBytesUTF32",
"stringToNewUTF8",
"stringToUTF8OnStack",
"getSocketFromFD",
"getSocketAddress",
"registerKeyEventCallback",
"maybeCStringToJsString",
"findEventTarget",
"findCanvasEventTarget",
"getBoundingClientRect",
"fillMouseEventData",
"registerMouseEventCallback",
"registerWheelEventCallback",
"registerUiEventCallback",
"registerFocusEventCallback",
"fillDeviceOrientationEventData",
"registerDeviceOrientationEventCallback",
"fillDeviceMotionEventData",
"registerDeviceMotionEventCallback",
"screenOrientation",
"fillOrientationChangeEventData",
"registerOrientationChangeEventCallback",
"fillFullscreenChangeEventData",
"registerFullscreenChangeEventCallback",
"JSEvents_requestFullscreen",
"JSEvents_resizeCanvasForFullscreen",
"registerRestoreOldStyle",
"hideEverythingExceptGivenElement",
"restoreHiddenElements",
"setLetterbox",
"softFullscreenResizeWebGLRenderTarget",
"doRequestFullscreen",
"fillPointerlockChangeEventData",
"registerPointerlockChangeEventCallback",
"registerPointerlockErrorEventCallback",
"requestPointerLock",
"fillVisibilityChangeEventData",
"registerVisibilityChangeEventCallback",
"registerTouchEventCallback",
"fillGamepadEventData",
"registerGamepadEventCallback",
"registerBeforeUnloadEventCallback",
"fillBatteryEventData",
"battery",
"registerBatteryEventCallback",
"setCanvasElementSize",
"getCanvasElementSize",
"demangle",
"demangleAll",
"jsStackTrace",
"stackTrace",
"checkWasiClock",
"wasiRightsToMuslOFlags",
"wasiOFlagsToMuslOFlags",
"createDyncallWrapper",
"setImmediateWrapped",
"clearImmediateWrapped",
"polyfillSetImmediate",
"getPromise",
"makePromise",
"idsToPromises",
"makePromiseCallback",
"setMainLoop",
"heapObjectForWebGLType",
"heapAccessShiftForWebGLHeap",
"webgl_enable_ANGLE_instanced_arrays",
"webgl_enable_OES_vertex_array_object",
"webgl_enable_WEBGL_draw_buffers",
"webgl_enable_WEBGL_multi_draw",
"emscriptenWebGLGet",
"computeUnpackAlignedImageSize",
"colorChannelsInGlTextureFormat",
"emscriptenWebGLGetTexPixelData",
"__glGenObject",
"emscriptenWebGLGetUniform",
"webglGetUniformLocation",
"webglPrepareUniformLocationsBeforeFirstUse",
"webglGetLeftBracePos",
"emscriptenWebGLGetVertexAttrib",
"__glGetActiveAttribOrUniform",
"writeGLArray",
"registerWebGlEventCallback",
"runAndAbortIfError",
"SDL_unicode",
"SDL_ttfContext",
"SDL_audio",
"GLFW_Window",
"ALLOC_NORMAL",
"ALLOC_STACK",
"allocate",
"writeStringToMemory",
"writeAsciiToMemory"
];
missingLibrarySymbols.forEach(missingLibrarySymbol);
var unexportedSymbols = [
"run",
"addOnPreRun",
"addOnInit",
"addOnPreMain",
"addOnExit",
"addOnPostRun",
"addRunDependency",
"removeRunDependency",
"FS_createFolder",
"FS_createPath",
"FS_createDataFile",
"FS_createPreloadedFile",
"FS_createLazyFile",
"FS_createLink",
"FS_createDevice",
"FS_unlink",
"out",
"err",
"callMain",
"abort",
"keepRuntimeAlive",
"wasmMemory",
"stackAlloc",
"stackSave",
"stackRestore",
"getTempRet0",
"setTempRet0",
"writeStackCookie",
"checkStackCookie",
"ptrToString",
"getHeapMax",
"emscripten_realloc_buffer",
"ENV",
"MONTH_DAYS_REGULAR",
"MONTH_DAYS_LEAP",
"MONTH_DAYS_REGULAR_CUMULATIVE",
"MONTH_DAYS_LEAP_CUMULATIVE",
"isLeapYear",
"arraySum",
"addDays",
"ERRNO_CODES",
"ERRNO_MESSAGES",
"DNS",
"Protocols",
"Sockets",
"timers",
"warnOnce",
"UNWIND_CACHE",
"readEmAsmArgsArray",
"getExecutableName",
"convertI32PairToI53Checked",
"uleb128Encode",
"sigToWasmTypes",
"generateFuncType",
"convertJsFunctionToWasm",
"freeTableIndexes",
"functionsInTableMap",
"getEmptyTableSlot",
"updateTableMap",
"getFunctionAddress",
"addFunction",
"setValue",
"getValue",
"PATH",
"PATH_FS",
"UTF8Decoder",
"UTF8ArrayToString",
"UTF8ToString",
"stringToUTF8Array",
"lengthBytesUTF8",
"intArrayFromString",
"stringToAscii",
"UTF16Decoder",
"writeArrayToMemory",
"SYSCALLS",
"JSEvents",
"specialHTMLTargets",
"currentFullscreenStrategy",
"restoreOldWindowedStyle",
"ExitStatus",
"getEnvStrings",
"flush_NO_FILESYSTEM",
"dlopenMissingError",
"promiseMap",
"getExceptionMessageCommon",
"getCppExceptionTag",
"getCppExceptionThrownObjectFromWebAssemblyException",
"incrementExceptionRefcount",
"decrementExceptionRefcount",
"getExceptionMessage",
"Browser",
"wget",
"tempFixedLengthArray",
"miniTempWebGLFloatBuffers",
"miniTempWebGLIntBuffers",
"GL",
"emscripten_webgl_power_preferences",
"AL",
"GLUT",
"EGL",
"GLEW",
"IDBStore",
"SDL",
"SDL_gfx",
"GLFW",
"allocateUTF8",
"allocateUTF8OnStack"
];
unexportedSymbols.forEach(unexportedRuntimeSymbol);
var calledRun;
dependenciesFulfilled = function runCaller() {
if (!calledRun)
run();
if (!calledRun)
dependenciesFulfilled = runCaller;
};
function stackCheckInit() {
_emscripten_stack_init();
writeStackCookie();
}
function run() {
if (runDependencies > 0) {
err("run() called, but dependencies remain, so not running");
return;
}
stackCheckInit();
preRun();
if (runDependencies > 0) {
err("run() called, but dependencies remain, so not running");
return;
}
function doRun() {
if (calledRun)
return;
calledRun = true;
Module["calledRun"] = true;
if (ABORT)
return;
initRuntime();
readyPromiseResolve(Module);
if (Module["onRuntimeInitialized"])
Module["onRuntimeInitialized"]();
assert(!Module["_main"], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');
postRun();
}
if (Module["setStatus"]) {
Module["setStatus"]("Running...");
setTimeout(function () {
setTimeout(function () {
Module["setStatus"]("");
}, 1);
doRun();
}, 1);
} else {
doRun();
}
checkStackCookie();
}
function checkUnflushedContent() {
var oldOut = out;
var oldErr = err;
var has = false;
out = err = (x) => {
has = true;
};
try {
flush_NO_FILESYSTEM();
} catch (e) {
}
out = oldOut;
err = oldErr;
if (has) {
warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.");
warnOnce("(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)");
}
}
if (Module["preInit"]) {
if (typeof Module["preInit"] == "function")
Module["preInit"] = [Module["preInit"]];
while (Module["preInit"].length > 0) {
Module["preInit"].pop()();
}
}
run();
function WrapperObject() {
}
WrapperObject.prototype = Object.create(WrapperObject.prototype);
WrapperObject.prototype.constructor = WrapperObject;
WrapperObject.prototype.__class__ = WrapperObject;
WrapperObject.__cache__ = {};
Module["WrapperObject"] = WrapperObject;
function getCache(__class__) {
return (__class__ || WrapperObject).__cache__;
}
Module["getCache"] = getCache;
function wrapPointer(ptr, __class__) {
var cache = getCache(__class__);
var ret = cache[ptr];
if (ret)
return ret;
ret = Object.create((__class__ || WrapperObject).prototype);
ret.ptr = ptr;
return cache[ptr] = ret;
}
Module["wrapPointer"] = wrapPointer;
function castObject(obj, __class__) {
return wrapPointer(obj.ptr, __class__);
}
Module["castObject"] = castObject;
Module["NULL"] = wrapPointer(0);
function destroy(obj) {
if (!obj["__destroy__"])
throw "Error: Cannot destroy object. (Did you create it yourself?)";
obj["__destroy__"]();
delete getCache(obj.__class__)[obj.ptr];
}
Module["destroy"] = destroy;
function compare(obj1, obj2) {
return obj1.ptr === obj2.ptr;
}
Module["compare"] = compare;
function getPointer(obj) {
return obj.ptr;
}
Module["getPointer"] = getPointer;
function getClass(obj) {
return obj.__class__;
}
Module["getClass"] = getClass;
var ensureCache = {
buffer: 0,
// the main buffer of temporary storage
size: 0,
// the size of buffer
pos: 0,
// the next free offset in buffer
temps: [],
// extra allocations
needed: 0,
// the total size we need next time
prepare: function () {
if (ensureCache.needed) {
for (var i = 0; i < ensureCache.temps.length; i++) {
Module["_free"](ensureCache.temps[i]);
}
ensureCache.temps.length = 0;
Module["_free"](ensureCache.buffer);
ensureCache.buffer = 0;
ensureCache.size += ensureCache.needed;
ensureCache.needed = 0;
}
if (!ensureCache.buffer) {
ensureCache.size += 128;
ensureCache.buffer = Module["_malloc"](ensureCache.size);
assert(ensureCache.buffer);
}
ensureCache.pos = 0;
},
alloc: function (array, view) {
assert(ensureCache.buffer);
var bytes = view.BYTES_PER_ELEMENT;
var len = array.length * bytes;
len = len + 7 & -8;
var ret;
if (ensureCache.pos + len >= ensureCache.size) {
assert(len > 0);
ensureCache.needed += len;
ret = Module["_malloc"](len);
ensureCache.temps.push(ret);
} else {
ret = ensureCache.buffer + ensureCache.pos;
ensureCache.pos += len;
}
return ret;
},
copy: function (array, view, offset) {
offset >>>= 0;
var bytes = view.BYTES_PER_ELEMENT;
switch (bytes) {
case 2:
offset >>>= 1;
break;
case 4:
offset >>>= 2;
break;
case 8:
offset >>>= 3;
break;
}
for (var i = 0; i < array.length; i++) {
view[offset + i] = array[i];
}
}
};
function ensureString(value) {
if (typeof value === "string") {
var intArray = intArrayFromString(value);
var offset = ensureCache.alloc(intArray, HEAP8);
ensureCache.copy(intArray, HEAP8, offset);
return offset;
}
return value;
}
function ensureInt8(value) {
if (typeof value === "object") {
var offset = ensureCache.alloc(value, HEAP8);
ensureCache.copy(value, HEAP8, offset);
return offset;
}
return value;
}
function ensureInt16(value) {
if (typeof value === "object") {
var offset = ensureCache.alloc(value, HEAP16);
ensureCache.copy(value, HEAP16, offset);
return offset;
}
return value;
}
function ensureInt32(value) {
if (typeof value === "object") {
var offset = ensureCache.alloc(value, HEAP32);
ensureCache.copy(value, HEAP32, offset);
return offset;
}
return value;
}
function ensureFloat32(value) {
if (typeof value === "object") {
var offset = ensureCache.alloc(value, HEAPF32);
ensureCache.copy(value, HEAPF32, offset);
return offset;
}
return value;
}
function ensureFloat64(value) {
if (typeof value === "object") {
var offset = ensureCache.alloc(value, HEAPF64);
ensureCache.copy(value, HEAPF64, offset);
return offset;
}
return value;
}
function VoidPtr() {
throw "cannot construct a VoidPtr, no constructor in IDL";
}
VoidPtr.prototype = Object.create(WrapperObject.prototype);
VoidPtr.prototype.constructor = VoidPtr;
VoidPtr.prototype.__class__ = VoidPtr;
VoidPtr.__cache__ = {};
Module["VoidPtr"] = VoidPtr;
VoidPtr.prototype["__destroy__"] = VoidPtr.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_VoidPtr___destroy___0(self2);
};
function HyperedgeImprover() {
this.ptr = _emscripten_bind_HyperedgeImprover_HyperedgeImprover_0();
getCache(HyperedgeImprover)[this.ptr] = this;
}
;
;
HyperedgeImprover.prototype = Object.create(WrapperObject.prototype);
HyperedgeImprover.prototype.constructor = HyperedgeImprover;
HyperedgeImprover.prototype.__class__ = HyperedgeImprover;
HyperedgeImprover.__cache__ = {};
Module["HyperedgeImprover"] = HyperedgeImprover;
HyperedgeImprover.prototype["clear"] = HyperedgeImprover.prototype.clear = function () {
var self2 = this.ptr;
_emscripten_bind_HyperedgeImprover_clear_0(self2);
};
;
HyperedgeImprover.prototype["setRouter"] = HyperedgeImprover.prototype.setRouter = function (router) {
var self2 = this.ptr;
if (router && typeof router === "object")
router = router.ptr;
_emscripten_bind_HyperedgeImprover_setRouter_1(self2, router);
};
;
HyperedgeImprover.prototype["__destroy__"] = HyperedgeImprover.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_HyperedgeImprover___destroy___0(self2);
};
function Box() {
this.ptr = _emscripten_bind_Box_Box_0();
getCache(Box)[this.ptr] = this;
}
;
;
Box.prototype = Object.create(WrapperObject.prototype);
Box.prototype.constructor = Box;
Box.prototype.__class__ = Box;
Box.__cache__ = {};
Module["Box"] = Box;
Box.prototype["length"] = Box.prototype.length = function (dimension) {
var self2 = this.ptr;
if (dimension && typeof dimension === "object")
dimension = dimension.ptr;
return _emscripten_bind_Box_length_1(self2, dimension);
};
;
Box.prototype["width"] = Box.prototype.width = function () {
var self2 = this.ptr;
return _emscripten_bind_Box_width_0(self2);
};
;
Box.prototype["height"] = Box.prototype.height = function () {
var self2 = this.ptr;
return _emscripten_bind_Box_height_0(self2);
};
;
Box.prototype["get_min"] = Box.prototype.get_min = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_Box_get_min_0(self2), Point);
};
Box.prototype["set_min"] = Box.prototype.set_min = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_Box_set_min_1(self2, arg0);
};
Object.defineProperty(Box.prototype, "min", { get: Box.prototype.get_min, set: Box.prototype.set_min });
Box.prototype["get_max"] = Box.prototype.get_max = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_Box_get_max_0(self2), Point);
};
Box.prototype["set_max"] = Box.prototype.set_max = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_Box_set_max_1(self2, arg0);
};
Object.defineProperty(Box.prototype, "max", { get: Box.prototype.get_max, set: Box.prototype.set_max });
Box.prototype["__destroy__"] = Box.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_Box___destroy___0(self2);
};
function PolygonInterface() {
throw "cannot construct a PolygonInterface, no constructor in IDL";
}
PolygonInterface.prototype = Object.create(WrapperObject.prototype);
PolygonInterface.prototype.constructor = PolygonInterface;
PolygonInterface.prototype.__class__ = PolygonInterface;
PolygonInterface.__cache__ = {};
Module["PolygonInterface"] = PolygonInterface;
PolygonInterface.prototype["clear"] = PolygonInterface.prototype.clear = function () {
var self2 = this.ptr;
_emscripten_bind_PolygonInterface_clear_0(self2);
};
;
PolygonInterface.prototype["empty"] = PolygonInterface.prototype.empty = function () {
var self2 = this.ptr;
return !!_emscripten_bind_PolygonInterface_empty_0(self2);
};
;
PolygonInterface.prototype["size"] = PolygonInterface.prototype.size = function () {
var self2 = this.ptr;
return _emscripten_bind_PolygonInterface_size_0(self2);
};
;
PolygonInterface.prototype["id"] = PolygonInterface.prototype.id = function () {
var self2 = this.ptr;
return _emscripten_bind_PolygonInterface_id_0(self2);
};
;
PolygonInterface.prototype["at"] = PolygonInterface.prototype.at = function (index) {
var self2 = this.ptr;
if (index && typeof index === "object")
index = index.ptr;
return wrapPointer(_emscripten_bind_PolygonInterface_at_1(self2, index), Point);
};
;
PolygonInterface.prototype["boundingRectPolygon"] = PolygonInterface.prototype.boundingRectPolygon = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_PolygonInterface_boundingRectPolygon_0(self2), Polygon);
};
;
PolygonInterface.prototype["offsetBoundingBox"] = PolygonInterface.prototype.offsetBoundingBox = function (offset) {
var self2 = this.ptr;
if (offset && typeof offset === "object")
offset = offset.ptr;
return wrapPointer(_emscripten_bind_PolygonInterface_offsetBoundingBox_1(self2, offset), Box);
};
;
PolygonInterface.prototype["offsetPolygon"] = PolygonInterface.prototype.offsetPolygon = function (offset) {
var self2 = this.ptr;
if (offset && typeof offset === "object")
offset = offset.ptr;
return wrapPointer(_emscripten_bind_PolygonInterface_offsetPolygon_1(self2, offset), Polygon);
};
;
PolygonInterface.prototype["__destroy__"] = PolygonInterface.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_PolygonInterface___destroy___0(self2);
};
function Polygon(n) {
if (n && typeof n === "object")
n = n.ptr;
if (n === void 0) {
this.ptr = _emscripten_bind_Polygon_Polygon_0();
getCache(Polygon)[this.ptr] = this;
return;
}
this.ptr = _emscripten_bind_Polygon_Polygon_1(n);
getCache(Polygon)[this.ptr] = this;
}
;
;
Polygon.prototype = Object.create(WrapperObject.prototype);
Polygon.prototype.constructor = Polygon;
Polygon.prototype.__class__ = Polygon;
Polygon.__cache__ = {};
Module["Polygon"] = Polygon;
Polygon.prototype["setPoint"] = Polygon.prototype.setPoint = function (index, point) {
var self2 = this.ptr;
if (index && typeof index === "object")
index = index.ptr;
if (point && typeof point === "object")
point = point.ptr;
_emscripten_bind_Polygon_setPoint_2(self2, index, point);
};
;
Polygon.prototype["size"] = Polygon.prototype.size = function () {
var self2 = this.ptr;
return _emscripten_bind_Polygon_size_0(self2);
};
;
Polygon.prototype["get_ps"] = Polygon.prototype.get_ps = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
return wrapPointer(_emscripten_bind_Polygon_get_ps_1(self2, arg0), Point);
};
Polygon.prototype["set_ps"] = Polygon.prototype.set_ps = function (arg0, arg1) {
var self2 = this.ptr;
ensureCache.prepare();
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
if (arg1 && typeof arg1 === "object")
arg1 = arg1.ptr;
_emscripten_bind_Polygon_set_ps_2(self2, arg0, arg1);
};
Object.defineProperty(Polygon.prototype, "ps", { get: Polygon.prototype.get_ps, set: Polygon.prototype.set_ps });
Polygon.prototype["__destroy__"] = Polygon.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_Polygon___destroy___0(self2);
};
function Point(xv, yv) {
if (xv && typeof xv === "object")
xv = xv.ptr;
if (yv && typeof yv === "object")
yv = yv.ptr;
if (xv === void 0) {
this.ptr = _emscripten_bind_Point_Point_0();
getCache(Point)[this.ptr] = this;
return;
}
if (yv === void 0) {
this.ptr = _emscripten_bind_Point_Point_1(xv);
getCache(Point)[this.ptr] = this;
return;
}
this.ptr = _emscripten_bind_Point_Point_2(xv, yv);
getCache(Point)[this.ptr] = this;
}
;
;
Point.prototype = Object.create(WrapperObject.prototype);
Point.prototype.constructor = Point;
Point.prototype.__class__ = Point;
Point.__cache__ = {};
Module["Point"] = Point;
Point.prototype["equal"] = Point.prototype.equal = function (rhs) {
var self2 = this.ptr;
if (rhs && typeof rhs === "object")
rhs = rhs.ptr;
return !!_emscripten_bind_Point_equal_1(self2, rhs);
};
;
Point.prototype["get_x"] = Point.prototype.get_x = function () {
var self2 = this.ptr;
return _emscripten_bind_Point_get_x_0(self2);
};
Point.prototype["set_x"] = Point.prototype.set_x = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_Point_set_x_1(self2, arg0);
};
Object.defineProperty(Point.prototype, "x", { get: Point.prototype.get_x, set: Point.prototype.set_x });
Point.prototype["get_y"] = Point.prototype.get_y = function () {
var self2 = this.ptr;
return _emscripten_bind_Point_get_y_0(self2);
};
Point.prototype["set_y"] = Point.prototype.set_y = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_Point_set_y_1(self2, arg0);
};
Object.defineProperty(Point.prototype, "y", { get: Point.prototype.get_y, set: Point.prototype.set_y });
Point.prototype["get_id"] = Point.prototype.get_id = function () {
var self2 = this.ptr;
return _emscripten_bind_Point_get_id_0(self2);
};
Point.prototype["set_id"] = Point.prototype.set_id = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_Point_set_id_1(self2, arg0);
};
Object.defineProperty(Point.prototype, "id", { get: Point.prototype.get_id, set: Point.prototype.set_id });
Point.prototype["get_vn"] = Point.prototype.get_vn = function () {
var self2 = this.ptr;
return _emscripten_bind_Point_get_vn_0(self2);
};
Point.prototype["set_vn"] = Point.prototype.set_vn = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_Point_set_vn_1(self2, arg0);
};
Object.defineProperty(Point.prototype, "vn", { get: Point.prototype.get_vn, set: Point.prototype.set_vn });
Point.prototype["__destroy__"] = Point.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_Point___destroy___0(self2);
};
function Rectangle(centre, width, height) {
if (centre && typeof centre === "object")
centre = centre.ptr;
if (width && typeof width === "object")
width = width.ptr;
if (height && typeof height === "object")
height = height.ptr;
if (height === void 0) {
this.ptr = _emscripten_bind_Rectangle_Rectangle_2(centre, width);
getCache(Rectangle)[this.ptr] = this;
return;
}
this.ptr = _emscripten_bind_Rectangle_Rectangle_3(centre, width, height);
getCache(Rectangle)[this.ptr] = this;
}
;
;
Rectangle.prototype = Object.create(WrapperObject.prototype);
Rectangle.prototype.constructor = Rectangle;
Rectangle.prototype.__class__ = Rectangle;
Rectangle.__cache__ = {};
Module["Rectangle"] = Rectangle;
Rectangle.prototype["__destroy__"] = Rectangle.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_Rectangle___destroy___0(self2);
};
function HyperedgeTreeNode() {
this.ptr = _emscripten_bind_HyperedgeTreeNode_HyperedgeTreeNode_0();
getCache(HyperedgeTreeNode)[this.ptr] = this;
}
;
;
HyperedgeTreeNode.prototype = Object.create(WrapperObject.prototype);
HyperedgeTreeNode.prototype.constructor = HyperedgeTreeNode;
HyperedgeTreeNode.prototype.__class__ = HyperedgeTreeNode;
HyperedgeTreeNode.__cache__ = {};
Module["HyperedgeTreeNode"] = HyperedgeTreeNode;
HyperedgeTreeNode.prototype["writeEdgesToConns"] = HyperedgeTreeNode.prototype.writeEdgesToConns = function (ignored, pass) {
var self2 = this.ptr;
if (ignored && typeof ignored === "object")
ignored = ignored.ptr;
if (pass && typeof pass === "object")
pass = pass.ptr;
_emscripten_bind_HyperedgeTreeNode_writeEdgesToConns_2(self2, ignored, pass);
};
;
HyperedgeTreeNode.prototype["__destroy__"] = HyperedgeTreeNode.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_HyperedgeTreeNode___destroy___0(self2);
};
function HyperedgeTreeEdge(node1, node2, conn) {
if (node1 && typeof node1 === "object")
node1 = node1.ptr;
if (node2 && typeof node2 === "object")
node2 = node2.ptr;
if (conn && typeof conn === "object")
conn = conn.ptr;
this.ptr = _emscripten_bind_HyperedgeTreeEdge_HyperedgeTreeEdge_3(node1, node2, conn);
getCache(HyperedgeTreeEdge)[this.ptr] = this;
}
;
;
HyperedgeTreeEdge.prototype = Object.create(WrapperObject.prototype);
HyperedgeTreeEdge.prototype.constructor = HyperedgeTreeEdge;
HyperedgeTreeEdge.prototype.__class__ = HyperedgeTreeEdge;
HyperedgeTreeEdge.__cache__ = {};
Module["HyperedgeTreeEdge"] = HyperedgeTreeEdge;
HyperedgeTreeEdge.prototype["__destroy__"] = HyperedgeTreeEdge.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_HyperedgeTreeEdge___destroy___0(self2);
};
function AStarPath() {
this.ptr = _emscripten_bind_AStarPath_AStarPath_0();
getCache(AStarPath)[this.ptr] = this;
}
;
;
AStarPath.prototype = Object.create(WrapperObject.prototype);
AStarPath.prototype.constructor = AStarPath;
AStarPath.prototype.__class__ = AStarPath;
AStarPath.__cache__ = {};
Module["AStarPath"] = AStarPath;
AStarPath.prototype["search"] = AStarPath.prototype.search = function (lineRef, src, tar, start) {
var self2 = this.ptr;
if (lineRef && typeof lineRef === "object")
lineRef = lineRef.ptr;
if (src && typeof src === "object")
src = src.ptr;
if (tar && typeof tar === "object")
tar = tar.ptr;
if (start && typeof start === "object")
start = start.ptr;
_emscripten_bind_AStarPath_search_4(self2, lineRef, src, tar, start);
};
;
AStarPath.prototype["__destroy__"] = AStarPath.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_AStarPath___destroy___0(self2);
};
function ConnEnd(shapeRef, connectionPinClassID) {
if (shapeRef && typeof shapeRef === "object")
shapeRef = shapeRef.ptr;
if (connectionPinClassID && typeof connectionPinClassID === "object")
connectionPinClassID = connectionPinClassID.ptr;
if (connectionPinClassID === void 0) {
this.ptr = _emscripten_bind_ConnEnd_ConnEnd_1(shapeRef);
getCache(ConnEnd)[this.ptr] = this;
return;
}
this.ptr = _emscripten_bind_ConnEnd_ConnEnd_2(shapeRef, connectionPinClassID);
getCache(ConnEnd)[this.ptr] = this;
}
;
;
ConnEnd.prototype = Object.create(WrapperObject.prototype);
ConnEnd.prototype.constructor = ConnEnd;
ConnEnd.prototype.__class__ = ConnEnd;
ConnEnd.__cache__ = {};
Module["ConnEnd"] = ConnEnd;
ConnEnd.prototype["createConnEndFromJunctionRef"] = ConnEnd.prototype.createConnEndFromJunctionRef = function (junctionRef) {
var self2 = this.ptr;
if (junctionRef && typeof junctionRef === "object")
junctionRef = junctionRef.ptr;
return wrapPointer(_emscripten_bind_ConnEnd_createConnEndFromJunctionRef_1(self2, junctionRef), ConnEnd);
};
;
ConnEnd.prototype["__destroy__"] = ConnEnd.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_ConnEnd___destroy___0(self2);
};
function ActionInfo(t, s, p, fm) {
if (t && typeof t === "object")
t = t.ptr;
if (s && typeof s === "object")
s = s.ptr;
if (p && typeof p === "object")
p = p.ptr;
if (fm && typeof fm === "object")
fm = fm.ptr;
if (p === void 0) {
this.ptr = _emscripten_bind_ActionInfo_ActionInfo_2(t, s);
getCache(ActionInfo)[this.ptr] = this;
return;
}
if (fm === void 0) {
this.ptr = _emscripten_bind_ActionInfo_ActionInfo_3(t, s, p);
getCache(ActionInfo)[this.ptr] = this;
return;
}
this.ptr = _emscripten_bind_ActionInfo_ActionInfo_4(t, s, p, fm);
getCache(ActionInfo)[this.ptr] = this;
}
;
;
ActionInfo.prototype = Object.create(WrapperObject.prototype);
ActionInfo.prototype.constructor = ActionInfo;
ActionInfo.prototype.__class__ = ActionInfo;
ActionInfo.__cache__ = {};
Module["ActionInfo"] = ActionInfo;
ActionInfo.prototype["obstacle"] = ActionInfo.prototype.obstacle = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_ActionInfo_obstacle_0(self2), Obstacle);
};
;
ActionInfo.prototype["shape"] = ActionInfo.prototype.shape = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_ActionInfo_shape_0(self2), ShapeRef);
};
;
ActionInfo.prototype["conn"] = ActionInfo.prototype.conn = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_ActionInfo_conn_0(self2), ConnRef);
};
;
ActionInfo.prototype["junction"] = ActionInfo.prototype.junction = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_ActionInfo_junction_0(self2), JunctionRef);
};
;
ActionInfo.prototype["addConnEndUpdate"] = ActionInfo.prototype.addConnEndUpdate = function (type, connEnd, isConnPinMoveUpdate) {
var self2 = this.ptr;
if (type && typeof type === "object")
type = type.ptr;
if (connEnd && typeof connEnd === "object")
connEnd = connEnd.ptr;
if (isConnPinMoveUpdate && typeof isConnPinMoveUpdate === "object")
isConnPinMoveUpdate = isConnPinMoveUpdate.ptr;
_emscripten_bind_ActionInfo_addConnEndUpdate_3(self2, type, connEnd, isConnPinMoveUpdate);
};
;
ActionInfo.prototype["get_type"] = ActionInfo.prototype.get_type = function () {
var self2 = this.ptr;
return _emscripten_bind_ActionInfo_get_type_0(self2);
};
ActionInfo.prototype["set_type"] = ActionInfo.prototype.set_type = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_ActionInfo_set_type_1(self2, arg0);
};
Object.defineProperty(ActionInfo.prototype, "type", { get: ActionInfo.prototype.get_type, set: ActionInfo.prototype.set_type });
ActionInfo.prototype["get_objPtr"] = ActionInfo.prototype.get_objPtr = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_ActionInfo_get_objPtr_0(self2), VoidPtr);
};
ActionInfo.prototype["set_objPtr"] = ActionInfo.prototype.set_objPtr = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_ActionInfo_set_objPtr_1(self2, arg0);
};
Object.defineProperty(ActionInfo.prototype, "objPtr", { get: ActionInfo.prototype.get_objPtr, set: ActionInfo.prototype.set_objPtr });
ActionInfo.prototype["get_newPoly"] = ActionInfo.prototype.get_newPoly = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_ActionInfo_get_newPoly_0(self2), Polygon);
};
ActionInfo.prototype["set_newPoly"] = ActionInfo.prototype.set_newPoly = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_ActionInfo_set_newPoly_1(self2, arg0);
};
Object.defineProperty(ActionInfo.prototype, "newPoly", { get: ActionInfo.prototype.get_newPoly, set: ActionInfo.prototype.set_newPoly });
ActionInfo.prototype["get_newPosition"] = ActionInfo.prototype.get_newPosition = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_ActionInfo_get_newPosition_0(self2), Point);
};
ActionInfo.prototype["set_newPosition"] = ActionInfo.prototype.set_newPosition = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_ActionInfo_set_newPosition_1(self2, arg0);
};
Object.defineProperty(ActionInfo.prototype, "newPosition", { get: ActionInfo.prototype.get_newPosition, set: ActionInfo.prototype.set_newPosition });
ActionInfo.prototype["get_firstMove"] = ActionInfo.prototype.get_firstMove = function () {
var self2 = this.ptr;
return !!_emscripten_bind_ActionInfo_get_firstMove_0(self2);
};
ActionInfo.prototype["set_firstMove"] = ActionInfo.prototype.set_firstMove = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_ActionInfo_set_firstMove_1(self2, arg0);
};
Object.defineProperty(ActionInfo.prototype, "firstMove", { get: ActionInfo.prototype.get_firstMove, set: ActionInfo.prototype.set_firstMove });
ActionInfo.prototype["__destroy__"] = ActionInfo.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_ActionInfo___destroy___0(self2);
};
function ShapeConnectionPin(shape, classId, xOffset, yOffset, proportional, insideOffset, visDirs) {
if (shape && typeof shape === "object")
shape = shape.ptr;
if (classId && typeof classId === "object")
classId = classId.ptr;
if (xOffset && typeof xOffset === "object")
xOffset = xOffset.ptr;
if (yOffset && typeof yOffset === "object")
yOffset = yOffset.ptr;
if (proportional && typeof proportional === "object")
proportional = proportional.ptr;
if (insideOffset && typeof insideOffset === "object")
insideOffset = insideOffset.ptr;
if (visDirs && typeof visDirs === "object")
visDirs = visDirs.ptr;
if (xOffset === void 0) {
this.ptr = _emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_2(shape, classId);
getCache(ShapeConnectionPin)[this.ptr] = this;
return;
}
if (yOffset === void 0) {
this.ptr = _emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_3(shape, classId, xOffset);
getCache(ShapeConnectionPin)[this.ptr] = this;
return;
}
if (proportional === void 0) {
this.ptr = _emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_4(shape, classId, xOffset, yOffset);
getCache(ShapeConnectionPin)[this.ptr] = this;
return;
}
if (insideOffset === void 0) {
this.ptr = _emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_5(shape, classId, xOffset, yOffset, proportional);
getCache(ShapeConnectionPin)[this.ptr] = this;
return;
}
if (visDirs === void 0) {
this.ptr = _emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_6(shape, classId, xOffset, yOffset, proportional, insideOffset);
getCache(ShapeConnectionPin)[this.ptr] = this;
return;
}
this.ptr = _emscripten_bind_ShapeConnectionPin_ShapeConnectionPin_7(shape, classId, xOffset, yOffset, proportional, insideOffset, visDirs);
getCache(ShapeConnectionPin)[this.ptr] = this;
}
;
;
ShapeConnectionPin.prototype = Object.create(WrapperObject.prototype);
ShapeConnectionPin.prototype.constructor = ShapeConnectionPin;
ShapeConnectionPin.prototype.__class__ = ShapeConnectionPin;
ShapeConnectionPin.__cache__ = {};
Module["ShapeConnectionPin"] = ShapeConnectionPin;
ShapeConnectionPin.prototype["setConnectionCost"] = ShapeConnectionPin.prototype.setConnectionCost = function (cost) {
var self2 = this.ptr;
if (cost && typeof cost === "object")
cost = cost.ptr;
_emscripten_bind_ShapeConnectionPin_setConnectionCost_1(self2, cost);
};
;
ShapeConnectionPin.prototype["position"] = ShapeConnectionPin.prototype.position = function (newPoly) {
var self2 = this.ptr;
if (newPoly && typeof newPoly === "object")
newPoly = newPoly.ptr;
if (newPoly === void 0) {
return wrapPointer(_emscripten_bind_ShapeConnectionPin_position_0(self2), Point);
}
return wrapPointer(_emscripten_bind_ShapeConnectionPin_position_1(self2, newPoly), Point);
};
;
ShapeConnectionPin.prototype["directions"] = ShapeConnectionPin.prototype.directions = function () {
var self2 = this.ptr;
return _emscripten_bind_ShapeConnectionPin_directions_0(self2);
};
;
ShapeConnectionPin.prototype["setExclusive"] = ShapeConnectionPin.prototype.setExclusive = function (exclusive) {
var self2 = this.ptr;
if (exclusive && typeof exclusive === "object")
exclusive = exclusive.ptr;
_emscripten_bind_ShapeConnectionPin_setExclusive_1(self2, exclusive);
};
;
ShapeConnectionPin.prototype["isExclusive"] = ShapeConnectionPin.prototype.isExclusive = function () {
var self2 = this.ptr;
return !!_emscripten_bind_ShapeConnectionPin_isExclusive_0(self2);
};
;
ShapeConnectionPin.prototype["updatePosition"] = ShapeConnectionPin.prototype.updatePosition = function (newPosition) {
var self2 = this.ptr;
if (newPosition && typeof newPosition === "object")
newPosition = newPosition.ptr;
_emscripten_bind_ShapeConnectionPin_updatePosition_1(self2, newPosition);
};
;
ShapeConnectionPin.prototype["__destroy__"] = ShapeConnectionPin.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_ShapeConnectionPin___destroy___0(self2);
};
function Obstacle() {
throw "cannot construct a Obstacle, no constructor in IDL";
}
Obstacle.prototype = Object.create(WrapperObject.prototype);
Obstacle.prototype.constructor = Obstacle;
Obstacle.prototype.__class__ = Obstacle;
Obstacle.__cache__ = {};
Module["Obstacle"] = Obstacle;
Obstacle.prototype["id"] = Obstacle.prototype.id = function () {
var self2 = this.ptr;
return _emscripten_bind_Obstacle_id_0(self2);
};
;
Obstacle.prototype["polygon"] = Obstacle.prototype.polygon = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_Obstacle_polygon_0(self2), Polygon);
};
;
Obstacle.prototype["router"] = Obstacle.prototype.router = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_Obstacle_router_0(self2), Router);
};
;
Obstacle.prototype["position"] = Obstacle.prototype.position = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_Obstacle_position_0(self2), Point);
};
;
Obstacle.prototype["setNewPoly"] = Obstacle.prototype.setNewPoly = function (poly) {
var self2 = this.ptr;
if (poly && typeof poly === "object")
poly = poly.ptr;
_emscripten_bind_Obstacle_setNewPoly_1(self2, poly);
};
;
Obstacle.prototype["__destroy__"] = Obstacle.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_Obstacle___destroy___0(self2);
};
function JunctionRef(router, position, id) {
if (router && typeof router === "object")
router = router.ptr;
if (position && typeof position === "object")
position = position.ptr;
if (id && typeof id === "object")
id = id.ptr;
if (id === void 0) {
this.ptr = _emscripten_bind_JunctionRef_JunctionRef_2(router, position);
getCache(JunctionRef)[this.ptr] = this;
return;
}
this.ptr = _emscripten_bind_JunctionRef_JunctionRef_3(router, position, id);
getCache(JunctionRef)[this.ptr] = this;
}
;
;
JunctionRef.prototype = Object.create(WrapperObject.prototype);
JunctionRef.prototype.constructor = JunctionRef;
JunctionRef.prototype.__class__ = JunctionRef;
JunctionRef.__cache__ = {};
Module["JunctionRef"] = JunctionRef;
JunctionRef.prototype["position"] = JunctionRef.prototype.position = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_JunctionRef_position_0(self2), Point);
};
;
JunctionRef.prototype["setPositionFixed"] = JunctionRef.prototype.setPositionFixed = function (fixed) {
var self2 = this.ptr;
if (fixed && typeof fixed === "object")
fixed = fixed.ptr;
_emscripten_bind_JunctionRef_setPositionFixed_1(self2, fixed);
};
;
JunctionRef.prototype["positionFixed"] = JunctionRef.prototype.positionFixed = function () {
var self2 = this.ptr;
return !!_emscripten_bind_JunctionRef_positionFixed_0(self2);
};
;
JunctionRef.prototype["recommendedPosition"] = JunctionRef.prototype.recommendedPosition = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_JunctionRef_recommendedPosition_0(self2), Point);
};
;
JunctionRef.prototype["__destroy__"] = JunctionRef.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_JunctionRef___destroy___0(self2);
};
function ShapeRef(router, poly, id) {
if (router && typeof router === "object")
router = router.ptr;
if (poly && typeof poly === "object")
poly = poly.ptr;
if (id && typeof id === "object")
id = id.ptr;
if (id === void 0) {
this.ptr = _emscripten_bind_ShapeRef_ShapeRef_2(router, poly);
getCache(ShapeRef)[this.ptr] = this;
return;
}
this.ptr = _emscripten_bind_ShapeRef_ShapeRef_3(router, poly, id);
getCache(ShapeRef)[this.ptr] = this;
}
;
;
ShapeRef.prototype = Object.create(WrapperObject.prototype);
ShapeRef.prototype.constructor = ShapeRef;
ShapeRef.prototype.__class__ = ShapeRef;
ShapeRef.__cache__ = {};
Module["ShapeRef"] = ShapeRef;
ShapeRef.prototype["polygon"] = ShapeRef.prototype.polygon = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_ShapeRef_polygon_0(self2), Polygon);
};
;
ShapeRef.prototype["position"] = ShapeRef.prototype.position = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_ShapeRef_position_0(self2), Point);
};
;
ShapeRef.prototype["setNewPoly"] = ShapeRef.prototype.setNewPoly = function (poly) {
var self2 = this.ptr;
if (poly && typeof poly === "object")
poly = poly.ptr;
_emscripten_bind_ShapeRef_setNewPoly_1(self2, poly);
};
;
ShapeRef.prototype["__destroy__"] = ShapeRef.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_ShapeRef___destroy___0(self2);
};
function HyperedgeNewAndDeletedObjectLists() {
throw "cannot construct a HyperedgeNewAndDeletedObjectLists, no constructor in IDL";
}
HyperedgeNewAndDeletedObjectLists.prototype = Object.create(WrapperObject.prototype);
HyperedgeNewAndDeletedObjectLists.prototype.constructor = HyperedgeNewAndDeletedObjectLists;
HyperedgeNewAndDeletedObjectLists.prototype.__class__ = HyperedgeNewAndDeletedObjectLists;
HyperedgeNewAndDeletedObjectLists.__cache__ = {};
Module["HyperedgeNewAndDeletedObjectLists"] = HyperedgeNewAndDeletedObjectLists;
HyperedgeNewAndDeletedObjectLists.prototype["__destroy__"] = HyperedgeNewAndDeletedObjectLists.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_HyperedgeNewAndDeletedObjectLists___destroy___0(self2);
};
function HyperedgeRerouter() {
this.ptr = _emscripten_bind_HyperedgeRerouter_HyperedgeRerouter_0();
getCache(HyperedgeRerouter)[this.ptr] = this;
}
;
;
HyperedgeRerouter.prototype = Object.create(WrapperObject.prototype);
HyperedgeRerouter.prototype.constructor = HyperedgeRerouter;
HyperedgeRerouter.prototype.__class__ = HyperedgeRerouter;
HyperedgeRerouter.__cache__ = {};
Module["HyperedgeRerouter"] = HyperedgeRerouter;
HyperedgeRerouter.prototype["registerHyperedgeForRerouting"] = HyperedgeRerouter.prototype.registerHyperedgeForRerouting = function (junction) {
var self2 = this.ptr;
if (junction && typeof junction === "object")
junction = junction.ptr;
return _emscripten_bind_HyperedgeRerouter_registerHyperedgeForRerouting_1(self2, junction);
};
;
HyperedgeRerouter.prototype["__destroy__"] = HyperedgeRerouter.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_HyperedgeRerouter___destroy___0(self2);
};
function VertInf() {
throw "cannot construct a VertInf, no constructor in IDL";
}
VertInf.prototype = Object.create(WrapperObject.prototype);
VertInf.prototype.constructor = VertInf;
VertInf.prototype.__class__ = VertInf;
VertInf.__cache__ = {};
Module["VertInf"] = VertInf;
VertInf.prototype["__destroy__"] = VertInf.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_VertInf___destroy___0(self2);
};
function VertID(id, n, p) {
if (id && typeof id === "object")
id = id.ptr;
if (n && typeof n === "object")
n = n.ptr;
if (p && typeof p === "object")
p = p.ptr;
if (id === void 0) {
this.ptr = _emscripten_bind_VertID_VertID_0();
getCache(VertID)[this.ptr] = this;
return;
}
if (n === void 0) {
this.ptr = _emscripten_bind_VertID_VertID_1(id);
getCache(VertID)[this.ptr] = this;
return;
}
if (p === void 0) {
this.ptr = _emscripten_bind_VertID_VertID_2(id, n);
getCache(VertID)[this.ptr] = this;
return;
}
this.ptr = _emscripten_bind_VertID_VertID_3(id, n, p);
getCache(VertID)[this.ptr] = this;
}
;
;
VertID.prototype = Object.create(WrapperObject.prototype);
VertID.prototype.constructor = VertID;
VertID.prototype.__class__ = VertID;
VertID.__cache__ = {};
Module["VertID"] = VertID;
VertID.prototype["get_objID"] = VertID.prototype.get_objID = function () {
var self2 = this.ptr;
return _emscripten_bind_VertID_get_objID_0(self2);
};
VertID.prototype["set_objID"] = VertID.prototype.set_objID = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_VertID_set_objID_1(self2, arg0);
};
Object.defineProperty(VertID.prototype, "objID", { get: VertID.prototype.get_objID, set: VertID.prototype.set_objID });
VertID.prototype["get_vn"] = VertID.prototype.get_vn = function () {
var self2 = this.ptr;
return _emscripten_bind_VertID_get_vn_0(self2);
};
VertID.prototype["set_vn"] = VertID.prototype.set_vn = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_VertID_set_vn_1(self2, arg0);
};
Object.defineProperty(VertID.prototype, "vn", { get: VertID.prototype.get_vn, set: VertID.prototype.set_vn });
VertID.prototype["get_props"] = VertID.prototype.get_props = function () {
var self2 = this.ptr;
return _emscripten_bind_VertID_get_props_0(self2);
};
VertID.prototype["set_props"] = VertID.prototype.set_props = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_VertID_set_props_1(self2, arg0);
};
Object.defineProperty(VertID.prototype, "props", { get: VertID.prototype.get_props, set: VertID.prototype.set_props });
VertID.prototype["get_src"] = VertID.prototype.get_src = function () {
var self2 = this.ptr;
return _emscripten_bind_VertID_get_src_0(self2);
};
Object.defineProperty(VertID.prototype, "src", { get: VertID.prototype.get_src });
VertID.prototype["get_tar"] = VertID.prototype.get_tar = function () {
var self2 = this.ptr;
return _emscripten_bind_VertID_get_tar_0(self2);
};
Object.defineProperty(VertID.prototype, "tar", { get: VertID.prototype.get_tar });
VertID.prototype["get_PROP_ConnPoint"] = VertID.prototype.get_PROP_ConnPoint = function () {
var self2 = this.ptr;
return _emscripten_bind_VertID_get_PROP_ConnPoint_0(self2);
};
Object.defineProperty(VertID.prototype, "PROP_ConnPoint", { get: VertID.prototype.get_PROP_ConnPoint });
VertID.prototype["get_PROP_OrthShapeEdge"] = VertID.prototype.get_PROP_OrthShapeEdge = function () {
var self2 = this.ptr;
return _emscripten_bind_VertID_get_PROP_OrthShapeEdge_0(self2);
};
Object.defineProperty(VertID.prototype, "PROP_OrthShapeEdge", { get: VertID.prototype.get_PROP_OrthShapeEdge });
VertID.prototype["get_PROP_ConnectionPin"] = VertID.prototype.get_PROP_ConnectionPin = function () {
var self2 = this.ptr;
return _emscripten_bind_VertID_get_PROP_ConnectionPin_0(self2);
};
Object.defineProperty(VertID.prototype, "PROP_ConnectionPin", { get: VertID.prototype.get_PROP_ConnectionPin });
VertID.prototype["get_PROP_ConnCheckpoint"] = VertID.prototype.get_PROP_ConnCheckpoint = function () {
var self2 = this.ptr;
return _emscripten_bind_VertID_get_PROP_ConnCheckpoint_0(self2);
};
Object.defineProperty(VertID.prototype, "PROP_ConnCheckpoint", { get: VertID.prototype.get_PROP_ConnCheckpoint });
VertID.prototype["get_PROP_DummyPinHelper"] = VertID.prototype.get_PROP_DummyPinHelper = function () {
var self2 = this.ptr;
return _emscripten_bind_VertID_get_PROP_DummyPinHelper_0(self2);
};
Object.defineProperty(VertID.prototype, "PROP_DummyPinHelper", { get: VertID.prototype.get_PROP_DummyPinHelper });
VertID.prototype["__destroy__"] = VertID.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_VertID___destroy___0(self2);
};
function MinimumTerminalSpanningTree() {
throw "cannot construct a MinimumTerminalSpanningTree, no constructor in IDL";
}
MinimumTerminalSpanningTree.prototype = Object.create(WrapperObject.prototype);
MinimumTerminalSpanningTree.prototype.constructor = MinimumTerminalSpanningTree;
MinimumTerminalSpanningTree.prototype.__class__ = MinimumTerminalSpanningTree;
MinimumTerminalSpanningTree.__cache__ = {};
Module["MinimumTerminalSpanningTree"] = MinimumTerminalSpanningTree;
MinimumTerminalSpanningTree.prototype["__destroy__"] = MinimumTerminalSpanningTree.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_MinimumTerminalSpanningTree___destroy___0(self2);
};
function Checkpoint(p) {
if (p && typeof p === "object")
p = p.ptr;
this.ptr = _emscripten_bind_Checkpoint_Checkpoint_1(p);
getCache(Checkpoint)[this.ptr] = this;
}
;
;
Checkpoint.prototype = Object.create(WrapperObject.prototype);
Checkpoint.prototype.constructor = Checkpoint;
Checkpoint.prototype.__class__ = Checkpoint;
Checkpoint.__cache__ = {};
Module["Checkpoint"] = Checkpoint;
Checkpoint.prototype["__destroy__"] = Checkpoint.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_Checkpoint___destroy___0(self2);
};
function ConnRef(router, src, dst, id) {
if (router && typeof router === "object")
router = router.ptr;
if (src && typeof src === "object")
src = src.ptr;
if (dst && typeof dst === "object")
dst = dst.ptr;
if (id && typeof id === "object")
id = id.ptr;
if (id === void 0) {
this.ptr = _emscripten_bind_ConnRef_ConnRef_3(router, src, dst);
getCache(ConnRef)[this.ptr] = this;
return;
}
this.ptr = _emscripten_bind_ConnRef_ConnRef_4(router, src, dst, id);
getCache(ConnRef)[this.ptr] = this;
}
;
;
ConnRef.prototype = Object.create(WrapperObject.prototype);
ConnRef.prototype.constructor = ConnRef;
ConnRef.prototype.__class__ = ConnRef;
ConnRef.__cache__ = {};
Module["ConnRef"] = ConnRef;
ConnRef.prototype["id"] = ConnRef.prototype.id = function () {
var self2 = this.ptr;
return _emscripten_bind_ConnRef_id_0(self2);
};
;
ConnRef.prototype["setCallback"] = ConnRef.prototype.setCallback = function (cb, ptr) {
var self2 = this.ptr;
assert(cb instanceof Function, "Expecting function");
var callback_val_0 = addFunction(cb, "vi");
if (ptr && typeof ptr === "object")
ptr = ptr.ptr;
_emscripten_bind_ConnRef_setCallback_2(self2, callback_val_0, ptr);
};
;
ConnRef.prototype["setSourceEndpoint"] = ConnRef.prototype.setSourceEndpoint = function (srcPoint) {
var self2 = this.ptr;
if (srcPoint && typeof srcPoint === "object")
srcPoint = srcPoint.ptr;
_emscripten_bind_ConnRef_setSourceEndpoint_1(self2, srcPoint);
};
;
ConnRef.prototype["setDestEndpoint"] = ConnRef.prototype.setDestEndpoint = function (dstPoint) {
var self2 = this.ptr;
if (dstPoint && typeof dstPoint === "object")
dstPoint = dstPoint.ptr;
_emscripten_bind_ConnRef_setDestEndpoint_1(self2, dstPoint);
};
;
ConnRef.prototype["routingType"] = ConnRef.prototype.routingType = function () {
var self2 = this.ptr;
return _emscripten_bind_ConnRef_routingType_0(self2);
};
;
ConnRef.prototype["setRoutingType"] = ConnRef.prototype.setRoutingType = function (type) {
var self2 = this.ptr;
if (type && typeof type === "object")
type = type.ptr;
_emscripten_bind_ConnRef_setRoutingType_1(self2, type);
};
;
ConnRef.prototype["displayRoute"] = ConnRef.prototype.displayRoute = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_ConnRef_displayRoute_0(self2), Polygon);
};
;
ConnRef.prototype["setHateCrossings"] = ConnRef.prototype.setHateCrossings = function (value) {
var self2 = this.ptr;
if (value && typeof value === "object")
value = value.ptr;
_emscripten_bind_ConnRef_setHateCrossings_1(self2, value);
};
;
ConnRef.prototype["doesHateCrossings"] = ConnRef.prototype.doesHateCrossings = function () {
var self2 = this.ptr;
return !!_emscripten_bind_ConnRef_doesHateCrossings_0(self2);
};
;
ConnRef.prototype["__destroy__"] = ConnRef.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_ConnRef___destroy___0(self2);
};
function EdgeInf(v1, v2, orthogonal) {
if (v1 && typeof v1 === "object")
v1 = v1.ptr;
if (v2 && typeof v2 === "object")
v2 = v2.ptr;
if (orthogonal && typeof orthogonal === "object")
orthogonal = orthogonal.ptr;
if (orthogonal === void 0) {
this.ptr = _emscripten_bind_EdgeInf_EdgeInf_2(v1, v2);
getCache(EdgeInf)[this.ptr] = this;
return;
}
this.ptr = _emscripten_bind_EdgeInf_EdgeInf_3(v1, v2, orthogonal);
getCache(EdgeInf)[this.ptr] = this;
}
;
;
EdgeInf.prototype = Object.create(WrapperObject.prototype);
EdgeInf.prototype.constructor = EdgeInf;
EdgeInf.prototype.__class__ = EdgeInf;
EdgeInf.__cache__ = {};
Module["EdgeInf"] = EdgeInf;
EdgeInf.prototype["__destroy__"] = EdgeInf.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_EdgeInf___destroy___0(self2);
};
function LineRep() {
throw "cannot construct a LineRep, no constructor in IDL";
}
LineRep.prototype = Object.create(WrapperObject.prototype);
LineRep.prototype.constructor = LineRep;
LineRep.prototype.__class__ = LineRep;
LineRep.__cache__ = {};
Module["LineRep"] = LineRep;
LineRep.prototype["get_begin"] = LineRep.prototype.get_begin = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_LineRep_get_begin_0(self2), Point);
};
LineRep.prototype["set_begin"] = LineRep.prototype.set_begin = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_LineRep_set_begin_1(self2, arg0);
};
Object.defineProperty(LineRep.prototype, "begin", { get: LineRep.prototype.get_begin, set: LineRep.prototype.set_begin });
LineRep.prototype["get_end"] = LineRep.prototype.get_end = function () {
var self2 = this.ptr;
return wrapPointer(_emscripten_bind_LineRep_get_end_0(self2), Point);
};
LineRep.prototype["set_end"] = LineRep.prototype.set_end = function (arg0) {
var self2 = this.ptr;
if (arg0 && typeof arg0 === "object")
arg0 = arg0.ptr;
_emscripten_bind_LineRep_set_end_1(self2, arg0);
};
Object.defineProperty(LineRep.prototype, "end", { get: LineRep.prototype.get_end, set: LineRep.prototype.set_end });
LineRep.prototype["__destroy__"] = LineRep.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_LineRep___destroy___0(self2);
};
function Router(flags) {
if (flags && typeof flags === "object")
flags = flags.ptr;
this.ptr = _emscripten_bind_Router_Router_1(flags);
getCache(Router)[this.ptr] = this;
}
;
;
Router.prototype = Object.create(WrapperObject.prototype);
Router.prototype.constructor = Router;
Router.prototype.__class__ = Router;
Router.__cache__ = {};
Module["Router"] = Router;
Router.prototype["processTransaction"] = Router.prototype.processTransaction = function () {
var self2 = this.ptr;
return !!_emscripten_bind_Router_processTransaction_0(self2);
};
;
Router.prototype["printInfo"] = Router.prototype.printInfo = function () {
var self2 = this.ptr;
_emscripten_bind_Router_printInfo_0(self2);
};
;
Router.prototype["deleteConnector"] = Router.prototype.deleteConnector = function (connector) {
var self2 = this.ptr;
if (connector && typeof connector === "object")
connector = connector.ptr;
_emscripten_bind_Router_deleteConnector_1(self2, connector);
};
;
Router.prototype["moveShape"] = Router.prototype.moveShape = function (shape, xDiff, yDiff) {
var self2 = this.ptr;
if (shape && typeof shape === "object")
shape = shape.ptr;
if (xDiff && typeof xDiff === "object")
xDiff = xDiff.ptr;
if (yDiff && typeof yDiff === "object")
yDiff = yDiff.ptr;
if (yDiff === void 0) {
_emscripten_bind_Router_moveShape_2(self2, shape, xDiff);
return;
}
_emscripten_bind_Router_moveShape_3(self2, shape, xDiff, yDiff);
};
;
Router.prototype["deleteShape"] = Router.prototype.deleteShape = function (shape) {
var self2 = this.ptr;
if (shape && typeof shape === "object")
shape = shape.ptr;
_emscripten_bind_Router_deleteShape_1(self2, shape);
};
;
Router.prototype["moveJunction"] = Router.prototype.moveJunction = function (junction, xDiff, yDiff) {
var self2 = this.ptr;
if (junction && typeof junction === "object")
junction = junction.ptr;
if (xDiff && typeof xDiff === "object")
xDiff = xDiff.ptr;
if (yDiff && typeof yDiff === "object")
yDiff = yDiff.ptr;
if (yDiff === void 0) {
_emscripten_bind_Router_moveJunction_2(self2, junction, xDiff);
return;
}
_emscripten_bind_Router_moveJunction_3(self2, junction, xDiff, yDiff);
};
;
Router.prototype["setRoutingParameter"] = Router.prototype.setRoutingParameter = function (parameter, value) {
var self2 = this.ptr;
if (parameter && typeof parameter === "object")
parameter = parameter.ptr;
if (value && typeof value === "object")
value = value.ptr;
_emscripten_bind_Router_setRoutingParameter_2(self2, parameter, value);
};
;
Router.prototype["setRoutingOption"] = Router.prototype.setRoutingOption = function (option, value) {
var self2 = this.ptr;
if (option && typeof option === "object")
option = option.ptr;
if (value && typeof value === "object")
value = value.ptr;
_emscripten_bind_Router_setRoutingOption_2(self2, option, value);
};
;
Router.prototype["__destroy__"] = Router.prototype.__destroy__ = function () {
var self2 = this.ptr;
_emscripten_bind_Router___destroy___0(self2);
};
(function () {
function setupEnums() {
Module["ConnDirNone"] = _emscripten_enum_Avoid_ConnDirFlag_ConnDirNone();
Module["ConnDirUp"] = _emscripten_enum_Avoid_ConnDirFlag_ConnDirUp();
Module["ConnDirDown"] = _emscripten_enum_Avoid_ConnDirFlag_ConnDirDown();
Module["ConnDirLeft"] = _emscripten_enum_Avoid_ConnDirFlag_ConnDirLeft();
Module["ConnDirRight"] = _emscripten_enum_Avoid_ConnDirFlag_ConnDirRight();
Module["ConnDirAll"] = _emscripten_enum_Avoid_ConnDirFlag_ConnDirAll();
Module["ConnEndPoint"] = _emscripten_enum_Avoid_ConnEndType_ConnEndPoint();
Module["ConnEndShapePin"] = _emscripten_enum_Avoid_ConnEndType_ConnEndShapePin();
Module["ConnEndJunction"] = _emscripten_enum_Avoid_ConnEndType_ConnEndJunction();
Module["ConnEndEmpty"] = _emscripten_enum_Avoid_ConnEndType_ConnEndEmpty();
Module["ShapeMove"] = _emscripten_enum_Avoid_ActionType_ShapeMove();
Module["ShapeAdd"] = _emscripten_enum_Avoid_ActionType_ShapeAdd();
Module["ShapeRemove"] = _emscripten_enum_Avoid_ActionType_ShapeRemove();
Module["JunctionMove"] = _emscripten_enum_Avoid_ActionType_JunctionMove();
Module["JunctionAdd"] = _emscripten_enum_Avoid_ActionType_JunctionAdd();
Module["JunctionRemove"] = _emscripten_enum_Avoid_ActionType_JunctionRemove();
Module["ConnChange"] = _emscripten_enum_Avoid_ActionType_ConnChange();
Module["ConnectionPinChange"] = _emscripten_enum_Avoid_ActionType_ConnectionPinChange();
Module["TransformationType_CW90"] = _emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW90();
Module["TransformationType_CW180"] = _emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW180();
Module["TransformationType_CW270"] = _emscripten_enum_Avoid_ShapeTransformationType_TransformationType_CW270();
Module["TransformationType_FlipX"] = _emscripten_enum_Avoid_ShapeTransformationType_TransformationType_FlipX();
Module["TransformationType_FlipY"] = _emscripten_enum_Avoid_ShapeTransformationType_TransformationType_FlipY();
Module["ConnType_None"] = _emscripten_enum_Avoid_ConnType_ConnType_None();
Module["ConnType_PolyLine"] = _emscripten_enum_Avoid_ConnType_ConnType_PolyLine();
Module["ConnType_Orthogonal"] = _emscripten_enum_Avoid_ConnType_ConnType_Orthogonal();
Module["PolyLineRouting"] = _emscripten_enum_Avoid_RouterFlag_PolyLineRouting();
Module["OrthogonalRouting"] = _emscripten_enum_Avoid_RouterFlag_OrthogonalRouting();
Module["segmentPenalty"] = _emscripten_enum_Avoid_RoutingParameter_segmentPenalty();
Module["anglePenalty"] = _emscripten_enum_Avoid_RoutingParameter_anglePenalty();
Module["crossingPenalty"] = _emscripten_enum_Avoid_RoutingParameter_crossingPenalty();
Module["clusterCrossingPenalty"] = _emscripten_enum_Avoid_RoutingParameter_clusterCrossingPenalty();
Module["fixedSharedPathPenalty"] = _emscripten_enum_Avoid_RoutingParameter_fixedSharedPathPenalty();
Module["portDirectionPenalty"] = _emscripten_enum_Avoid_RoutingParameter_portDirectionPenalty();
Module["shapeBufferDistance"] = _emscripten_enum_Avoid_RoutingParameter_shapeBufferDistance();
Module["idealNudgingDistance"] = _emscripten_enum_Avoid_RoutingParameter_idealNudgingDistance();
Module["reverseDirectionPenalty"] = _emscripten_enum_Avoid_RoutingParameter_reverseDirectionPenalty();
Module["nudgeOrthogonalSegmentsConnectedToShapes"] = _emscripten_enum_Avoid_RoutingOption_nudgeOrthogonalSegmentsConnectedToShapes();
Module["improveHyperedgeRoutesMovingJunctions"] = _emscripten_enum_Avoid_RoutingOption_improveHyperedgeRoutesMovingJunctions();
Module["penaliseOrthogonalSharedPathsAtConnEnds"] = _emscripten_enum_Avoid_RoutingOption_penaliseOrthogonalSharedPathsAtConnEnds();
Module["nudgeOrthogonalTouchingColinearSegments"] = _emscripten_enum_Avoid_RoutingOption_nudgeOrthogonalTouchingColinearSegments();
Module["performUnifyingNudgingPreprocessingStep"] = _emscripten_enum_Avoid_RoutingOption_performUnifyingNudgingPreprocessingStep();
Module["improveHyperedgeRoutesMovingAddingAndDeletingJunctions"] = _emscripten_enum_Avoid_RoutingOption_improveHyperedgeRoutesMovingAddingAndDeletingJunctions();
Module["nudgeSharedPathsWithCommonEndPoint"] = _emscripten_enum_Avoid_RoutingOption_nudgeSharedPathsWithCommonEndPoint();
}
if (runtimeInitialized)
setupEnums();
else
addOnInit(setupEnums);
})();
return initAvoidModule2.ready;
};
})();
var libavoid_default = initAvoidModule;
/**
* @returns {AvoidLib}
*/
var createAvoidLibObj = (initAvoid) => {
return {
avoidLib: void 0,
async load(moduleArgs = {}) {
const wasmBinary = moduleArgs['wasmBinary'];
if (!this.avoidLib) {
this.avoidLib = await initAvoid({ wasmBinary });
} else {
console.log("Avoid library is already initialized");
}
},
getInstance() {
if (!this.avoidLib) {
throw new Error("Avoid library should be initialized before using");
}
return this.avoidLib;
}
};
};
var AvoidLib = createAvoidLibObj(libavoid_default);
export {
AvoidLib
};