diff --git a/emscripten/box2d/b2.d.ts b/emscripten/box2d/b2.d.ts new file mode 100644 index 00000000..62b628c6 --- /dev/null +++ b/emscripten/box2d/b2.d.ts @@ -0,0 +1,575 @@ +declare namespace B2 { + const maxPolygonVertices: number; + + interface Vec2 { + x: number, y: number + } + + interface Vec2Vector { + push_back(v: Vec2): void; + get(i: number): Vec2; + size(): number; + } + + interface Int32Vector { + push_back(v: number): void; + get(i: number): number; + size(): number; + } + + interface Transform { + p: Vec2, q: Vec2 + } + + interface Color { + r: number, g: number, b: number, a: number + } + + interface MassData { + mass: number; + center: Vec2; + I: number; + } + + class AABB { + constructor(); + lowerBound: Vec2; + upperBound: Vec2; + IsValid(): boolean; + GetCenter(): Vec2; + GetExtents(): Vec2; + GetPerimeter(): number; + Combine(aabb: AABB): void; + CombineTwo(aabb1: AABB, aabb2: AABB): void; + Contains(aabb: AABB): boolean; + RayCast(output: RayCastOutput, input: RayCastInput): boolean; + TestOverlap(other: AABB): boolean; + } + + class RayCastCallback { + constructor(); + ReportFixture(fixture: Fixture, point: Vec2, normal: Vec2, fraction: number): number; + } + + class QueryCallback { + constructor(); + ReportFixture(fixture: Fixture): boolean; + } + + interface RayCastInput { + p1: Vec2; + p2: Vec2; + maxFraction: number; + } + + interface RayCastOutput { + normal: Vec2; + fraction: number; + } + + interface Filter { + categoryBits: number; + maskBits: number; + groupIndex: number; + } + + class ContactListener { + constructor(); + BeginContact(contact: number): void; + EndContact(contact: number): void; + PreSolve(contact: number, oldManifold: number): void; + PostSolve(contact: number, impulse: number): void; + registerContactFixture(fixture: number): void; + unregisterContactFixture(fixture: number): void; + isIndexOf(fixture: number): void; + } + + class Draw { + constructor(); + SetFlags(flags: number): void; + GetFlags(): number; + AppendFlags(flags: number): void; + ClearFlags(flags: number): void; + DrawPolygon(vertices: Vec2[], vertexCount: number, color: Color): void; + DrawSolidPolygon(vertices: Vec2[], vertexCount: number, color: Color): void; + DrawCircle(center: Vec2, radius: number, color: Color): void; + DrawSolidCircle(center: Vec2, radius: number, axis: Vec2, color: Color): void; + } + + class World { + constructor(gravity: Vec2); + SetContactListener(listener: ContactListener): void; + SetDebugDraw(debugDraw: Draw): void; + CreateBody(def: BodyDef): Body; + DestroyBody(body: Body): void; + CreateJoint(def: JointDef): Joint; + DestroyJoint(joint: Joint): void; + Step(timeStep: number, velocityIterations: number, positionIterations: number): void; + DebugDraw(): void; + QueryAABB(callback: QueryCallback, aabb: AABB): void; + RayCast(callback: RayCastCallback, point1: Vec2, point2: Vec2): void; + SetAllowSleeping(flag: boolean): void; + GetAllowSleeping(): boolean; + SetGravity(gravity: Vec2): void; + GetGravity(): Vec2; + Dump(): void; + } + + class Shape { + m_type: number; + m_radius: number; + GetType(): number; + GetChildCount(): number; + TestPoint(xf: Transform, p: Vec2): boolean; + RayCast(output: RayCastOutput, input: RayCastInput, transform: Transform, childIndex: number): boolean; + ComputeAABB(aabb: AABB, xf: Transform, childIndex: number): void; + ComputeMass(massData: MassData, density: number): void; + SetRadius(radius: number): void; + GetRadius(): number; + } + + class CircleShape extends Shape { + constructor(); + m_p: Vec2; + Clone(): CircleShape; + GetChildCount(): number; + TestPoint(transform: Transform, p: Vec2): boolean; + RayCast(output: RayCastOutput, input: RayCastInput, transform: Transform, childIndex: number): boolean; + ComputeAABB(aabb: AABB, transform: Transform, childIndex: number): void; + ComputeMass(massData: MassData, density: number): void; + } + + class EdgeShape extends Shape { + constructor(); + Set(v1: Vec2, v2: Vec2): void; + Clone(): EdgeShape; + GetChildCount(): number; + TestPoint(transform: Transform, p: Vec2): boolean; + RayCast(output: RayCastOutput, input: RayCastInput, transform: Transform, childIndex: number): boolean; + ComputeAABB(aabb: AABB, transform: Transform, childIndex: number): void; + ComputeMass(massData: MassData, density: number): void; + } + + class PolygonShape extends Shape { + constructor(); + Clone(): PolygonShape; + Set(vertices: any, count: number): void; + SetAsBox(hx: number, hy: number): void; + SetAsBoxWithCenterAndAngle(hx: number, hy: number, center: Vec2, angle: number): void; + GetChildCount(): number; + TestPoint(transform: Transform, p: Vec2): boolean; + RayCast(output: RayCastOutput, input: RayCastInput, transform: Transform, childIndex: number): boolean; + ComputeAABB(aabb: AABB, transform: Transform, childIndex: number): void; + ComputeMass(massData: MassData, density: number): void; + Validate(): boolean; + } + + class FixtureDef { + shape: Shape; + userData: any; + friction: number; + restitution: number; + density: number; + isSensor: boolean; + filter: Filter; + SetShape(shape: Shape): void; + GetShape(): Shape; + } + + class Fixture { + GetType(): number; + GetShape(): Shape; + SetSensor(sensor: boolean): void; + IsSensor(): boolean; + SetFilterData(filter: Filter): void; + GetFilterData(): Filter; + Refilter(): void; + GetBody(): Body; + TestPoint(p: Vec2): boolean; + RayCast(output: RayCastOutput, input: RayCastInput, childIndex: number): boolean; + GetMassData(massData: MassData): void; + SetDensity(density: number): void; + GetDensity(): number; + GetFriction(): number; + SetFriction(friction: number): void; + GetRestitution(): number; + SetRestitution(restitution: number): void; + GetAABB(childIndex: number): AABB; + Dump(bodyIndex: number): void; + } + + enum BodyType{ + b2_staticBody = 0, + b2_kinematicBody, + b2_dynamicBody, + cc_animatedBody, + } + + class BodyDef { + constructor(); + type: BodyType; + position: Vec2; + angle: number; + linearVelocity: Vec2; + angularVelocity: number; + linearDamping: number; + angularDamping: number; + allowSleep: boolean; + awake: boolean; + fixedRotation: boolean; + bullet: boolean; + gravityScale: number; + } + + class Body { + CreateFixture (fixtureDef: FixtureDef): Fixture; + CreateFixtureWithShape (shape: Shape, density: number): Fixture; + DestroyFixture(fixture: Fixture): void; + SetTransform(position: Vec2, angle: number): void; + GetTransform(): Transform; + GetPosition(): Vec2; + SetPosition(pos: Vec2): void; + GetAngle(): number; + SetAngle(angle: number): void; + GetWorldCenter(): Vec2; + GetLocalCenter(): Vec2; + SetLinearVelocity(v: Vec2): void; + GetLinearVelocity(): Vec2; + SetAngularVelocity(omega: number): void; + GetAngularVelocity(): number; + ApplyForce(force: Vec2, point: Vec2, wake: boolean): void; + ApplyForceToCenter(force: Vec2, wake: boolean): void; + ApplyTorque(torque: number, wake: boolean): void; + ApplyLinearImpulse(impulse: Vec2, point: Vec2, wake: boolean): void; + ApplyLinearImpulseToCenter(impulse: Vec2, wake: boolean): void; + ApplyAngularImpulse(impulse: number, wake: boolean): void; + GetMass(): number; + GetInertia(): number; + GetMassData(data: MassData): void; + SetMassData(data: MassData): void; + ResetMassData(): void; + GetWorldPoint(localPoint: Vec2): Vec2; + GetWorldVector(localVector: Vec2): Vec2; + GetLocalPoint(worldPoint: Vec2): Vec2; + GetLocalVector(worldVector: Vec2): Vec2; + GetLinearVelocityFromWorldPoint(worldPoint: Vec2): Vec2; + GetLinearVelocityFromLocalPoint(localPoint: Vec2): Vec2; + GetLinearDamping(): number; + SetLinearDamping(linearDamping: number): void; + GetAngularDamping(): number; + SetAngularDamping(angularDamping: number): void; + GetGravityScale(): number; + SetGravityScale(scale: number): void; + SetType(type: BodyType): void; + GetType(): BodyType; + SetBullet(flag: boolean): void; + IsBullet(): boolean; + SetSleepingAllowed(flag: boolean): void; + IsSleepingAllowed(): boolean; + SetAwake(flag: boolean): void; + IsAwake(): boolean; + SetEnabled(flag: boolean): void; + IsEnabled(): boolean; + SetFixedRotation(flag: boolean): void; + IsFixedRotation(): boolean; + GetWorld(): World; + Dump(): void; + } + + enum JointType { + e_unknownJoint, + e_revoluteJoint, + e_prismaticJoint, + e_distanceJoint, + e_pulleyJoint, + e_mouseJoint, + e_gearJoint, + e_wheelJoint, + e_weldJoint, + e_frictionJoint, + e_ropeJoint, + e_motorJoint + } + + class JointDef { + constructor(type: JointType); + type: JointType; + collideConnected: boolean; + SetBodyA(bodyA: Body): void; + SetBodyB(bodyB: Body): void; + GetBodyA(): Body; + GetBodyB(): Body; + SetCollideConnected(flag: boolean): void; + } + + class Joint { + GetType(): JointType; + GetBodyA(): Body; + GetBodyB(): Body; + GetAnchorA(): Vec2; + GetAnchorB(): Vec2; + GetReactionForce(inv_dt: number): Vec2; + GetReactionTorque(inv_dt: number): number; + IsActive(): boolean; + GetCollideConnected(): boolean; + Dump(): void; + } + + class DistanceJointDef extends JointDef { + constructor(); + localAnchorA: Vec2; + localAnchorB: Vec2; + length: number; + stiffness: number; + damping: number; + } + + class DistanceJoint extends Joint { + GetLocalAnchorA(): Vec2; + GetLocalAnchorB(): Vec2; + SetLength(length: number): void; + GetLength(): number; + SetStiffness(stiffness: number): void; + GetStiffness(): number; + SetDamping(damping: number): void; + GetDamping(): number; + Dump(): void; + } + + class MotorJointDef extends JointDef { + constructor(); + linearOffset: Vec2; + angularOffset: number; + maxForce: number; + maxTorque: number; + correctionFactor: number; + } + + class MotorJoint extends Joint { + SetLinearOffset(linearOffset: Vec2): void; + GetLinearOffset(): Vec2; + SetAngularOffset(angularOffset: number): void; + GetAngularOffset(): number; + SetMaxForce(force: number): void; + GetMaxForce(): number; + SetMaxTorque(torque: number): void; + GetMaxTorque(): number; + SetCorrectionFactor(factor: number): void; + GetCorrectionFactor(): number; + Dump(): void; + } + + class MouseJointDef extends JointDef { + constructor(); + target: Vec2; + maxForce: number; + frequencyHz: number; + dampingRatio: number; + } + + class MouseJoint extends Joint { + SetTarget(target: Vec2): void; + GetTarget(): Vec2; + SetMaxForce(force: number): void; + GetMaxForce(): number; + SetFrequency(hz: number): void; + GetFrequency(): number; + SetDampingRatio(ratio: number): void; + GetDampingRatio(): number; + Dump(): void; + } + + class PrismaticJointDef extends JointDef { + constructor(); + localAnchorA: Vec2; + localAnchorB: Vec2; + localAxisA: Vec2; + referenceAngle: number; + enableLimit: boolean; + lowerTranslation: number; + upperTranslation: number; + enableMotor: boolean; + maxMotorForce: number; + motorSpeed: number; + } + + class PrismaticJoint extends Joint { + GetLocalAnchorA(): Vec2; + GetLocalAnchorB(): Vec2; + GetLocalAxisA(): Vec2; + GetReferenceAngle(): number; + GetJointTranslation(): number; + GetJointSpeed(): number; + IsLimitEnabled(): boolean; + EnableLimit(flag: boolean): void; + GetLowerLimit(): number; + GetUpperLimit(): number; + SetLimits(lower: number, upper: number): void; + IsMotorEnabled(): boolean; + EnableMotor(flag: boolean): void; + SetMotorSpeed(speed: number): void; + GetMotorSpeed(): number; + SetMaxMotorForce(force: number): void; + GetMaxMotorForce(): number; + GetMotorForce(inv_dt: number): number; + Dump(): void; + } + + class RevoluteJointDef extends JointDef { + constructor(); + localAnchorA: Vec2; + localAnchorB: Vec2; + referenceAngle: number; + enableLimit: boolean; + lowerAngle: number; + upperAngle: number; + enableMotor: boolean; + motorSpeed: number; + maxMotorTorque: number; + } + + class RevoluteJoint extends Joint { + GetLocalAnchorA(): Vec2; + GetLocalAnchorB(): Vec2; + GetReferenceAngle(): number; + GetJointAngle(): number; + GetJointSpeed(): number; + IsLimitEnabled(): boolean; + EnableLimit(flag: boolean): void; + GetLowerLimit(): number; + GetUpperLimit(): number; + SetLimits(lower: number, upper: number): void; + IsMotorEnabled(): boolean; + EnableMotor(flag: boolean): void; + SetMotorSpeed(speed: number): void; + GetMotorSpeed(): number; + SetMaxMotorTorque(torque: number): void; + GetMaxMotorTorque(): number; + GetMotorTorque(inv_dt: number): number; + Dump(): void; + } + + class RopeJointDef extends JointDef { + constructor(); + localAnchorA: Vec2; + localAnchorB: Vec2; + maxLength: number; + } + + class RopeJoint extends Joint { + GetLocalAnchorA(): Vec2; + GetLocalAnchorB(): Vec2; + GetReactionForce(inv_dt: number): Vec2; + GetReactionTorque(inv_dt: number): number; + SetMaxLength(length: number): void; + GetMaxLength(): number; + GetLength(): number; + Dump(): void; + } + + class WeldJointDef extends JointDef { + constructor(); + localAnchorA: Vec2; + localAnchorB: Vec2; + referenceAngle: number; + stiffness: number; + damping: number; + } + + class WeldJoint extends Joint { + GetLocalAnchorA(): Vec2; + GetLocalAnchorB(): Vec2; + GetReferenceAngle(): number; + SetStiffness(stiffness: number): void; + GetStiffness(): number; + SetDamping(damping: number): void; + GetDamping(): number; + Dump(): void; + } + + class WheelJointDef extends JointDef { + constructor(); + localAnchorA: Vec2; + localAnchorB: Vec2; + localAxisA: Vec2; + enableLimit: boolean; + lowerTranslation: number; + upperTranslation: number; + enableMotor: boolean; + maxMotorTorque: number; + motorSpeed: number; + stiffness: number; + damping: number; + } + + class WheelJoint extends Joint { + GetLocalAnchorA(): Vec2; + GetLocalAnchorB(): Vec2; + GetLocalAxisA(): Vec2; + GetJointTranslation(): number; + IsMotorEnabled(): boolean; + EnableMotor(flag: boolean): void; + SetMotorSpeed(speed: number): void; + GetMotorSpeed(): number; + SetMaxMotorTorque(torque: number): void; + GetMaxMotorTorque(): number; + GetMotorTorque(inv_dt: number): number; + SetStiffness(stiffness: number): void; + GetStiffness(): number; + SetDamping(damping: number): void; + GetDamping(): number; + Dump(): void; + } + + // + // functions + // + function ConvexPartition(verticesIn: Vec2Vector, trianglesIn: Int32Vector, verticesOut: Vec2Vector, trianglesOut: Int32Vector): void; + function GetFloat32(memory: number, offset: number): number; + function SetLinearFrequencyAndDampingRatio(body: Joint, frequencyHertz: number, dampingRatio: number): void; + + //Contact + function ContactSetEnabled(contactPtr: number, flag: boolean): void; + function ContactIsTouching(contactPtr: number): boolean; + function ContactSetTangentSpeed(contactPtr: number, speed: number): void; + function ContactGetTangentSpeed(contactPtr: number): number; + function ContactSetFriction(contactPtr: number, friction: number): void; + function ContactGetFriction(contactPtr: number): number; + function ContactResetFriction(contactPtr: number): void; + function ContactSetRestitution(contactPtr: number, restitution: number): void; + function ContactGetRestitution(contactPtr: number): number; + function ContactResetRestitution(contactPtr: number): void; + function ContactGetFixtureA(contactPtr: number): number; + function ContactGetFixtureB(contactPtr: number): number; + function ContactGetWorldManifold(contactPtr: number, worldManifoldPtr: number): number; + function ContactGetManifold(contactPtr: number): number; + + //Manifold + function ManifoldGetType(manifoldPtr: number): number; + function ManifoldGetPointCount(manifoldPtr: number): number; + function ManifoldGetManifoldPointPtr(manifoldPtr: number, index: number): number; + function ManifoldGetLocalPointValueX(manifoldPtr: number): number; + function ManifoldGetLocalPointValueY(manifoldPtr: number): number; + function ManifoldGetLocalNormalValueX(manifoldPtr: number): number; + function ManifoldGetLocalNormalValueY(manifoldPtr: number): number; + + //ManifoldPoint + function ManifoldPointGetLocalPointX(manifoldPointPtr: number): number; + function ManifoldPointGetLocalPointY(manifoldPointPtr: number): number; + function ManifoldPointGetNormalImpulse(manifoldPointPtr: number): number; + function ManifoldPointGetTangentImpulse(manifoldPointPtr: number): number; + + //WorldManifold + function WorldManifoldNew(): number; + function WorldManifoldGetPointValueX(worldManifoldPtr: number, index: number): number; + function WorldManifoldGetPointValueY(worldManifoldPtr: number, index: number): number; + function WorldManifoldGetSeparationValue(worldManifoldPtr: number, index: number): number; + function WorldManifoldGetNormalValueX(worldManifoldPtr: number): number; + function WorldManifoldGetNormalValueY(worldManifoldPtr: number): number; + function WorldManifoldDelete(worldManifoldPtr: number): void; + + //ContactImpulse + function ContactImpulseGetNormalImpulse(contactImpulsePtr: number, index: number): number; + function ContactImpulseGetTangentImpulse(contactImpulsePtr: number, index: number): number; + function ContactImpulseGetCount(contactImpulsePtr: number): number; +} diff --git a/emscripten/box2d/box2d.d.ts b/emscripten/box2d/box2d.d.ts new file mode 100644 index 00000000..c765878a --- /dev/null +++ b/emscripten/box2d/box2d.d.ts @@ -0,0 +1,13 @@ +// eslint-disable-next-line @typescript-eslint/triple-slash-reference +/// + +declare module 'external:emscripten/box2d/box2d.release.asm.js' { + export default BOX2D; +} + +declare module 'external:emscripten/box2d/box2d.release.wasm.js' { + export default BOX2D; +} + +// tslint:disable +declare function BOX2D (moduleOptions?: any): Promise; diff --git a/emscripten/box2d/box2d.debug.asm.js b/emscripten/box2d/box2d.debug.asm.js new file mode 100644 index 00000000..2e160c8a --- /dev/null +++ b/emscripten/box2d/box2d.debug.asm.js @@ -0,0 +1,71407 @@ + +var BOX2D = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + return ( +function(BOX2D = {}) { + +// include: shell.js +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = typeof BOX2D != 'undefined' ? BOX2D : {}; + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise((resolve, reject) => { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) + + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +var ENVIRONMENT_IS_WEB = true; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var read_, + readAsync, + readBinary, + setWindowTitle; + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (typeof document != 'undefined' && document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), + // they are removed because they could contain a slash. + if (scriptDirectory.indexOf('blob:') !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); + } else { + scriptDirectory = ''; + } + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { +// include: web_or_worker_shell_read.js +read_ = (url) => { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return intArrayToString(data); + } + throw err; + } + } + + if (ENVIRONMENT_IS_WORKER) { + readBinary = (url) => { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return data; + } + throw err; + } + }; + } + + 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)) { // file URLs can return 0 + onload(xhr.response); + return; + } + var data = tryParseAsDataURI(url); + if (data) { + onload(data.buffer); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + } + +// end include: web_or_worker_shell_read.js + } + + setWindowTitle = (title) => document.title = title; +} else +{ +} + +var out = Module['print'] || console.log.bind(console); +var err = Module['printErr'] || console.error.bind(console); + +// Merge back in the overrides +Object.assign(Module, moduleOverrides); +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = null; + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. + +if (Module['arguments']) arguments_ = Module['arguments']; + +if (Module['thisProgram']) thisProgram = Module['thisProgram']; + +if (Module['quit']) quit_ = Module['quit']; + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message + + +// end include: shell.js +// include: preamble.js +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +var wasmBinary; +if (Module['wasmBinary']) wasmBinary = Module['wasmBinary']; +var noExitRuntime = Module['noExitRuntime'] || true; + +// include: wasm2js.js +// wasm2js.js - enough of a polyfill for the WebAssembly object so that we can load +// wasm2js code that way. + +// Emit "var WebAssembly" if definitely using wasm2js. Otherwise, in MAYBE_WASM2JS +// mode, we can't use a "var" since it would prevent normal wasm from working. +/** @suppress{duplicate, const} */ +var +WebAssembly = { + // Note that we do not use closure quoting (this['buffer'], etc.) on these + // functions, as they are just meant for internal use. In other words, this is + // not a fully general polyfill. + /** @constructor */ + Memory: function(opts) { + this.buffer = new ArrayBuffer(opts['initial'] * 65536); + }, + + Module: function(binary) { + // TODO: use the binary and info somehow - right now the wasm2js output is embedded in + // the main JS + }, + + /** @constructor */ + Instance: function(module, info) { + // TODO: use the module somehow - right now the wasm2js output is embedded in + // the main JS + // This will be replaced by the actual wasm2js code. + this.exports = ( +// EMSCRIPTEN_START_ASM +function instantiate(info) { +function Table(ret) { + // grow method not included; table is not growable + ret.set = function(i, func) { + this[i] = func; + }; + ret.get = function(i) { + return this[i]; + }; + return ret; +} + + var bufferView; + var base64ReverseLookup = new Uint8Array(123/*'z'+1*/); + for (var i = 25; i >= 0; --i) { + base64ReverseLookup[48+i] = 52+i; // '0-9' + base64ReverseLookup[65+i] = i; // 'A-Z' + base64ReverseLookup[97+i] = 26+i; // 'a-z' + } + base64ReverseLookup[43] = 62; // '+' + base64ReverseLookup[47] = 63; // '/' + /** @noinline Inlining this function would mean expanding the base64 string 4x times in the source code, which Closure seems to be happy to do. */ + function base64DecodeToExistingUint8Array(uint8Array, offset, b64) { + var b1, b2, i = 0, j = offset, bLength = b64.length, end = offset + (bLength*3>>2) - (b64[bLength-2] == '=') - (b64[bLength-1] == '='); + for (; i < bLength; i += 4) { + b1 = base64ReverseLookup[b64.charCodeAt(i+1)]; + b2 = base64ReverseLookup[b64.charCodeAt(i+2)]; + uint8Array[j++] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4; + if (j < end) uint8Array[j++] = b1 << 4 | b2 >> 2; + if (j < end) uint8Array[j++] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i+3)]; + } + } +function initActiveSegments(imports) { + base64DecodeToExistingUint8Array(bufferView, 1024, "ZnJlcXVlbmN5SHoARGVzdHJveVByb3h5AE1vdmVQcm94eQBTZXRHcmF2aXR5AEdldEdyYXZpdHkAZGVuc2l0eQBTZXREZW5zaXR5AEdldERlbnNpdHkAYW5ndWxhclZlbG9jaXR5AFNldEFuZ3VsYXJWZWxvY2l0eQBHZXRBbmd1bGFyVmVsb2NpdHkAbGluZWFyVmVsb2NpdHkAU2V0TGluZWFyVmVsb2NpdHkAR2V0TGluZWFyVmVsb2NpdHkAbV9ib2R5Q291bnQgPCBtX2JvZHlDYXBhY2l0eQBtX2pvaW50Q291bnQgPCBtX2pvaW50Q2FwYWNpdHkAbV9jb250YWN0Q291bnQgPCBtX2NvbnRhY3RDYXBhY2l0eQBtX25vZGVDb3VudCA9PSBtX25vZGVDYXBhY2l0eQAwIDw9IHByb3h5SWQgJiYgcHJveHlJZCA8IG1fbm9kZUNhcGFjaXR5ADAgPD0gbm9kZUlkICYmIG5vZGVJZCA8IG1fbm9kZUNhcGFjaXR5ADAgPD0gaUcgJiYgaUcgPCBtX25vZGVDYXBhY2l0eQAwIDw9IGlGICYmIGlGIDwgbV9ub2RlQ2FwYWNpdHkAMCA8PSBpRSAmJiBpRSA8IG1fbm9kZUNhcGFjaXR5ADAgPD0gaUQgJiYgaUQgPCBtX25vZGVDYXBhY2l0eQAwIDw9IGlDICYmIGlDIDwgbV9ub2RlQ2FwYWNpdHkAMCA8PSBpQiAmJiBpQiA8IG1fbm9kZUNhcGFjaXR5AERlc3Ryb3kARGVzdHJveUJvZHkAR2V0Qm9keQBDcmVhdGVCb2R5AGIyX3N0YXRpY0JvZHkAYjJfa2luZW1hdGljQm9keQBtX3R5cGUgPT0gYjJfZHluYW1pY0JvZHkAYjJCb2R5AFNldEZyZXF1ZW5jeQBHZXRGcmVxdWVuY3kAU2V0QXNCb3gAR2V0VmVydGV4AGdyb3VwSW5kZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABXb3JsZE1hbmlmb2xkTmV3AFNldERlYnVnRHJhdwBSYXlDYXN0T3V0cHV0AFJheUNhc3RJbnB1dABHZXRGaXh0dXJlTGlzdABSYXlDYXN0AHVuc2lnbmVkIHNob3J0AFJvdAAwIDw9IGluZGV4ICYmIGluZGV4IDwgY2hhaW4tPm1fY291bnQAMCA8PSBlZGdlMSAmJiBlZGdlMSA8IHBvbHkxLT5tX2NvdW50ADAgPD0gaW5kZXggJiYgaW5kZXggPCBtX2NvdW50ADAgPD0gY2hpbGRJbmRleCAmJiBjaGlsZEluZGV4IDwgbV9wcm94eUNvdW50AHRvaUluZGV4QiA8IG1fYm9keUNvdW50AHRvaUluZGV4QSA8IG1fYm9keUNvdW50AE1hbmlmb2xkR2V0UG9pbnRDb3VudABDb250YWN0SW1wdWxzZUdldENvdW50ADAgPD0gaW5kZXggJiYgaW5kZXggPCBiMl9ibG9ja1NpemVDb3VudABqIDwgYjJfYmxvY2tTaXplQ291bnQAMCA8PSB0eXBlQiAmJiB0eXBlQiA8IGIyU2hhcGU6OmVfdHlwZUNvdW50ADAgPD0gdHlwZUEgJiYgdHlwZUEgPCBiMlNoYXBlOjplX3R5cGVDb3VudAAwIDw9IHR5cGUyICYmIHR5cGUyIDwgYjJTaGFwZTo6ZV90eXBlQ291bnQAMCA8PSB0eXBlMSAmJiB0eXBlMSA8IGIyU2hhcGU6OmVfdHlwZUNvdW50ADAgPCBtX25vZGVDb3VudABHZXRDaGlsZENvdW50AERyYXdQb2ludABUZXN0UG9pbnQAR2V0TG9jYWxQb2ludABHZXRMaW5lYXJWZWxvY2l0eUZyb21Mb2NhbFBvaW50AEdldFdvcmxkUG9pbnQAR2V0TGluZWFyVmVsb2NpdHlGcm9tV29ybGRQb2ludABEZXN0cm95Sm9pbnQAYjJQdWxsZXlKb2ludABNb3RvckpvaW50AGIyR2VhckpvaW50AFdoZWVsSm9pbnQAUmV2b2x1dGVKb2ludABDcmVhdGVKb2ludABiMk1vdXNlSm9pbnQAUm9wZUpvaW50AERpc3RhbmNlSm9pbnQAV2VsZEpvaW50AG1fdHlwZUIgPT0gZV9yZXZvbHV0ZUpvaW50IHx8IG1fdHlwZUIgPT0gZV9wcmlzbWF0aWNKb2ludABtX3R5cGVBID09IGVfcmV2b2x1dGVKb2ludCB8fCBtX3R5cGVBID09IGVfcHJpc21hdGljSm9pbnQAYjJQcmlzbWF0aWNKb2ludABiMkpvaW50AHVuc2lnbmVkIGludABEcmF3U2VnbWVudABpbXBsZW1lbnQAR2V0TG93ZXJMaW1pdABHZXRVcHBlckxpbWl0AGVuYWJsZUxpbWl0AEVuYWJsZUxpbWl0AGFuZ3VsYXJPZmZzZXQAU2V0QW5ndWxhck9mZnNldABHZXRBbmd1bGFyT2Zmc2V0AGxpbmVhck9mZnNldABTZXRMaW5lYXJPZmZzZXQAR2V0TGluZWFyT2Zmc2V0AGJ1bGxldABTZXRCdWxsZXQASXNCdWxsZXQAdGFyZ2V0AFNldFRhcmdldABHZXRUYXJnZXQAU2V0AF9fZGVzdHJ1Y3QAYjJDaGFpbkFuZFBvbHlnb25Db250YWN0AGIyRWRnZUFuZFBvbHlnb25Db250YWN0AGIyUG9seWdvbkNvbnRhY3QAQmVnaW5Db250YWN0AGIyUG9seWdvbkFuZENpcmNsZUNvbnRhY3QAYjJDaGFpbkFuZENpcmNsZUNvbnRhY3QAYjJFZGdlQW5kQ2lyY2xlQ29udGFjdABiMkNpcmNsZUNvbnRhY3QARW5kQ29udGFjdABiMlRpbWVPZkltcGFjdABmbG9hdAB1aW50NjRfdABtX3JhZGl1cwBTZXRSYWRpdXMAR2V0UmFkaXVzAEdldFdpdG5lc3NQb2ludHMASW5pdGlhbGl6ZVZlbG9jaXR5Q29uc3RyYWludHMAU29sdmVWZWxvY2l0eUNvbnN0cmFpbnRzAEdldEV4dGVudHMAU2V0TGltaXRzAGNhdGVnb3J5Qml0cwBtYXNrQml0cwBzdGlmZm5lc3MAU2V0U3RpZmZuZXNzAEdldFN0aWZmbmVzcwBtYXNzAEdldE1hc3MAQ29tcHV0ZU1hc3MAQ29udGFpbnMAZml4dHVyZS0+bV9ib2R5ID09IHRoaXMAU2V0RmxhZ3MAR2V0RmxhZ3MAQ2xlYXJGbGFncwBBcHBlbmRGbGFncwBDcmVhdGVQcm94aWVzAG1fZW50cnlDb3VudCA8IGIyX21heFN0YWNrRW50cmllcwBtYXhQb2x5Z29uVmVydGljZXMAYjJfZHVtcEZpbGUgPT0gbnVsbHB0cgBNYW5pZm9sZEdldE1hbmlmb2xkUG9pbnRQdHIAZW5hYmxlTW90b3IARW5hYmxlTW90b3IAdmVjdG9yAEdldExvY2FsVmVjdG9yAEdldFdvcmxkVmVjdG9yAFZlYzJWZWN0b3IASW50MzJWZWN0b3IAY29ycmVjdGlvbkZhY3RvcgBTZXRDb3JyZWN0aW9uRmFjdG9yAEdldENvcnJlY3Rpb25GYWN0b3IAfmIyU3RhY2tBbGxvY2F0b3IAU2V0U2Vuc29yAGlzU2Vuc29yAElzU2Vuc29yAENvbG9yAGIyQ29udGFjdFNvbHZlcgBjZW50ZXIAR2V0Q2VudGVyAEFwcGx5TGluZWFySW1wdWxzZVRvQ2VudGVyAEFwcGx5Rm9yY2VUb0NlbnRlcgBHZXRMb2NhbENlbnRlcgBHZXRXb3JsZENlbnRlcgBSZWZpbHRlcgBGaWx0ZXIAR2V0UGVyaW1ldGVyAGxvd2VyIDw9IHVwcGVyAERyYXdXcmFwcGVyAENvbnRhY3RMaXN0ZW5lcldyYXBwZXIAUXVlcnlDYWxsYmFja1dyYXBwZXIAUmF5Q2FzdENhbGxiYWNrV3JhcHBlcgBTZXRDb250YWN0TGlzdGVuZXIAdW5zaWduZWQgY2hhcgBxAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvYm94MmQvc3JjL2R5bmFtaWNzL2IyX2JvZHkuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvYm94MmQvc3JjL2R5bmFtaWNzL2IyX3B1bGxleV9qb2ludC5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvZHluYW1pY3MvYjJfbW90b3Jfam9pbnQuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvYm94MmQvc3JjL2R5bmFtaWNzL2IyX2dlYXJfam9pbnQuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvYm94MmQvc3JjL2R5bmFtaWNzL2IyX3Jldm9sdXRlX2pvaW50LmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2JveDJkL3NyYy9keW5hbWljcy9iMl9tb3VzZV9qb2ludC5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvZHluYW1pY3MvYjJfcHJpc21hdGljX2pvaW50LmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2JveDJkL3NyYy9keW5hbWljcy9iMl9qb2ludC5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvZHluYW1pY3MvYjJfY2hhaW5fcG9seWdvbl9jb250YWN0LmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2JveDJkL3NyYy9keW5hbWljcy9iMl9lZGdlX3BvbHlnb25fY29udGFjdC5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvZHluYW1pY3MvYjJfcG9seWdvbl9jb250YWN0LmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2JveDJkL3NyYy9keW5hbWljcy9iMl9wb2x5Z29uX2NpcmNsZV9jb250YWN0LmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2JveDJkL3NyYy9keW5hbWljcy9iMl9jaGFpbl9jaXJjbGVfY29udGFjdC5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvZHluYW1pY3MvYjJfZWRnZV9jaXJjbGVfY29udGFjdC5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvZHluYW1pY3MvYjJfY2lyY2xlX2NvbnRhY3QuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvYm94MmQvc3JjL2R5bmFtaWNzL2IyX2NvbnRhY3QuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvYm94MmQvc3JjL2NvbGxpc2lvbi9iMl90aW1lX29mX2ltcGFjdC5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvY29tbW9uL2IyX3NldHRpbmdzLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2JveDJkL3NyYy9jb21tb24vYjJfYmxvY2tfYWxsb2NhdG9yLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2JveDJkL3NyYy9jb21tb24vYjJfc3RhY2tfYWxsb2NhdG9yLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2JveDJkL3NyYy9keW5hbWljcy9iMl9jb250YWN0X3NvbHZlci5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvY29sbGlzaW9uL2IyX2NvbGxpc2lvbi5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvY29sbGlzaW9uL2IyX2NvbGxpZGVfcG9seWdvbi5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvZHluYW1pY3MvYjJfZml4dHVyZS5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvY29sbGlzaW9uL2IyX3BvbHlnb25fc2hhcGUuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvYm94MmQvc3JjL2NvbGxpc2lvbi9iMl9jaGFpbl9zaGFwZS5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvY29sbGlzaW9uL2IyX2NvbGxpZGVfZWRnZS5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvY29sbGlzaW9uL2IyX2R5bmFtaWNfdHJlZS5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvY29sbGlzaW9uL2IyX2Rpc3RhbmNlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2JveDJkL3NyYy9keW5hbWljcy9iMl9pc2xhbmQuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvYm94MmQvc3JjL2R5bmFtaWNzL2IyX3dvcmxkLmNwcABQb3AAYjJPcGVuRHVtcABTdGVwAGFsbG93U2xlZXAAYjJTaXplTWFwAG1fcABDb21iaW5lVHdvAGRhbXBpbmdSYXRpbwBTZXREYW1waW5nUmF0aW8AR2V0RGFtcGluZ1JhdGlvAFNldExpbmVhckZyZXF1ZW5jeUFuZERhbXBpbmdSYXRpbwByZXN0aXR1dGlvbgBDb250YWN0UmVzZXRSZXN0aXR1dGlvbgBDb250YWN0U2V0UmVzdGl0dXRpb24AQ29udGFjdEdldFJlc3RpdHV0aW9uAHBvc2l0aW9uAEdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AZnJpY3Rpb24AQ29udGFjdFJlc2V0RnJpY3Rpb24AQ29udGFjdFNldEZyaWN0aW9uAENvbnRhY3RHZXRGcmljdGlvbgBHZXRTZWFyY2hEaXJlY3Rpb24AZnJhY3Rpb24AMC4wZiA8PSBsb3dlciAmJiBsb3dlciA8PSBpbnB1dC5tYXhGcmFjdGlvbgBmaXhlZFJvdGF0aW9uAFNldEZpeGVkUm90YXRpb24ASXNGaXhlZFJvdGF0aW9uAEZpbmRNaW5TZXBhcmF0aW9uAEdldEpvaW50VHJhbnNsYXRpb24AbG93ZXJUcmFuc2xhdGlvbgBtX2xvd2VyVHJhbnNsYXRpb24gPD0gbV91cHBlclRyYW5zbGF0aW9uAG1fZml4dHVyZUItPkdldFR5cGUoKSA9PSBiMlNoYXBlOjplX3BvbHlnb24AbV9maXh0dXJlQS0+R2V0VHlwZSgpID09IGIyU2hhcGU6OmVfcG9seWdvbgBEcmF3UG9seWdvbgBEcmF3U29saWRQb2x5Z29uAG1fZml4dHVyZUEtPkdldFR5cGUoKSA9PSBiMlNoYXBlOjplX2NoYWluAG5hbgBEcmF3VHJhbnNmb3JtAFNldFRyYW5zZm9ybQBHZXRUcmFuc2Zvcm0AYm9vbABib3gyZF9kdW1wLmlubABlbXNjcmlwdGVuOjp2YWwAbm9ybWFsAFF1ZXJ5Q2FsbGJhY2sAUmF5Q2FzdENhbGxiYWNrAHB1c2hfYmFjawBsZW5ndGgAbWF4TGVuZ3RoAFNldE1heExlbmd0aABHZXRNYXhMZW5ndGgAU2V0TGVuZ3RoAEdldExlbmd0aABDOlxVc2Vyc1xsZWFselxEZXNrdG9wXHRydW5rXGVtc2RrXHVwc3RyZWFtXGVtc2NyaXB0ZW5cY2FjaGVcc3lzcm9vdC9pbmNsdWRlXGVtc2NyaXB0ZW4vdmFsLmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvLi4vaW5jbHVkZVxib3gyZC9iMl9ncm93YWJsZV9zdGFjay5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvYm94MmQvc3JjLy4uL2luY2x1ZGVcYm94MmQvYjJfbWF0aC5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvYm94MmQvaW5jbHVkZS9ib3gyZC9iMl9maXh0dXJlLmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvLi4vaW5jbHVkZVxib3gyZC9iMl9keW5hbWljX3RyZWUuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2JveDJkL3NyYy8uLi9pbmNsdWRlXGJveDJkL2IyX2Rpc3RhbmNlLmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9ib3gyZC9zcmMvZHluYW1pY3MvYjJfaXNsYW5kLmgAdW5zaWduZWQgbG9uZwBzdGQ6OndzdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGRhbXBpbmcAU2V0RGFtcGluZwBHZXREYW1waW5nAGFuZ3VsYXJEYW1waW5nAFNldEFuZ3VsYXJEYW1waW5nAEdldEFuZ3VsYXJEYW1waW5nAGxpbmVhckRhbXBpbmcAU2V0TGluZWFyRGFtcGluZwBHZXRMaW5lYXJEYW1waW5nAFNldEFsbG93U2xlZXBpbmcAR2V0QWxsb3dTbGVlcGluZwBDb250YWN0SXNUb3VjaGluZwBpbmYAQm9keURlZgBNb3RvckpvaW50RGVmAFdoZWVsSm9pbnREZWYAUmV2b2x1dGVKb2ludERlZgBNb3VzZUpvaW50RGVmAFJvcGVKb2ludERlZgBEaXN0YW5jZUpvaW50RGVmAFdlbGRKb2ludERlZgBQcmlzbWF0aWNKb2ludERlZgBGaXh0dXJlRGVmAEluc2VydExlYWYAaXNJbmRleE9mAGIySXNWYWxpZChmYWN0b3IpICYmIDAuMGYgPD0gZmFjdG9yICYmIGZhY3RvciA8PSAxLjBmAGFscGhhMCA8IDEuMGYAZGVuID4gMC4wZgBtX0kgPiAwLjBmAHIuTGVuZ3RoU3F1YXJlZCgpID4gMC4wZgBiMklzVmFsaWQoZGVmLT5mcmVxdWVuY3lIeikgJiYgZGVmLT5mcmVxdWVuY3lIeiA+PSAwLjBmAGIySXNWYWxpZChkZW5zaXR5KSAmJiBkZW5zaXR5ID49IDAuMGYAYS54ID49IDAuMGYgJiYgYS55ID49IDAuMGYAYjJJc1ZhbGlkKGRlZi0+ZGFtcGluZ1JhdGlvKSAmJiBkZWYtPmRhbXBpbmdSYXRpbyA+PSAwLjBmAGIySXNWYWxpZChiZC0+YW5ndWxhckRhbXBpbmcpICYmIGJkLT5hbmd1bGFyRGFtcGluZyA+PSAwLjBmAGIySXNWYWxpZChiZC0+bGluZWFyRGFtcGluZykgJiYgYmQtPmxpbmVhckRhbXBpbmcgPj0gMC4wZgBiMklzVmFsaWQodG9ycXVlKSAmJiB0b3JxdWUgPj0gMC4wZgBiMklzVmFsaWQoZm9yY2UpICYmIGZvcmNlID49IDAuMGYAYjJJc1ZhbGlkKGRlZi0+bWF4Rm9yY2UpICYmIGRlZi0+bWF4Rm9yY2UgPj0gMC4wZgBkZWYtPnJhdGlvICE9IDAuMGYAcmVzaXplADAgPCBzaXplAEluaXRpYWxpemUAYmxvY2tDb3VudCAqIGJsb2NrU2l6ZSA8PSBiMl9jaHVua1NpemUAc3RhY2tDb3VudCA8IHN0YWNrU2l6ZQBQb3N0U29sdmUAUHJlU29sdmUAc19pbml0aWFsaXplZCA9PSB0cnVlAGItPklzRW5hYmxlZCgpID09IHRydWUAQXBwbHlUb3JxdWUAbWF4VG9ycXVlAFNldE1heFRvcnF1ZQBHZXRNYXhUb3JxdWUAbWF4TW90b3JUb3JxdWUAU2V0TWF4TW90b3JUb3JxdWUAR2V0TWF4TW90b3JUb3JxdWUAR2V0TW90b3JUb3JxdWUAR2V0UmVhY3Rpb25Ub3JxdWUAV29ybGRNYW5pZm9sZEdldFNlcGFyYXRpb25WYWx1ZQBXb3JsZE1hbmlmb2xkRGVsZXRlAEV2YWx1YXRlAENyZWF0ZQBWYWxpZGF0ZQBBbGxvY2F0ZQBNYW5pZm9sZFBvaW50R2V0VGFuZ2VudEltcHVsc2UAQ29udGFjdEltcHVsc2VHZXRUYW5nZW50SW1wdWxzZQBBcHBseUFuZ3VsYXJJbXB1bHNlAEFwcGx5TGluZWFySW1wdWxzZQBNYW5pZm9sZFBvaW50R2V0Tm9ybWFsSW1wdWxzZQBDb250YWN0SW1wdWxzZUdldE5vcm1hbEltcHVsc2UAbV93b3JsZC0+SXNMb2NrZWQoKSA9PSBmYWxzZQBEZXN0cm95Rml4dHVyZQBSZXBvcnRGaXh0dXJlAHVucmVnaXN0ZXJDb250YWN0Rml4dHVyZQBDcmVhdGVGaXh0dXJlAG1fdHlwZQBCb2R5VHlwZQBTZXRUeXBlAE1hbmlmb2xkR2V0VHlwZQB3cml0ZUdlbmVyaWNXaXJlVHlwZQBTaGFwZVR5cGUAQWRkVHlwZQBEcmF3U2hhcGUAU2V0U2hhcGUAR2V0U2hhcGUAUG9seWdvblNoYXBlAENyZWF0ZUZpeHR1cmVXaXRoU2hhcGUAQ2lyY2xlU2hhcGUARWRnZVNoYXBlAENsb25lAENvbWJpbmUAYjJDbGlwU2VnbWVudFRvTGluZQBhbmdsZQBHZXRKb2ludEFuZ2xlAEdldEFuZ2xlAGxvd2VyQW5nbGUAdXBwZXJBbmdsZQByZWZlcmVuY2VBbmdsZQBHZXRSZWZlcmVuY2VBbmdsZQBTZXRBc0JveFdpdGhDZW50ZXJBbmRBbmdsZQBtX2ZpeHR1cmVCLT5HZXRUeXBlKCkgPT0gYjJTaGFwZTo6ZV9jaXJjbGUAbV9maXh0dXJlQS0+R2V0VHlwZSgpID09IGIyU2hhcGU6OmVfY2lyY2xlAERyYXdDaXJjbGUAYjJDb2xsaWRlRWRnZUFuZENpcmNsZQBEcmF3U29saWRDaXJjbGUAZG91YmxlAGdyYXZpdHlTY2FsZQBTZXRHcmF2aXR5U2NhbGUAR2V0R3Jhdml0eVNjYWxlAGF3YWtlAFNldEF3YWtlAElzQXdha2UAUmVhZENhY2hlAG1fZml4dHVyZUEtPkdldFR5cGUoKSA9PSBiMlNoYXBlOjplX2VkZ2UAYjJGaW5kSW5jaWRlbnRFZGdlAEdldENoaWxkRWRnZQBGcmVlAEFsbG9jYXRlTm9kZQBGcmVlTm9kZQBBcHBseUZvcmNlAG1heEZvcmNlAFNldE1heEZvcmNlAEdldE1heEZvcmNlAG1heE1vdG9yRm9yY2UAU2V0TWF4TW90b3JGb3JjZQBHZXRNYXhNb3RvckZvcmNlAEdldE1vdG9yRm9yY2UAR2V0UmVhY3Rpb25Gb3JjZQBBZHZhbmNlAGIyRGlzdGFuY2UAdGFyZ2V0ID4gdG9sZXJhbmNlAEJhbGFuY2UAZm91bmQAbG93ZXJCb3VuZAB1cHBlckJvdW5kAGV4dGVuZABHZXRXb3JsZABDb250YWN0R2V0TWFuaWZvbGQAQ29udGFjdEdldFdvcmxkTWFuaWZvbGQAdm9pZABDb21wdXRlQ2VudHJvaWQASXNWYWxpZABTZXRTbGVlcGluZ0FsbG93ZWQASXNTbGVlcGluZ0FsbG93ZWQAV2FzTW92ZWQAQ2xlYXJNb3ZlZABjb2xsaWRlQ29ubmVjdGVkAEdldENvbGxpZGVDb25uZWN0ZWQASXNMaW1pdEVuYWJsZWQAQ29udGFjdFNldEVuYWJsZWQASXNFbmFibGVkAElzTW90b3JFbmFibGVkAEdldEpvaW50U3BlZWQAQ29udGFjdFNldFRhbmdlbnRTcGVlZABDb250YWN0R2V0VGFuZ2VudFNwZWVkAG1vdG9yU3BlZWQAU2V0TW90b3JTcGVlZABHZXRNb3RvclNwZWVkAEFkZABHZXRNZXRyaWMAYgByd2EAcCA9PSBlbnRyeS0+ZGF0YQBSZXNldE1hc3NEYXRhAFNldE1hc3NEYXRhAEdldE1hc3NEYXRhAFNldEZpbHRlckRhdGEAR2V0RmlsdGVyRGF0YQBHZXRVc2VyRGF0YQBHZXRJbmVydGlhAE1hbmlmb2xkUG9pbnRHZXRMb2NhbFBvaW50WQBXb3JsZE1hbmlmb2xkR2V0UG9pbnRWYWx1ZVkATWFuaWZvbGRHZXRMb2NhbFBvaW50VmFsdWVZAFdvcmxkTWFuaWZvbGRHZXROb3JtYWxWYWx1ZVkATWFuaWZvbGRHZXRMb2NhbE5vcm1hbFZhbHVlWQBNYW5pZm9sZFBvaW50R2V0TG9jYWxQb2ludFgAV29ybGRNYW5pZm9sZEdldFBvaW50VmFsdWVYAE1hbmlmb2xkR2V0TG9jYWxQb2ludFZhbHVlWABXb3JsZE1hbmlmb2xkR2V0Tm9ybWFsVmFsdWVYAE1hbmlmb2xkR2V0TG9jYWxOb3JtYWxWYWx1ZVgAc2hvcnRfcHRyIDw9IFVJTlQzMl9NQVgAVkVSU0lPTl9NSU5PUgBWRVJTSU9OX01BSk9SAFZFUlNJT05fUkVWSVNJT04ATkFOAFNvbHZlVE9JAElORgBhcmVhID4gMS4xOTIwOTI5MGUtN0YAZWRnZS5MZW5ndGhTcXVhcmVkKCkgPiAxLjE5MjA5MjkwZS03RiAqIDEuMTkyMDkyOTBlLTdGAGRlZi0+Ym9keUEgIT0gZGVmLT5ib2R5QgBTZXRCb2R5QgBHZXRCb2R5QgBHZXRBbmNob3JCAGxvY2FsQW5jaG9yQgBHZXRMb2NhbEFuY2hvckIAQ29udGFjdEdldEZpeHR1cmVCAFF1ZXJ5QUFCQgBHZXRBQUJCAEdldEZhdEFBQkIAQ29tcHV0ZUFBQkIAU2V0Qm9keUEAR2V0Qm9keUEAbG9jYWxBeGlzQQBHZXRMb2NhbEF4aXNBAEdldEFuY2hvckEAbG9jYWxBbmNob3JBAEdldExvY2FsQW5jaG9yQQBtX25vZGVzW0MtPnBhcmVudF0uY2hpbGQyID09IGlBAG1fbm9kZXNbQi0+cGFyZW50XS5jaGlsZDIgPT0gaUEAQ29udGFjdEdldEZpeHR1cmVBAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50NjRfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50NjRfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+ADMgPD0gY291bnQgJiYgY291bnQgPD0gOAB2ZXJ0ZXhDb3VudCA8PSA4AG0gPCA4AG1fY291bnQgPj0gMwBjYWNoZS0+Y291bnQgPD0gMwAwIDwgY291bnQgJiYgY291bnQgPCAzAFRyYW5zZm9ybVZlY3RvcjIAcDIAVmVjMgBHZXRGbG9hdDMyAGNvdW50ID09IDIAcG9pbnRDb3VudCA9PSAxIHx8IHBvaW50Q291bnQgPT0gMgBwMQAwIDw9IGluZGV4ICYmIGluZGV4IDwgbV9jb3VudCAtIDEAbV9jb3VudCA+IDAAbV9lbnRyeUNvdW50ID4gMABtX2JvZHlDb3VudCA+IDAAbWFuaWZvbGQtPnBvaW50Q291bnQgPiAwAHBjLT5wb2ludENvdW50ID4gMABtX2pvaW50Q291bnQgPiAwAG1fZml4dHVyZUNvdW50ID4gMABtX2luZGV4ID09IDAAbV9wcm94eUNvdW50ID09IDAAbV9lbnRyeUNvdW50ID09IDAALgBiMklzVmFsaWQoYmQtPmFuZ3VsYXJWZWxvY2l0eSkAKG51bGwpAGIySXNWYWxpZChiZC0+YW5nbGUpAGlBICE9ICgtMSkAY2hpbGQyICE9ICgtMSkAY2hpbGQxICE9ICgtMSkAbV9ub2Rlc1twcm94eUlkXS5Jc0xlYWYoKQBiZC0+bGluZWFyVmVsb2NpdHkuSXNWYWxpZCgpAGRlZi0+dGFyZ2V0LklzVmFsaWQoKQBiZC0+cG9zaXRpb24uSXNWYWxpZCgpAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhACAgfQoAICB7CgBqb2ludHMgPSBudWxscHRyOwoAYm9kaWVzID0gbnVsbHB0cjsKACAgICBmZC5kZW5zaXR5ID0gJS45ZzsKACAgYmQuYW5ndWxhclZlbG9jaXR5ID0gJS45ZzsKACAgamQuYW5ndWxhck9mZnNldCA9ICUuOWc7CgAgICAgc2hhcGUubV9yYWRpdXMgPSAlLjlnOwoAICBqZC5zdGlmZm5lc3MgPSAlLjlnOwoAICBqZC5jb3JyZWN0aW9uRmFjdG9yID0gJS45ZzsKACAgamQucmF0aW8gPSAlLjlnOwoAICAgIGZkLnJlc3RpdHV0aW9uID0gJS45ZzsKACAgICBmZC5mcmljdGlvbiA9ICUuOWc7CgAgIGpkLmxvd2VyVHJhbnNsYXRpb24gPSAlLjlnOwoAICBqZC51cHBlclRyYW5zbGF0aW9uID0gJS45ZzsKACAgamQubGVuZ3RoID0gJS45ZzsKACAgamQubWF4TGVuZ3RoID0gJS45ZzsKACAgamQuZGFtcGluZyA9ICUuOWc7CgAgIGJkLmFuZ3VsYXJEYW1waW5nID0gJS45ZzsKACAgYmQubGluZWFyRGFtcGluZyA9ICUuOWc7CgAgIGpkLm1heFRvcnF1ZSA9ICUuOWc7CgAgIGpkLm1heE1vdG9yVG9ycXVlID0gJS45ZzsKACAgYmQuYW5nbGUgPSAlLjlnOwoAICBqZC5sb3dlckFuZ2xlID0gJS45ZzsKACAgamQudXBwZXJBbmdsZSA9ICUuOWc7CgAgIGpkLnJlZmVyZW5jZUFuZ2xlID0gJS45ZzsKACAgYmQuZ3Jhdml0eVNjYWxlID0gJS45ZzsKACAgamQubWF4Rm9yY2UgPSAlLjlnOwoAICBqZC5tYXhNb3RvckZvcmNlID0gJS45ZzsKACAgamQubW90b3JTcGVlZCA9ICUuOWc7CgAgIGpkLmxlbmd0aEIgPSAlLjlnOwoAICBqZC5sZW5ndGhBID0gJS45ZzsKACAgICBmZC5zaGFwZSA9ICZzaGFwZTsKACAgICBiMlBvbHlnb25TaGFwZSBzaGFwZTsKACAgICBiMkNoYWluU2hhcGUgc2hhcGU7CgAgICAgYjJDaXJjbGVTaGFwZSBzaGFwZTsKACAgICBiMkVkZ2VTaGFwZSBzaGFwZTsKACAgYjJQdWxsZXlKb2ludERlZiBqZDsKACAgYjJNb3RvckpvaW50RGVmIGpkOwoAICBiMkdlYXJKb2ludERlZiBqZDsKACAgYjJGcmljdGlvbkpvaW50RGVmIGpkOwoAICBiMldoZWVsSm9pbnREZWYgamQ7CgAgIGIyUmV2b2x1dGVKb2ludERlZiBqZDsKACAgYjJSb3BlSm9pbnREZWYgamQ7CgAgIGIyRGlzdGFuY2VKb2ludERlZiBqZDsKACAgYjJXZWxkSm9pbnREZWYgamQ7CgAgIGIyUHJpc21hdGljSm9pbnREZWYgamQ7CgAgICAgYjJGaXh0dXJlRGVmIGZkOwoAICBiMkJvZHlEZWYgYmQ7CgAgICAgYjJWZWMyIHZzWyVkXTsKACAgamQuam9pbnQyID0gam9pbnRzWyVkXTsKACAgamQuam9pbnQxID0gam9pbnRzWyVkXTsKACAgamQuYm9keUIgPSBib2RpZXNbJWRdOwoAICBqZC5ib2R5QSA9IGJvZGllc1slZF07CgBiMkZyZWUoam9pbnRzKTsKAGIyRnJlZShib2RpZXMpOwoAICBiZC5saW5lYXJWZWxvY2l0eS5TZXQoJS45ZywgJS45Zyk7CgAgICAgc2hhcGUubV9wcmV2VmVydGV4LlNldCglLjlnLCAlLjlnKTsKACAgICBzaGFwZS5tX25leHRWZXJ0ZXguU2V0KCUuOWcsICUuOWcpOwoAICBqZC5saW5lYXJPZmZzZXQuU2V0KCUuOWcsICUuOWcpOwoAICAgIHNoYXBlLm1fcC5TZXQoJS45ZywgJS45Zyk7CgAgIGJkLnBvc2l0aW9uLlNldCglLjlnLCAlLjlnKTsKACAgICB2c1slZF0uU2V0KCUuOWcsICUuOWcpOwoAICBqZC5sb2NhbEFuY2hvckIuU2V0KCUuOWcsICUuOWcpOwoAICBqZC5ncm91bmRBbmNob3JCLlNldCglLjlnLCAlLjlnKTsKACAgamQubG9jYWxBeGlzQS5TZXQoJS45ZywgJS45Zyk7CgAgIGpkLmxvY2FsQW5jaG9yQS5TZXQoJS45ZywgJS45Zyk7CgAgIGpkLmdyb3VuZEFuY2hvckEuU2V0KCUuOWcsICUuOWcpOwoAICAgIHNoYXBlLm1fdmVydGV4My5TZXQoJS45ZywgJS45Zyk7CgAgICAgc2hhcGUubV92ZXJ0ZXgyLlNldCglLjlnLCAlLjlnKTsKACAgICBzaGFwZS5tX3ZlcnRleDEuU2V0KCUuOWcsICUuOWcpOwoAICAgIHNoYXBlLm1fdmVydGV4MC5TZXQoJS45ZywgJS45Zyk7CgBiMlZlYzIgZyglLjlnLCAlLjlnKTsKAG1fd29ybGQtPlNldEdyYXZpdHkoZyk7CgAgIGpvaW50c1slZF0gPSBtX3dvcmxkLT5DcmVhdGVKb2ludCgmamQpOwoAICAgIGJvZGllc1slZF0tPkNyZWF0ZUZpeHR1cmUoJmZkKTsKACAgYm9kaWVzWyVkXSA9IG1fd29ybGQtPkNyZWF0ZUJvZHkoJmJkKTsKACAgamQuZW5hYmxlTGltaXQgPSBib29sKCVkKTsKACAgYmQuYnVsbGV0ID0gYm9vbCglZCk7CgAgIGpkLmVuYWJsZU1vdG9yID0gYm9vbCglZCk7CgAgICAgZmQuaXNTZW5zb3IgPSBib29sKCVkKTsKACAgYmQuYWxsb3dTbGVlcCA9IGJvb2woJWQpOwoAICBiZC5maXhlZFJvdGF0aW9uID0gYm9vbCglZCk7CgAgIGJkLmF3YWtlID0gYm9vbCglZCk7CgAgIGpkLmNvbGxpZGVDb25uZWN0ZWQgPSBib29sKCVkKTsKACAgYmQuZW5hYmxlZCA9IGJvb2woJWQpOwoAICAgIHNoYXBlLm1fb25lU2lkZWQgPSBib29sKCVkKTsKACAgYmQudHlwZSA9IGIyQm9keVR5cGUoJWQpOwoAICAgIGZkLmZpbHRlci5jYXRlZ29yeUJpdHMgPSB1aW50MTYoJWQpOwoAICAgIGZkLmZpbHRlci5tYXNrQml0cyA9IHVpbnQxNiglZCk7CgAgICAgZmQuZmlsdGVyLmdyb3VwSW5kZXggPSBpbnQxNiglZCk7CgAgICAgc2hhcGUuU2V0KHZzLCAlZCk7CgAgICAgc2hhcGUuQ3JlYXRlQ2hhaW4odnMsICVkKTsKAGIyQm9keSoqIGJvZGllcyA9IChiMkJvZHkqKiliMkFsbG9jKCVkICogc2l6ZW9mKGIyQm9keSopKTsKAGIySm9pbnQqKiBqb2ludHMgPSAoYjJKb2ludCoqKWIyQWxsb2MoJWQgKiBzaXplb2YoYjJKb2ludCopKTsKAC8vIER1bXAgaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBqb2ludCB0eXBlLgoATW91c2Ugam9pbnQgZHVtcGluZyBpcyBub3Qgc3VwcG9ydGVkLgoAZmlpaQBQN2IySm9pbnQAdmlpZmYANmIyVmVjMgAxMWIyVHJhbnNmb3JtAGlpaWkAdmlpaQBpaWkAdmlpZgBmaWkAdmlpAGlpAE43YjJTaGFwZTRUeXBlRQAxMGIyQm9keVR5cGUATlN0M19fMjZ2ZWN0b3JJaU5TXzlhbGxvY2F0b3JJaUVFRUUAUE5TdDNfXzI2dmVjdG9ySWlOU185YWxsb2NhdG9ySWlFRUVFAFBLTlN0M19fMjZ2ZWN0b3JJaU5TXzlhbGxvY2F0b3JJaUVFRUUAdgB2aQB2aWlpaQBOMTBlbXNjcmlwdGVuM3ZhbEUAaWlpaWkAaQBOU3QzX18yNnZlY3Rvckk2YjJWZWMyTlNfOWFsbG9jYXRvcklTMV9FRUVFAFBOU3QzX18yNnZlY3Rvckk2YjJWZWMyTlNfOWFsbG9jYXRvcklTMV9FRUVFAFBLTlN0M19fMjZ2ZWN0b3JJNmIyVmVjMk5TXzlhbGxvY2F0b3JJUzFfRUVFRQA1YjJSb3QAN2IyQ29sb3IAMTRiMlJheUNhc3RJbnB1dAAxNWIyUmF5Q2FzdE91dHB1dAAxMGIyTWFzc0RhdGEAOGIyRmlsdGVyADE1YjJRdWVyeUNhbGxiYWNrAFAxNWIyUXVlcnlDYWxsYmFjawBQSzE1YjJRdWVyeUNhbGxiYWNrADIyYjJRdWVyeUNhbGxiYWNrV3JhcHBlcgBOMTBlbXNjcmlwdGVuN3dyYXBwZXJJMTViMlF1ZXJ5Q2FsbGJhY2tFRQBOMTBlbXNjcmlwdGVuOGludGVybmFsMTFXcmFwcGVyQmFzZUUAUDIyYjJRdWVyeUNhbGxiYWNrV3JhcHBlcgBQSzIyYjJRdWVyeUNhbGxiYWNrV3JhcHBlcgBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAxN2IyUmF5Q2FzdENhbGxiYWNrAFAxN2IyUmF5Q2FzdENhbGxiYWNrAFBLMTdiMlJheUNhc3RDYWxsYmFjawBmaWlpaWlmADI0YjJSYXlDYXN0Q2FsbGJhY2tXcmFwcGVyAE4xMGVtc2NyaXB0ZW43d3JhcHBlckkxN2IyUmF5Q2FzdENhbGxiYWNrRUUAUDI0YjJSYXlDYXN0Q2FsbGJhY2tXcmFwcGVyAFBLMjRiMlJheUNhc3RDYWxsYmFja1dyYXBwZXIAMTdiMkNvbnRhY3RMaXN0ZW5lcgBQMTdiMkNvbnRhY3RMaXN0ZW5lcgBQSzE3YjJDb250YWN0TGlzdGVuZXIAMjRiMkNvbnRhY3RMaXN0ZW5lcldyYXBwZXIATjEwZW1zY3JpcHRlbjd3cmFwcGVySTE3YjJDb250YWN0TGlzdGVuZXJFRQBQMjRiMkNvbnRhY3RMaXN0ZW5lcldyYXBwZXIAUEsyNGIyQ29udGFjdExpc3RlbmVyV3JhcHBlcgA2YjJEcmF3AFA2YjJEcmF3AFBLNmIyRHJhdwB2aWlpaWkAdmlpaWZpAHZpaWlmaWkAMTNiMkRyYXdXcmFwcGVyAE4xMGVtc2NyaXB0ZW43d3JhcHBlckk2YjJEcmF3RUUAUDEzYjJEcmF3V3JhcHBlcgBQSzEzYjJEcmF3V3JhcHBlcgA2YjJBQUJCAFA2YjJBQUJCAFBLNmIyQUFCQgBQMTViMlJheUNhc3RPdXRwdXQAN2IyV29ybGQAUDdiMldvcmxkAFBLN2IyV29ybGQAUDZiMkJvZHkANmIyQm9keQBQSzliMkJvZHlEZWYAOWIyQm9keURlZgBQSzEwYjJKb2ludERlZgAxMGIySm9pbnREZWYAdmlpZmlpADdiMlNoYXBlAFA3YjJTaGFwZQBQSzdiMlNoYXBlAGlpaWlpaWkAUDEwYjJNYXNzRGF0YQB2aWlpZgBQMTNiMkNpcmNsZVNoYXBlAFBLMTNiMkNpcmNsZVNoYXBlAFAxNmIyQmxvY2tBbGxvY2F0b3IAMTZiMkJsb2NrQWxsb2NhdG9yAFAxMWIyRWRnZVNoYXBlAFBLMTFiMkVkZ2VTaGFwZQBQMTRiMlBvbHlnb25TaGFwZQBQSzE0YjJQb2x5Z29uU2hhcGUAdmlpZmZpZgAxMmIyRml4dHVyZURlZgBQMTJiMkZpeHR1cmVEZWYAUEsxMmIyRml4dHVyZURlZgA5YjJGaXh0dXJlAFA5YjJGaXh0dXJlAFBLOWIyRml4dHVyZQBpaWlpaWkAUDliMkJvZHlEZWYAUEs2YjJCb2R5AGlpaWlmAHZpaWZpAFAxMGIySm9pbnREZWYAMTFiMkpvaW50VHlwZQBQSzdiMkpvaW50AGlpaWYAZmlpZgAxOGIyRGlzdGFuY2VKb2ludERlZgBQMThiMkRpc3RhbmNlSm9pbnREZWYAUEsxOGIyRGlzdGFuY2VKb2ludERlZgBQMTViMkRpc3RhbmNlSm9pbnQAUEsxNWIyRGlzdGFuY2VKb2ludAAxNWIyTW90b3JKb2ludERlZgBQMTViMk1vdG9ySm9pbnREZWYAUEsxNWIyTW90b3JKb2ludERlZgBQMTJiMk1vdG9ySm9pbnQAUEsxMmIyTW90b3JKb2ludAAxNWIyTW91c2VKb2ludERlZgBQMTViMk1vdXNlSm9pbnREZWYAUEsxNWIyTW91c2VKb2ludERlZgBQMTJiMk1vdXNlSm9pbnQAUEsxMmIyTW91c2VKb2ludAAxOWIyUHJpc21hdGljSm9pbnREZWYAUDE5YjJQcmlzbWF0aWNKb2ludERlZgBQSzE5YjJQcmlzbWF0aWNKb2ludERlZgBQMTZiMlByaXNtYXRpY0pvaW50AFBLMTZiMlByaXNtYXRpY0pvaW50ADE4YjJSZXZvbHV0ZUpvaW50RGVmAFAxOGIyUmV2b2x1dGVKb2ludERlZgBQSzE4YjJSZXZvbHV0ZUpvaW50RGVmAFAxNWIyUmV2b2x1dGVKb2ludABQSzE1YjJSZXZvbHV0ZUpvaW50ADE0YjJSb3BlSm9pbnREZWYAUDE0YjJSb3BlSm9pbnREZWYAUEsxNGIyUm9wZUpvaW50RGVmAFAxMWIyUm9wZUpvaW50AFBLMTFiMlJvcGVKb2ludAAxNGIyV2VsZEpvaW50RGVmAFAxNGIyV2VsZEpvaW50RGVmAFBLMTRiMldlbGRKb2ludERlZgBQMTFiMldlbGRKb2ludABQSzExYjJXZWxkSm9pbnQAMTViMldoZWVsSm9pbnREZWYAUDE1YjJXaGVlbEpvaW50RGVmAFBLMTViMldoZWVsSm9pbnREZWYAUDEyYjJXaGVlbEpvaW50AFBLMTJiMldoZWVsSm9pbnQAAAAAADhGAAD6AgAA+wIAAPwCAAD9AgAA/gIAAP8CAAAAAwAAAQMAADEzYjJDaXJjbGVTaGFwZQAMYAAAKEYAAJxpAAAAAAAAfEYAAAIDAAADAwAABAMAAAUDAAAGAwAABwMAAAgDAAAJAwAAMTFiMkVkZ2VTaGFwZQAAAAxgAABsRgAAnGkAAAAAAADERgAACgMAAAsDAAAMAwAADQMAAA4DAAAPAwAAEAMAABEDAAAxNGIyUG9seWdvblNoYXBlAAAAAAxgAACwRgAAnGkAABAAAAAgAAAAQAAAAGAAAACAAAAAoAAAAMAAAADgAAAAAAEAAEABAACAAQAAwAEAAAACAACAAgAAAAAAAOhlAAASAwAAEwMAANUCAADVAgAA1QIAANUCAADVAgAA1QIAANUCAAAAAAAAXEcAABUDAAAWAwAAFwMAADE1YjJDaXJjbGVDb250YWN0AAAADGAAAEhHAAAASAAAAAAAAJhHAAAZAwAAGgMAABsDAAAyM2IyQ2hhaW5BbmRDaXJjbGVDb250YWN0AAAADGAAAHxHAAAASAAAAAAAANRHAAAdAwAAHgMAAB8DAAAyNGIyQ2hhaW5BbmRQb2x5Z29uQ29udGFjdAAADGAAALhHAAAASAAAAAAAAABIAADVAgAALgMAAC8DAAA5YjJDb250YWN0AADkXwAA9EcAAAAAAABUSAAAMgMAADMDAAA0AwAANQMAADYDAAA3AwAAOAMAADkDAAA6AwAAOwMAADwDAAA9AwAAMTViMkRpc3RhbmNlSm9pbnQAAAAMYAAAQEgAAMhJAAAAAAAAkEgAAD8DAABAAwAAQQMAADIyYjJFZGdlQW5kQ2lyY2xlQ29udGFjdAAAAAAMYAAAdEgAAABIAAAAAAAAzEgAAEMDAABEAwAARQMAADIzYjJFZGdlQW5kUG9seWdvbkNvbnRhY3QAAAAMYAAAsEgAAABIAAAAAAAAIEkAAEYDAABHAwAASAMAAEkDAABKAwAANwMAADgDAABLAwAATAMAAE0DAABOAwAATwMAADExYjJHZWFySm9pbnQAAAAMYAAAEEkAAMhJAAAAAAAAeEkAAFADAABRAwAAUgMAAFMDAABUAwAANwMAADgDAABVAwAAVgMAAFcDAABYAwAAWQMAADE1YjJGcmljdGlvbkpvaW50AAAADGAAAGRJAADISQAAAAAAAMhJAADVAgAA1QIAANUCAADVAgAAWgMAADcDAAA4AwAAWwMAAFwDAADVAgAA1QIAANUCAAA3YjJKb2ludAAAAADkXwAAvEkAAAAAAAAYSgAAXQMAAF4DAABfAwAAYAMAAGEDAAA3AwAAOAMAAGIDAABjAwAAZAMAAGUDAABmAwAAMTJiMk1vdG9ySm9pbnQAAAxgAAAISgAAyEkAAAAAAABsSgAAZwMAAGgDAABpAwAAagMAAGsDAABsAwAAOAMAAG0DAABuAwAAbwMAAHADAABxAwAAMTJiMk1vdXNlSm9pbnQAAAxgAABcSgAAyEkAAAAAAACoSgAAcwMAAHQDAAB1AwAAMjViMlBvbHlnb25BbmRDaXJjbGVDb250YWN0AAxgAACMSgAAAEgAAAAAAADcSgAAdwMAAHgDAAB5AwAAMTZiMlBvbHlnb25Db250YWN0AAAMYAAAyEoAAABIAAAAAAAANEsAAHoDAAB7AwAAfAMAAH0DAAB+AwAANwMAAH8DAACAAwAAgQMAAIIDAACDAwAAhAMAADE2YjJQcmlzbWF0aWNKb2ludAAADGAAACBLAADISQAAAAAAAIhLAACFAwAAhgMAAIcDAACIAwAAiQMAAIoDAAA4AwAAiwMAAIwDAACNAwAAjgMAAI8DAAAxM2IyUHVsbGV5Sm9pbnQADGAAAHhLAADISQAAAAAAAOBLAACQAwAAkQMAAJIDAACTAwAAlAMAADcDAACVAwAAlgMAAJcDAACYAwAAmQMAAJoDAAAxNWIyUmV2b2x1dGVKb2ludAAAAAxgAADMSwAAyEkAAAAAAAA0TAAAmwMAAJwDAACdAwAAngMAAJ8DAAA3AwAAOAMAAKADAAChAwAAogMAAKMDAACkAwAAMTFiMlJvcGVKb2ludAAAAAxgAAAkTAAAyEkAAAAAAACITAAApQMAAKYDAACnAwAAqAMAAKkDAAA3AwAAOAMAAKoDAACrAwAArAMAAK0DAACuAwAAMTFiMldlbGRKb2ludAAAAAxgAAB4TAAAyEkAAAAAAADcTAAArwMAALADAACxAwAAsgMAALMDAAA3AwAAtAMAALUDAAC2AwAAtwMAALgDAAC5AwAAMTJiMldoZWVsSm9pbnQAAAxgAADMTAAAyEkAAAAAAAAQTQAAugMAALsDAAC8AwAAMTViMkNvbnRhY3RGaWx0ZXIAAADkXwAA/EwAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAADkXwAAGE0AAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAADkXwAAYE0AAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEc05TXzExY2hhcl90cmFpdHNJRHNFRU5TXzlhbGxvY2F0b3JJRHNFRUVFAAAA5F8AAKhNAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAAORfAAD0TQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAADkXwAAQE4AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAA5F8AAGhOAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUAAORfAACQTgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAADkXwAAuE4AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQAA5F8AAOBOAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUAAORfAAAITwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAADkXwAAME8AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQAA5F8AAFhPAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUAAORfAACATwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJeEVFAADkXwAAqE8AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXlFRQAA5F8AANBPAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lmRUUAAORfAAD4TwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAADkXwAAIFA="); + base64DecodeToExistingUint8Array(bufferView, 20560, "AwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAABnERwDNZ8MACejcAFmDKgCLdsQAphyWAESv3QAZV9EApT4FAAUH/wAzfj8AwjLoAJhP3gC7fTIAJj3DAB5r7wCf+F4ANR86AH/yygDxhx0AfJAhAGokfADVbvoAMC13ABU7QwC1FMYAwxmdAK3EwgAsTUEADABdAIZ9RgDjcS0Am8aaADNiAAC00nwAtKeXADdV1QDXPvYAoxAYAE12/ABknSoAcNerAGN8+AB6sFcAFxXnAMBJVgA71tkAp4Q4ACQjywDWincAWlQjAAAfuQDxChsAGc7fAJ8x/wBmHmoAmVdhAKz7RwB+f9gAImW3ADLoiQDmv2AA78TNAGw2CQBdP9QAFt7XAFg73gDem5IA0iIoACiG6ADiWE0AxsoyAAjjFgDgfcsAF8BQAPMdpwAY4FsALhM0AIMSYgCDSAEA9Y5bAK2wfwAe6fIASEpDABBn0wCq3dgArl9CAGphzgAKKKQA05m0AAam8gBcd38Ao8KDAGE8iACKc3gAr4xaAG/XvQAtpmMA9L/LAI2B7wAmwWcAVcpFAMrZNgAoqNIAwmGNABLJdwAEJhQAEkabAMRZxADIxUQATbKRAAAX8wDUQ60AKUnlAP3VEAAAvvwAHpTMAHDO7gATPvUA7PGAALPnwwDH+CgAkwWUAMFxPgAuCbMAC0XzAIgSnACrIHsALrWfAEeSwgB7Mi8ADFVtAHKnkABr5x8AMcuWAHkWSgBBeeIA9N+JAOiUlwDi5oQAmTGXAIjtawBfXzYAu/0OAEiatABnpGwAcXJCAI1dMgCfFbgAvOUJAI0xJQD3dDkAMAUcAA0MAQBLCGgALO5YAEeqkAB05wIAvdYkAPd9pgBuSHIAnxbvAI6UpgC0kfYA0VNRAM8K8gAgmDMA9Ut+ALJjaADdPl8AQF0DAIWJfwBVUikAN2TAAG3YEAAySDIAW0x1AE5x1ABFVG4ACwnBACr1aQAUZtUAJwedAF0EUAC0O9sA6nbFAIf5FwBJa30AHSe6AJZpKQDGzKwArRRUAJDiagCI2YkALHJQAASkvgB3B5QA8zBwAAD8JwDqcagAZsJJAGTgPQCX3YMAoz+XAEOU/QANhowAMUHeAJI5nQDdcIwAF7fnAAjfOwAVNysAXICgAFqAkwAQEZIAD+jYAGyArwDb/0sAOJAPAFkYdgBipRUAYcu7AMeJuQAQQL0A0vIEAEl1JwDrtvYA2yK7AAoUqgCJJi8AZIN2AAk7MwAOlBoAUTqqAB2jwgCv7a4AXCYSAG3CTQAtepwAwFaXAAM/gwAJ8PYAK0CMAG0xmQA5tAcADCAVANjDWwD1ksQAxq1LAE7KpQCnN80A5qk2AKuSlADdQmgAGWPeAHaM7wBoi1IA/Ns3AK6hqwDfFTEAAK6hAAz72gBkTWYA7QW3ACllMABXVr8AR/86AGr5uQB1vvMAKJPfAKuAMABmjPYABMsVAPoiBgDZ5B0APbOkAFcbjwA2zQkATkLpABO+pAAzI7UA8KoaAE9lqADSwaUACz8PAFt4zQAj+XYAe4sEAIkXcgDGplMAb27iAO/rAACbSlgAxNq3AKpmugB2z88A0QIdALHxLQCMmcEAw613AIZI2gD3XaAAxoD0AKzwLwDd7JoAP1y8ANDebQCQxx8AKtu2AKMlOgAAr5oArVOTALZXBAApLbQAS4B+ANoHpwB2qg4Ae1mhABYSKgDcty0A+uX9AInb/gCJvv0A5HZsAAap/AA+gHAAhW4VAP2H/wAoPgcAYWczACoYhgBNveoAs+evAI9tbgCVZzkAMb9bAITXSAAw3xYAxy1DACVhNQDJcM4AMMu4AL9s/QCkAKIABWzkAFrdoAAhb0cAYhLSALlchABwYUkAa1bgAJlSAQBQVTcAHtW3ADPxxAATbl8AXTDkAIUuqQAdssMAoTI2AAi3pADqsdQAFvchAI9p5AAn/3cADAOAAI1ALQBPzaAAIKWZALOi0wAvXQoAtPlCABHaywB9vtAAm9vBAKsXvQDKooEACGpcAC5VFwAnAFUAfxTwAOEHhgAUC2QAlkGNAIe+3gDa/SoAayW2AHuJNAAF8/4Aub+eAGhqTwBKKqgAT8RaAC34vADXWpgA9MeVAA1NjQAgOqYApFdfABQ/sQCAOJUAzCABAHHdhgDJ3rYAv2D1AE1lEQABB2sAjLCsALLA0ABRVUgAHvsOAJVywwCjBjsAwEA1AAbcewDgRcwATin6ANbKyADo80EAfGTeAJtk2ADZvjEApJfDAHdY1ABp48UA8NoTALo6PABGGEYAVXVfANK99QBuksYArC5dAA5E7QAcPkIAYcSHACn96QDn1vMAInzKAG+RNQAI4MUA/9eNAG5q4gCw/cYAkwjBAHxddABrrbIAzW6dAD5yewDGEWoA98+pAClz3wC1yboAtwBRAOKyDQB0uiQA5X1gAHTYigANFSwAgRgMAH5mlAABKRYAn3p2AP39vgBWRe8A2X42AOzZEwCLurkAxJf8ADGoJwDxbsMAlMU2ANioVgC0qLUAz8wOABKJLQBvVzQALFaJAJnO4wDWILkAa16qAD4qnAARX8wA/QtKAOH0+wCOO20A4oYsAOnUhAD8tKkA7+7RAC41yQAvOWEAOCFEABvZyACB/AoA+0pqAC8c2ABTtIQATpmMAFQizAAqVdwAwMbWAAsZlgAacLgAaZVkACZaYAA/Uu4AfxEPAPS1EQD8y/UANLwtADS87gDoXcwA3V5gAGeOmwCSM+8AyRe4AGFYmwDhV7wAUYPGANg+EADdcUgALRzdAK8YoQAhLEYAWfPXANl6mACeVMAAT4b6AFYG/ADlea4AiSI2ADitIgBnk9wAVeiqAIImOADK55sAUQ2kAJkzsQCp1w4AaQVIAGWy8AB/iKcAiEyXAPnRNgAhkrMAe4JKAJjPIQBAn9wA3EdVAOF0OgBn60IA/p3fAF7UXwB7Z6QAuqx6AFX2ogAriCMAQbpVAFluCAAhKoYAOUeDAInj5gDlntQASftAAP9W6QAcD8oAxVmKAJT6KwDTwcUAD8XPANtargBHxYYAhUNiACGGOwAseZQAEGGHACpMewCALBoAQ78SAIgmkAB4PIkAqMTkAOXbewDEOsIAJvTqAPdnigANkr8AZaMrAD2TsQC9fAsApFHcACfdYwBp4d0AmpQZAKgplQBozigACe20AESfIABOmMoAcIJjAH58IwAPuTIAp/WOABRW5wAh8QgAtZ0qAG9+TQClGVEAtfmrAILf1gCW3WEAFjYCAMQ6nwCDoqEAcu1tADmNegCCuKkAazJcAEYnWwAANO0A0gB3APz0VQABWU0A4HGA"); + base64DecodeToExistingUint8Array(bufferView, 23347, "QPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNRkACgAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQARChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZ"); + base64DecodeToExistingUint8Array(bufferView, 23489, "DgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAO"); + base64DecodeToExistingUint8Array(bufferView, 23547, "DA=="); + base64DecodeToExistingUint8Array(bufferView, 23559, "EwAAAAATAAAAAAkMAAAAAAAMAAAM"); + base64DecodeToExistingUint8Array(bufferView, 23605, "EA=="); + base64DecodeToExistingUint8Array(bufferView, 23617, "DwAAAAQPAAAAAAkQAAAAAAAQAAAQ"); + base64DecodeToExistingUint8Array(bufferView, 23663, "Eg=="); + base64DecodeToExistingUint8Array(bufferView, 23675, "EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa"); + base64DecodeToExistingUint8Array(bufferView, 23730, "GgAAABoaGgAAAAAAAAk="); + base64DecodeToExistingUint8Array(bufferView, 23779, "FA=="); + base64DecodeToExistingUint8Array(bufferView, 23791, "FwAAAAAXAAAAAAkUAAAAAAAUAAAU"); + base64DecodeToExistingUint8Array(bufferView, 23837, "Fg=="); + base64DecodeToExistingUint8Array(bufferView, 23849, "FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGTjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAADGAAAFBdAADoYAAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAADGAAAIBdAAB0XQAATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAAAADGAAALBdAAB0XQAATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UADGAAAOBdAADUXQAATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAAAAAAxgAAAQXgAAdF0AAE4xMF9fY3h4YWJpdjEyOV9fcG9pbnRlcl90b19tZW1iZXJfdHlwZV9pbmZvRQAAAAxgAABEXgAA1F0AAAAAAADEXgAAxgMAAMcDAADIAwAAyQMAAMoDAABOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UADGAAAJxeAAB0XQAAdgAAAIheAADQXgAARG4AAIheAADcXgAAYgAAAIheAADoXgAAYwAAAIheAAD0XgAAaAAAAIheAAAAXwAAYQAAAIheAAAMXwAAcwAAAIheAAAYXwAAdAAAAIheAAAkXwAAaQAAAIheAAAwXwAAagAAAIheAAA8XwAAbAAAAIheAABIXwAAbQAAAIheAABUXwAAeAAAAIheAABgXwAAeQAAAIheAABsXwAAZgAAAIheAAB4XwAAZAAAAIheAACEXwAAAAAAANBfAADGAwAAywMAAMgDAADJAwAAzAMAAE4xMF9fY3h4YWJpdjExNl9fZW51bV90eXBlX2luZm9FAAAAAAxgAACsXwAAdF0AAAAAAACkXQAAxgMAAM0DAADIAwAAyQMAAM4DAADPAwAA0AMAANEDAAAAAAAAVGAAAMYDAADSAwAAyAMAAMkDAADOAwAA0wMAANQDAADVAwAATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAAxgAAAsYAAApF0AAAAAAACwYAAAxgMAANYDAADIAwAAyQMAAM4DAADXAwAA2AMAANkDAABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAAAADGAAAIhgAACkXQAAAAAAAAReAADGAwAA2gMAAMgDAADJAwAA2wMAAFN0OXR5cGVfaW5mbwAAAADkXwAA2GA="); + base64DecodeToExistingUint8Array(bufferView, 24816, "fF8AAEBfAAA0XwAAAAAAANReAAAQYQAAfF8AAHxfAADEYAAADDwAAAAAAADISQAALGEAADRhAAAsYQAA5F8AABw8AADkXwAAJDwAANReAABAXwAA7F4AAOxeAABAXwAA1F4AAEBfAAB8XwAAfF8AAEBfAADUXgAAQF8AAEBfAABAXwAA1F4AAEBfAABAXwAAQF8AAEBfAAA0XwAAQF8AADRfAABAXwAAmF8AAFA8AACYXwAAYDwAAORfAABtPAAAxGAAAJE8AAAAAAAAqGEAAMRgAAC2PAAAAQAAAKhhAACwYQAA1F4AALBhAAA0XwAA1F4AALBhAABYXwAANF8AAFhfAADAYQAABGIAAKhhAABYXwAA5F8AAOc8AAAAAAAA7F4AAKhhAABYXwAANF8AAORfAAACPQAAxGAAAC49AAAAAAAAIGIAAMRgAABbPQAAAQAAACBiAAAoYgAA1F4AAChiAAAsYQ=="); + base64DecodeToExistingUint8Array(bufferView, 25184, "1F4AAChiAABYXwAALGEAAFhfAAA4YgAABGIAACBiAABYXw=="); + base64DecodeToExistingUint8Array(bufferView, 25232, "7F4AACBiAABYXwAALGEAAORfAACJPQAA5F8AAJA9AADkXwAAmT0AAORfAACqPQAA5F8AALw9AADkXwAAyT0AAORfAADTPQAAxGAAAOU9AAAAAAAA0GIAAMRgAAD4PQAAAQAAANBiAADsXgAA2GIAAEBfAADkXwAATz4AAGhgAAAlPgAAAAAAAAIAAADQYgAAAgAAAARjAAACBAAADGAAAAw+AAAMYwAAxGAAAHQ+AAAAAAAALGMAAMRgAACOPgAAAQAAACxjAADUXgAALGMAADhjAAAEYgAAAAAAACxjAADQAgAA0QIAANICAAAAAAAADGMAANMCAADUAgAA1QIAAAAAAADQYgAA1gIAANcCAADVAgAA1F4AAOxeAABAXwAABGIAALxjAAAEYgAA5F8AAKk+AADkXwAA6D4AAMRgAAD8PgAAAAAAAMRjAADEYAAAET8AAAEAAADEYwAAAAAAAHxfAADMYwAAQF8AACxhAAAsYQAAfF8AAGhgAABKPwAAAAAAAAIAAADEYwAAAgAAAARjAAACBAAADGAAAC8/AAAIZAAAxGAAAHY/AAAAAAAAKGQAAMRgAACSPwAAAQAAAChkAADUXgAAKGQAADRkAAAEYgAAAAAAAChkAADYAgAA2QIAANoCAAAAAAAACGQAANsCAADcAgAA1QIAAAAAAADEYwAA3QIAAN4CAADVAgAAfF8AAEBfAAAsYQAALGEAAHxfAADkXwAArz8AAMRgAADDPwAAAAAAALRkAADEYAAA2D8AAAEAAAC0ZAAA1F4AALxkAABAXw=="); + base64DecodeToExistingUint8Array(bufferView, 25840, "1F4AALxkAABAXwAAQF8AAGhgAAAJQAAAAAAAAAIAAAC0ZAAAAgAAAARjAAACBAAADGAAAO4/AAAAZQAA1F4AADhlAABAXwAAxGAAADVAAAAAAAAAIGUAAOxeAAA4ZQAAQF8AAMRgAABRQAAAAQAAACBlAADUXgAAIGUAADhlAAAEYgAAAAAAACBlAADfAgAA4AIAAOECAADiAgAA4wIAAOQCAAAAAAAAAGUAAOUCAADmAgAA5wIAAOgCAADpAgAA6gIAAAAAAAC0ZAAA6wIAAOwCAADnAgAA6AIAAOkCAADqAgAA1F4AAEBfAADUXgAAQF8AAEBfAADkXwAAbkAAAMRgAAB2QAAAAAAAAOhlAADEYAAAf0AAAAEAAADoZQAA1F4AAPBlAABAXwAAQF8AAABm"); + base64DecodeToExistingUint8Array(bufferView, 26160, "1F4AAPBlAABAXwAANF8AAKhi"); + base64DecodeToExistingUint8Array(bufferView, 26192, "1F4AAPBlAAAsYQAAfF8AAKhi"); + base64DecodeToExistingUint8Array(bufferView, 26224, "1F4AAPBlAAAsYQAAfF8AACxhAACoYg=="); + base64DecodeToExistingUint8Array(bufferView, 26256, "1F4AAPBlAAAsYQAALGEAAKhiAADUXgAA8GUAADRhAABoYAAAr0AAAAAAAAACAAAA6GUAAAIAAAAEYwAAAggAAAxgAACfQAAAsGYAAMRgAADPQAAAAAAAANBmAADEYAAA4EAAAAEAAADQZgAA1F4AANBmAADcZgAABGIAAAAAAADQZgAA7QIAAO4CAADvAgAA8AIAAPECAADyAgAA8wIAAPQCAAD1AgAAAAAAALBmAAD2AgAA9wIAANUCAADVAgAA1QIAANUCAADVAgAA1QIAANUC"); + base64DecodeToExistingUint8Array(bufferView, 26480, "1F4AAEBfAAA0XwAAqGIAANReAAAsYQAAfF8AAKhiAADUXgAALGEAAHxfAAAsYQAAqGI="); + base64DecodeToExistingUint8Array(bufferView, 26544, "1F4AACxhAAAsYQAAqGIAANReAAA0YQAA5F8AAPJAAADEYAAA+kAAAAAAAADIZwAAxGAAAANBAAABAAAAyGcAANBnAADsXgAA4GcAACxhAADgZwAAfF8AAOBnAADUXgAA0GcAANBn"); + base64DecodeToExistingUint8Array(bufferView, 26656, "1F4AANBnAADQZwAA0GcAAOxeAADgZwAAyGcAAAAAAADsXgAA4GcAAFBoAACwYgAAxGAAAA1BAAAAAAAAuGIAAORfAAAgQQAAxGAAAClBAAAAAAAAYGgAAMRgAAAzQQAAAQAAAGBoAABoaAAALGEAANReAABoaAAAvGQAANReAABoaAAA8GUAANReAABoaAAAxGgAAGhoAADcaAAA5F8AAEdBAADEYAAAPkEAAAAAAAC8aAAA5F8AAFxBAADEYAAAT0EAAAEAAADUaAAA1F4AAGhoAADEaAAAEGEAAGhoAAAMaQAA5F8AAHZBAADEYAAAZ0EAAAEAAAAEaQAA1F4AAGhoAAAQYQ=="); + base64DecodeToExistingUint8Array(bufferView, 26928, "1F4AAGhoAAB8XwAANF8AADRf"); + base64DecodeToExistingUint8Array(bufferView, 26960, "1F4AAHhoAADYYgAAyGcAANReAAB4aAAAzGMAACxhAAAsYQAA1F4AAGhoAADsXgAA7F4AAHhoAADUXgAAaGgAACxhAAAsYQAAeGgAAORfAACKQQAAxGAAAJNBAAAAAAAAnGkAAMRgAACdQQAAAQAAAJxpAACYYQAAtGkAADRfAAC0aQ=="); + base64DecodeToExistingUint8Array(bufferView, 27104, "7F4AALRpAAA0YQAALGEAAOxeAAC0aQAAUGgAALBiAAA0YQAANF8="); + base64DecodeToExistingUint8Array(bufferView, 27152, "1F4AALRpAADQZwAANGEAADRf"); + base64DecodeToExistingUint8Array(bufferView, 27184, "1F4AALRpAABAagAAfF8AAMRgAACwQQAAAAAAAMBiAADUXgAApGkAAHxfAAB8XwAApGkAAMRgAADEQQAAAAAAADhGAADEYAAA1UEAAAEAAAA4RgAAZGoAAAAAAACcaQAA+AIAAPkCAADVAgAA1QIAANUCAADVAgAA1QIAANUCAACkaQAAdGoAAMRqAADkXwAA+0EAAMRgAADnQQAAAAAAALxqAAA0XwAAdGoAAAAAAADsXgAAdGoAADRhAAAsYQAA7F4AAHRqAABQaAAAsGIAADRhAAA0Xw=="); + base64DecodeToExistingUint8Array(bufferView, 27408, "1F4AAHRqAADQZwAANGEAADRf"); + base64DecodeToExistingUint8Array(bufferView, 27440, "1F4AAHRqAABAagAAfF8AAMRgAAAOQgAAAAAAAHxGAADEYAAAHUIAAAEAAAB8RgAApGkAAFBrAADEagAANF8AAFBr"); + base64DecodeToExistingUint8Array(bufferView, 27520, "7F4AAFBrAAA0YQAALGEAAOxeAABQawAAUGgAALBiAAA0YQAANF8="); + base64DecodeToExistingUint8Array(bufferView, 27568, "1F4AAFBrAADQZwAANGEAADRf"); + base64DecodeToExistingUint8Array(bufferView, 27600, "1F4AAFBrAABAagAAfF8AAMRgAAAtQgAAAAAAAMRGAADEYAAAP0IAAAEAAADERgAA4GsAAKRpAADwawAAxGoAADRfAADwaw=="); + base64DecodeToExistingUint8Array(bufferView, 27680, "1F4AAOBrAAAgYgAANF8AAOxeAADwawAANGEAACxhAADsXgAA8GsAAFBoAACwYgAANGEAADRf"); + base64DecodeToExistingUint8Array(bufferView, 27744, "1F4AAPBrAADQZwAANGEAADRf"); + base64DecodeToExistingUint8Array(bufferView, 27776, "1F4AAPBrAABAagAAfF8AAOxeAADwaw=="); + base64DecodeToExistingUint8Array(bufferView, 27808, "1F4AAOBrAAB8XwAAfF8AANReAADgawAAfF8AAHxfAAAsYQAAfF8AAORfAABaQgAAxGAAAGlCAAAAAAAAyGwAAMRgAAB5QgAAAQAAAMhsAADQbAAA1F4AANBsAAC0aQAAtGkAANBsAADkXwAAikIAAMRgAACVQgAAAAAAAAhtAADEYAAAoUIAAAEAAAAIbQAAmGEAACBtAACkaQAAEG0AANReAAAQbQAA7F4AAOxeAAAgbQAA1F4AABBtAADIYgAAyGIAACBtAADUXgAAEG0AAMRoAAAQbQAA7F4AACBtAAAsYQ=="); + base64DecodeToExistingUint8Array(bufferView, 28048, "7F4AACBtAABQaAAAsGIAADRfAADUXgAAIG0AAEBqAADUXgAAEG0AAHxfAAB8XwAAIG0AAMhnAAAgbQAANF8AANReAAAQbQAANF8AAMRgAAC1QgAAAAAAANRoAADcbQAAxGAAAMFCAAABAAAAvGgAABBtAADEaAAA4GwAAAAAAAAQbQAAxGgAALRpAAB8XwAA1F4AAMRoAAAQbQAAAAAAANReAADEaAAALGEAAHxfAAA0YQAA8G0AACxhAADwbQAAfF8AAPBtAADUXgAAxGgAACxhAADUXgAAxGgAAHxfAADUXgAAxGgAACxhAAAsYQAA7F4="); + base64DecodeToExistingUint8Array(bufferView, 28304, "1F4AAMRoAAAsYQAA7F4AANReAADEaAAAfF8AAOxeAADUXgAA8G0AAEBqAADUXgAAxGgAAMBiAADUXgAAxGgAACxhAADwbQAALGEAANReAADEaAAAoGEAAKBhAADwbQAA1F4AAMRoAADsXgAA7F4AAPBtAAAQbQAAxGgAAGhoAADEaAAAxGAAANdCAAAAAAAABGkAABRvAACYXwAA5UIAANReAAAUbwAAxGgAAMRoAAAUbwAAxGAAAPNCAAABAAAAyEkAAChvAABEbwAAxGgAABBhAAAsYQAARG8AACxhAABEbwAAfF8AAHxfAABEbwAAfF8AAOxeAABEbwAA1F4AABBhAAAMYAAACEMAAARpAADEYAAAHUMAAAAAAACUbwAAxGAAADNDAAABAAAAlG8AAKBvAADEYAAASkMAAAAAAABUSAAAxGAAAF1DAAABAAAAVEgAACxhAADUbwAA1F4AAMRvAAB8XwAAfF8AANRvAADUXgAAxG8AAAxgAABxQwAABGkAAMRgAACDQwAAAAAAAAhwAADEYAAAlkMAAAEAAAAIcAAAFHAAAMRgAACqQwAAAAAAABhKAADEYAAAukMAAAEAAAAYSgAA1F4AADhwAAAsYQAALGEAAEhwAADUXgAAOHAAAHxfAAB8XwAASHAAANReAAA4cAAADGAAAMtDAAAEaQAAxGAAAN1DAAAAAAAAiHAAAMRgAADwQwAAAQAAAIhwAACUcAAAxGAAAAREAAAAAAAAbEoAAMRgAAAURAAAAQAAAGxKAADUXgAAuHAAACxhAAAsYQAAyHAAANReAAC4cAAAfF8AAHxfAADIcAAA1F4AALhwAAAMYAAAJUQAAARpAADEYAAAO0QAAAAAAAAIcQAAxGAAAFJEAAABAAAACHEAABRxAADEYAAAakQAAAAAAAA0SwAAxGAAAH5EAAABAAAANEsAACxhAABIcQAAfF8AAEhxAADsXgAASHEAANReAAA4cQAA7F4AAAAAAADUXgAAOHEAAHxfAAB8XwAA1F4AADhxAAB8XwAAfF8AAEhxAAB8XwAA1F4AADhxAAAMYAAAk0QAAARpAADEYAAAqEQAAAAAAACwcQAAxGAAAL5EAAABAAAAsHEAALxxAADEYAAA1UQAAAAAAADgSwAAxGAAAOhEAAABAAAA4EsAACxhAADwcQAAfF8AAPBxAADsXgAA8HEAANReAADgcQAA7F4="); + base64DecodeToExistingUint8Array(bufferView, 29232, "1F4AAOBxAAB8XwAAfF8AANReAADgcQAAfF8AAHxfAADwcQAAfF8AANReAADgcQAADGAAAPxEAAAEaQAAxGAAAA1FAAAAAAAAYHIAAMRgAAAfRQAAAQAAAGByAABscgAAxGAAADJFAAAAAAAANEwAAMRgAABBRQAAAQAAADRMAAAsYQAAoHIAACxhAACgcgAAfF8AAHxfAACgcgAAfF8AANReAACQcgAAfF8AAHxfAACgcgAA1F4AAJByAAAMYAAAUUUAAARpAADEYAAAYkUAAAAAAADscgAAxGAAAHRFAAABAAAA7HIAAPhyAADEYAAAh0UAAAAAAACITAAAxGAAAJZFAAABAAAAiEwAACxhAAAscwAAfF8AACxzAADUXgAAHHMAAHxfAADUXgAAHHMAAAxgAACmRQAABGkAAMRgAAC4RQAAAAAAAGBzAADEYAAAy0UAAAEAAABgcwAAbHMAAMRgAADfRQAAAAAAANxMAADEYAAA70UAAAEAAADcTAAALGEAAKBzAAB8XwAAoHMAAOxeAACgcwAA1F4AAJBzAADsXgAA1F4AAJBzAAB8XwAAfF8AAKBzAAB8XwAA1F4AAJBzAAACAAAABAAAAAAAAADwTAAAvGUAAAEAAAAAAAAABQ=="); + base64DecodeToExistingUint8Array(bufferView, 29724, "xAM="); + base64DecodeToExistingUint8Array(bufferView, 29748, "vwMAAMUDAAB4eQAAAAQ="); + base64DecodeToExistingUint8Array(bufferView, 29772, "AQ=="); + base64DecodeToExistingUint8Array(bufferView, 29788, "/////wo="); + base64DecodeToExistingUint8Array(bufferView, 29856, "EHQAAACAAQAF"); + base64DecodeToExistingUint8Array(bufferView, 29876, "wQM="); + base64DecodeToExistingUint8Array(bufferView, 29900, "vwMAAL4DAAD0fw=="); + base64DecodeToExistingUint8Array(bufferView, 29924, "Ag=="); + base64DecodeToExistingUint8Array(bufferView, 29940, "//////////8="); + base64DecodeToExistingUint8Array(bufferView, 30008, "qHQ="); +} + + var scratchBuffer = new ArrayBuffer(16); + var i32ScratchView = new Int32Array(scratchBuffer); + var f32ScratchView = new Float32Array(scratchBuffer); + var f64ScratchView = new Float64Array(scratchBuffer); + + function wasm2js_scratch_load_i32(index) { + return i32ScratchView[index]; + } + + function wasm2js_scratch_store_i32(index, value) { + i32ScratchView[index] = value; + } + + function wasm2js_scratch_load_f64() { + return f64ScratchView[0]; + } + + function wasm2js_scratch_store_f64(value) { + f64ScratchView[0] = value; + } + function wasm2js_trap() { throw new Error('abort'); } + + function wasm2js_scratch_store_f32(value) { + f32ScratchView[2] = value; + } + + function wasm2js_scratch_load_f32() { + return f32ScratchView[2]; + } + +function asmFunc(imports) { + var env = imports.env; + var memory = env.memory; + var buffer = memory.buffer; + memory.grow = __wasm_memory_grow; + var HEAP8 = new Int8Array(buffer); + var HEAP16 = new Int16Array(buffer); + var HEAP32 = new Int32Array(buffer); + var HEAPU8 = new Uint8Array(buffer); + var HEAPU16 = new Uint16Array(buffer); + var HEAPU32 = new Uint32Array(buffer); + var HEAPF32 = new Float32Array(buffer); + var HEAPF64 = new Float64Array(buffer); + var Math_imul = Math.imul; + var Math_fround = Math.fround; + var Math_abs = Math.abs; + var Math_clz32 = Math.clz32; + var Math_min = Math.min; + var Math_max = Math.max; + var Math_floor = Math.floor; + var Math_ceil = Math.ceil; + var Math_trunc = Math.trunc; + var Math_sqrt = Math.sqrt; + var _embind_register_class = env._embind_register_class; + var _embind_register_class_class_function = env._embind_register_class_class_function; + var _embind_register_class_property = env._embind_register_class_property; + var _embind_register_constant = env._embind_register_constant; + var _embind_register_function = env._embind_register_function; + var _embind_register_enum = env._embind_register_enum; + var _embind_register_enum_value = env._embind_register_enum_value; + var _embind_register_value_object = env._embind_register_value_object; + var _embind_register_value_object_field = env._embind_register_value_object_field; + var _embind_finalize_value_object = env._embind_finalize_value_object; + var __assert_fail = env.__assert_fail; + var abort = env.abort; + var _embind_register_class_constructor = env._embind_register_class_constructor; + var _embind_register_class_function = env._embind_register_class_function; + var _emval_incref = env._emval_incref; + var _emval_decref = env._emval_decref; + var _emval_take_value = env._emval_take_value; + var _embind_create_inheriting_constructor = env._embind_create_inheriting_constructor; + var _emval_call_void_method = env._emval_call_void_method; + var _emval_get_method_caller = env._emval_get_method_caller; + var _emval_call_method = env._emval_call_method; + var _emval_run_destructors = env._emval_run_destructors; + var _embind_register_void = env._embind_register_void; + var _embind_register_bool = env._embind_register_bool; + var _embind_register_integer = env._embind_register_integer; + var _embind_register_float = env._embind_register_float; + var _embind_register_std_string = env._embind_register_std_string; + var _embind_register_std_wstring = env._embind_register_std_wstring; + var _embind_register_emval = env._embind_register_emval; + var _embind_register_memory_view = env._embind_register_memory_view; + var emscripten_memcpy_big = env.emscripten_memcpy_big; + var __syscall_openat = env.__syscall_openat; + var __syscall_fcntl64 = env.__syscall_fcntl64; + var __syscall_ioctl = env.__syscall_ioctl; + var wasi_snapshot_preview1 = imports.wasi_snapshot_preview1; + var __wasi_fd_write = wasi_snapshot_preview1.fd_write; + var __wasi_fd_read = wasi_snapshot_preview1.fd_read; + var __wasi_fd_close = wasi_snapshot_preview1.fd_close; + var emscripten_resize_heap = env.emscripten_resize_heap; + var legalimport$_embind_register_bigint = env._embind_register_bigint; + var legalimport$__wasi_fd_seek = wasi_snapshot_preview1.fd_seek; + var __stack_pointer = 98304; + var i64toi32_i32$HIGH_BITS = 0; + // EMSCRIPTEN_START_FUNCS +function embind_init_b2_28_29() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = __stack_pointer - 16352 | 0; + __stack_pointer = $0; + void_20emscripten__constant_int__28char_20const__2c_20int_20const__29(10836, 29684); + void_20emscripten__constant_int__28char_20const__2c_20int_20const__29(10822, 29688); + void_20emscripten__constant_int__28char_20const__2c_20int_20const__29(10850, 29692); + HEAP32[$0 + 4316 >> 2] = 8; + void_20emscripten__constant_int__28char_20const__2c_20int_20const__29(3570, $0 + 4316 | 0); + void_20emscripten__function_float_2c_20unsigned_20int_2c_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_2c_20int_29_29(12072, 2); + void_20emscripten__function_void_2c_20b2Joint__2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2Joint__2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(6323, 3); + void_20emscripten__function_b2Vec2_2c_20b2Transform_20const__2c_20b2Vec2_20const__2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Vec2_20_28__29_28b2Transform_20const__2c_20b2Vec2_20const__29_2c_20emscripten__allow_raw_pointers_29(12047, 4); + void_20emscripten__function_void_2c_20unsigned_20int_2c_20bool__28char_20const__2c_20void_20_28__29_28unsigned_20int_2c_20bool_29_29(10246, 5); + void_20emscripten__function_bool_2c_20unsigned_20int__28char_20const__2c_20bool_20_28__29_28unsigned_20int_29_29(7857, 6); + void_20emscripten__function_void_2c_20unsigned_20int_2c_20float__28char_20const__2c_20void_20_28__29_28unsigned_20int_2c_20float_29_29(10303, 7); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(10326, 8); + void_20emscripten__function_void_2c_20unsigned_20int_2c_20float__28char_20const__2c_20void_20_28__29_28unsigned_20int_2c_20float_29_29(6508, 9); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(6527, 10); + void_20emscripten__function_void_2c_20unsigned_20int__28char_20const__2c_20void_20_28__29_28unsigned_20int_29_29(6487, 11); + void_20emscripten__function_void_2c_20unsigned_20int_2c_20float__28char_20const__2c_20void_20_28__29_28unsigned_20int_2c_20float_29_29(6393, 12); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(6415, 13); + void_20emscripten__function_void_2c_20unsigned_20int__28char_20const__2c_20void_20_28__29_28unsigned_20int_29_29(6369, 14); + void_20emscripten__function_unsigned_20int_2c_20unsigned_20int__28char_20const__2c_20unsigned_20int_20_28__29_28unsigned_20int_29_29(11251, 15); + void_20emscripten__function_unsigned_20int_2c_20unsigned_20int__28char_20const__2c_20unsigned_20int_20_28__29_28unsigned_20int_29_29(11044, 16); + void_20emscripten__function_void_2c_20unsigned_20int_2c_20unsigned_20int__28char_20const__2c_20void_20_28__29_28unsigned_20int_2c_20unsigned_20int_29_29(10084, 17); + void_20emscripten__function_unsigned_20int_2c_20unsigned_20int__28char_20const__2c_20unsigned_20int_20_28__29_28unsigned_20int_29_29(10065, 18); + void_20emscripten__function_unsigned_20int_2c_20unsigned_20int__28char_20const__2c_20unsigned_20int_20_28__29_28unsigned_20int_29_29(9245, 19); + void_20emscripten__function_unsigned_20int_2c_20unsigned_20int__28char_20const__2c_20unsigned_20int_20_28__29_28unsigned_20int_29_29(2090, 20); + void_20emscripten__function_unsigned_20int_2c_20unsigned_20int_2c_20int__28char_20const__2c_20unsigned_20int_20_28__29_28unsigned_20int_2c_20int_29_29(3612, 21); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(10712, 22); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(10570, 23); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(10769, 24); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(10627, 25); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(10656, 26); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(10514, 27); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(9063, 28); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(8961, 29); + void_20emscripten__function_unsigned_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20unsigned_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(1794, 30); + void_20emscripten__function_float_2c_20unsigned_20int_2c_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_2c_20int_29_29(10684, 31); + void_20emscripten__function_float_2c_20unsigned_20int_2c_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_2c_20int_29_29(10542, 32); + void_20emscripten__function_float_2c_20unsigned_20int_2c_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_2c_20int_29_29(8875, 33); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(10740, 34); + void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29(10598, 35); + void_20emscripten__function_void_2c_20unsigned_20int__28char_20const__2c_20void_20_28__29_28unsigned_20int_29_29(8907, 36); + void_20emscripten__function_float_2c_20unsigned_20int_2c_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_2c_20int_29_29(9093, 37); + void_20emscripten__function_float_2c_20unsigned_20int_2c_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_2c_20int_29_29(8992, 38); + void_20emscripten__function_int_2c_20unsigned_20int__28char_20const__2c_20int_20_28__29_28unsigned_20int_29_29(2112, 39); + emscripten__enum__b2Shape__Type___enum__28char_20const__29($0 + 4312 | 0, 9282); + emscripten__enum__b2Shape__Type___value_28char_20const__2c_20b2Shape__Type_29(emscripten__enum__b2Shape__Type___value_28char_20const__2c_20b2Shape__Type_29(emscripten__enum__b2Shape__Type___value_28char_20const__2c_20b2Shape__Type_29(emscripten__enum__b2Shape__Type___value_28char_20const__2c_20b2Shape__Type_29(emscripten__enum__b2Shape__Type___value_28char_20const__2c_20b2Shape__Type_29($0 + 4312 | 0, 9608, 0), 9786, 1), 6839, 2), 6912, 3), 2357, 4); + emscripten__enum__b2BodyType___enum__28char_20const__29($0 + 4311 | 0, 9228); + emscripten__enum__b2BodyType___value_28char_20const__2c_20b2BodyType_29(emscripten__enum__b2BodyType___value_28char_20const__2c_20b2BodyType_29(emscripten__enum__b2BodyType___value_28char_20const__2c_20b2BodyType_29($0 + 4311 | 0, 1646, 0), 1660, 1), 1687, 2); + emscripten__class__std____2__vector_int_2c_20std____2__allocator_int___2c_20emscripten__internal__NoBaseClass__20emscripten__register_vector_int__28char_20const__29(3712); + emscripten__value_object_b2Vec2___value_object_28char_20const__29($0 + 4309 | 0, 12067); + emscripten__value_object_b2Vec2___20emscripten__value_object_b2Vec2___field_b2Vec2_2c_20float__28char_20const__2c_20float_20b2Vec2____29(emscripten__value_object_b2Vec2___20emscripten__value_object_b2Vec2___field_b2Vec2_2c_20float__28char_20const__2c_20float_20b2Vec2____29($0 + 4309 | 0, 1792, 0), 1733, 4); + emscripten__value_object_b2Vec2____value_object_28_29($0 + 4309 | 0); + emscripten__class__std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___2c_20emscripten__internal__NoBaseClass__20emscripten__register_vector_b2Vec2__28char_20const__29(3701); + emscripten__value_object_b2Rot___value_object_28char_20const__29($0 + 4307 | 0, 1889); + emscripten__value_object_b2Rot___20emscripten__value_object_b2Rot___field_b2Rot_2c_20float__28char_20const__2c_20float_20b2Rot____29(emscripten__value_object_b2Rot___20emscripten__value_object_b2Rot___field_b2Rot_2c_20float__28char_20const__2c_20float_20b2Rot____29($0 + 4307 | 0, 3587, 0), 10400, 4); + emscripten__value_object_b2Rot____value_object_28_29($0 + 4307 | 0); + emscripten__value_object_b2Transform___value_object_28char_20const__29($0 + 4306 | 0, 6954); + emscripten__value_object_b2Transform___20emscripten__value_object_b2Transform___field_b2Transform_2c_20b2Rot__28char_20const__2c_20b2Rot_20b2Transform____29(emscripten__value_object_b2Transform___20emscripten__value_object_b2Transform___field_b2Transform_2c_20b2Vec2__28char_20const__2c_20b2Vec2_20b2Transform____29($0 + 4306 | 0, 6265, 0), 4098, 8); + emscripten__value_object_b2Transform____value_object_28_29($0 + 4306 | 0); + emscripten__value_object_b2Color___value_object_28char_20const__29($0 + 4305 | 0, 3827); + emscripten__value_object_b2Color___20emscripten__value_object_b2Color___field_b2Color_2c_20float__28char_20const__2c_20float_20b2Color____29(emscripten__value_object_b2Color___20emscripten__value_object_b2Color___field_b2Color_2c_20float__28char_20const__2c_20float_20b2Color____29(emscripten__value_object_b2Color___20emscripten__value_object_b2Color___field_b2Color_2c_20float__28char_20const__2c_20float_20b2Color____29(emscripten__value_object_b2Color___20emscripten__value_object_b2Color___field_b2Color_2c_20float__28char_20const__2c_20float_20b2Color____29($0 + 4305 | 0, 4096, 0), 7873, 4), 10402, 8), 10512, 12); + emscripten__value_object_b2Color____value_object_28_29($0 + 4305 | 0); + emscripten__value_object_b2RayCastInput___value_object_28char_20const__29($0 + 4304 | 0, 1838); + emscripten__value_object_b2RayCastInput___20emscripten__value_object_b2RayCastInput___field_b2RayCastInput_2c_20float__28char_20const__2c_20float_20b2RayCastInput____29(emscripten__value_object_b2RayCastInput___20emscripten__value_object_b2RayCastInput___field_b2RayCastInput_2c_20b2Vec2__28char_20const__2c_20b2Vec2_20b2RayCastInput____29(emscripten__value_object_b2RayCastInput___20emscripten__value_object_b2RayCastInput___field_b2RayCastInput_2c_20b2Vec2__28char_20const__2c_20b2Vec2_20b2RayCastInput____29($0 + 4304 | 0, 12129, 0), 12064, 8), 6606, 16); + emscripten__value_object_b2RayCastInput____value_object_28_29($0 + 4304 | 0); + emscripten__value_object_b2RayCastOutput___value_object_28char_20const__29($0 + 4303 | 0, 1824); + emscripten__value_object_b2RayCastOutput___20emscripten__value_object_b2RayCastOutput___field_b2RayCastOutput_2c_20float__28char_20const__2c_20float_20b2RayCastOutput____29(emscripten__value_object_b2RayCastOutput___20emscripten__value_object_b2RayCastOutput___field_b2RayCastOutput_2c_20b2Vec2__28char_20const__2c_20b2Vec2_20b2RayCastOutput____29($0 + 4303 | 0, 7e3, 0), 6565, 8); + emscripten__value_object_b2RayCastOutput____value_object_28_29($0 + 4303 | 0); + emscripten__value_object_b2MassData___value_object_28char_20const__29($0 + 4302 | 0, 10454); + emscripten__value_object_b2MassData___20emscripten__value_object_b2MassData___field_b2MassData_2c_20float__28char_20const__2c_20float_20b2MassData____29(emscripten__value_object_b2MassData___20emscripten__value_object_b2MassData___field_b2MassData_2c_20b2Vec2__28char_20const__2c_20b2Vec2_20b2MassData____29(emscripten__value_object_b2MassData___20emscripten__value_object_b2MassData___field_b2MassData_2c_20float__28char_20const__2c_20float_20b2MassData____29($0 + 4302 | 0, 3423, 0), 3849, 4), 10878, 12); + emscripten__value_object_b2MassData____value_object_28_29($0 + 4302 | 0); + emscripten__value_object_b2Filter___value_object_28char_20const__29($0 + 4301 | 0, 3951); + emscripten__value_object_b2Filter___20emscripten__value_object_b2Filter___field_b2Filter_2c_20short__28char_20const__2c_20short_20b2Filter____29(emscripten__value_object_b2Filter___20emscripten__value_object_b2Filter___field_b2Filter_2c_20unsigned_20short__28char_20const__2c_20unsigned_20short_20b2Filter____29(emscripten__value_object_b2Filter___20emscripten__value_object_b2Filter___field_b2Filter_2c_20unsigned_20short__28char_20const__2c_20unsigned_20short_20b2Filter____29($0 + 4301 | 0, 3365, 0), 3378, 2), 1754, 4); + emscripten__value_object_b2Filter____value_object_28_29($0 + 4301 | 0); + HEAP32[$0 + 4340 >> 2] = $0 + 4300; + HEAP32[$0 + 4336 >> 2] = 7007; + void_20emscripten__internal__NoBaseClass__verify_b2QueryCallback__28_29(); + HEAP32[$0 + 4332 >> 2] = 40; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2QueryCallback__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 4328 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2QueryCallback__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 4324 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 4320 >> 2] = 41; + $1 = emscripten__internal__TypeID_b2QueryCallback_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2QueryCallback__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2QueryCallback_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 14816 >> 2] = HEAP32[$0 + 4332 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 4332 >> 2]; + HEAP32[$0 + 14812 >> 2] = HEAP32[$0 + 4328 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 4328 >> 2]; + HEAP32[$0 + 14808 >> 2] = HEAP32[$0 + 4324 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 4324 >> 2]; + $11 = HEAP32[$0 + 4336 >> 2]; + HEAP32[$0 + 14820 >> 2] = HEAP32[$0 + 4320 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 4320 >> 2]); + HEAP32[$0 + 4292 >> 2] = 1; + HEAP32[$0 + 4288 >> 2] = 8; + $1 = HEAP32[$0 + 4292 >> 2]; + $2 = HEAP32[$0 + 4288 >> 2]; + HEAP32[$0 + 4344 >> 2] = $2; + HEAP32[$0 + 4348 >> 2] = $1; + $1 = HEAP32[$0 + 4344 >> 2]; + $2 = HEAP32[$0 + 4348 >> 2]; + HEAP32[$0 + 4376 >> 2] = $0 + 4300; + HEAP32[$0 + 4372 >> 2] = 9168; + HEAP32[$0 + 4368 >> 2] = $2; + HEAP32[$0 + 4364 >> 2] = $1; + $3 = HEAP32[$0 + 4376 >> 2]; + $4 = HEAP32[$0 + 4372 >> 2]; + $1 = HEAP32[$0 + 4364 >> 2]; + HEAP32[$0 + 4360 >> 2] = HEAP32[$0 + 4368 >> 2]; + HEAP32[$0 + 4356 >> 2] = $1; + $2 = HEAP32[$0 + 4360 >> 2]; + $1 = HEAP32[$0 + 4356 >> 2]; + HEAP32[$0 + 1976 >> 2] = $1; + HEAP32[$0 + 1980 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2QueryCallback____29_28unsigned_20int_29___invoke_b2QueryCallback_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2QueryCallback____29_28unsigned_20int_29_29($4, $0 + 1976 | 0); + HEAP32[$0 + 4388 >> 2] = $3; + HEAP32[$0 + 4384 >> 2] = 4021; + $1 = HEAP32[$0 + 4388 >> 2]; + $2 = HEAP32[$0 + 4384 >> 2]; + HEAP32[$0 + 14844 >> 2] = $0 + 4383; + HEAP32[$0 + 14840 >> 2] = $2; + void_20emscripten__base_b2QueryCallback___verify_b2QueryCallbackWrapper__28_29(); + HEAP32[$0 + 14836 >> 2] = 42; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2QueryCallback__20_28_emscripten__base_b2QueryCallback___getUpcaster_b2QueryCallbackWrapper__28_29_29_28b2QueryCallbackWrapper__29(), + HEAP32[wasm2js_i32$0 + 14832 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2QueryCallbackWrapper__20_28_emscripten__base_b2QueryCallback___getDowncaster_b2QueryCallbackWrapper__28_29_29_28b2QueryCallback__29(), + HEAP32[wasm2js_i32$0 + 14828 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 14824 >> 2] = 43; + $2 = emscripten__internal__TypeID_b2QueryCallbackWrapper_2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2QueryCallbackWrapper__2c_20void___get_28_29(); + $4 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2QueryCallbackWrapper_20const__2c_20void___get_28_29(); + $5 = emscripten__base_b2QueryCallback___get_28_29(); + HEAP32[$0 + 14900 >> 2] = HEAP32[$0 + 14836 >> 2]; + $6 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $7 = HEAP32[$0 + 14836 >> 2]; + HEAP32[$0 + 14904 >> 2] = HEAP32[$0 + 14832 >> 2]; + $8 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $9 = HEAP32[$0 + 14832 >> 2]; + HEAP32[$0 + 14908 >> 2] = HEAP32[$0 + 14828 >> 2]; + $10 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $11 = HEAP32[$0 + 14828 >> 2]; + $12 = HEAP32[$0 + 14840 >> 2]; + HEAP32[$0 + 14912 >> 2] = HEAP32[$0 + 14824 >> 2]; + _embind_register_class($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, $12 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 14824 >> 2]); + $2 = void_20_28_emscripten__select_overload_void_20_28b2QueryCallbackWrapper__29__28void_20_28__29_28b2QueryCallbackWrapper__29_29_29_28b2QueryCallbackWrapper__29(emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2QueryCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2QueryCallbackWrapper__29__operator_20void_20_28__29_28b2QueryCallbackWrapper__29_28_29_20const($0 + 4382 | 0)); + HEAP32[$0 + 14856 >> 2] = $0 + 4383; + HEAP32[$0 + 14852 >> 2] = 6458; + HEAP32[$0 + 14848 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2QueryCallbackWrapper__29___invoke_b2QueryCallbackWrapper__28char_20const__2c_20void_20_28__29_28b2QueryCallbackWrapper__29_29(HEAP32[$0 + 14852 >> 2], HEAP32[$0 + 14848 >> 2]); + HEAP32[$0 + 14876 >> 2] = $1; + HEAP32[$0 + 14872 >> 2] = 2811; + HEAP32[$0 + 14868 >> 2] = 44; + $1 = HEAP32[$0 + 14876 >> 2]; + HEAP32[$0 + 14860 >> 2] = 45; + $2 = emscripten__internal__TypeID_b2QueryCallback_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 14872 >> 2]; + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2QueryCallbackWrapper__2c_20emscripten__val_____getCount_28_29_20const($0 + 14867 | 0); + $5 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2QueryCallbackWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0 + 14867 | 0); + HEAP32[$0 + 14916 >> 2] = HEAP32[$0 + 14860 >> 2]; + _embind_register_class_class_function($2 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 14860 >> 2], HEAP32[$0 + 14868 >> 2], 0); + HEAP32[$0 + 14896 >> 2] = $1; + HEAP32[$0 + 14892 >> 2] = 10049; + HEAP32[$0 + 14888 >> 2] = 46; + HEAP32[$0 + 14880 >> 2] = 47; + $1 = emscripten__internal__TypeID_b2QueryCallback_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 14892 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($0 + 14887 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($0 + 14887 | 0); + HEAP32[$0 + 14920 >> 2] = HEAP32[$0 + 14880 >> 2]; + _embind_register_class_class_function($1 | 0, $2 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 14880 >> 2], HEAP32[$0 + 14888 >> 2], 0); + HEAP32[$0 + 4412 >> 2] = $0 + 4286; + HEAP32[$0 + 4408 >> 2] = 7021; + void_20emscripten__internal__NoBaseClass__verify_b2RayCastCallback__28_29(); + HEAP32[$0 + 4404 >> 2] = 48; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2RayCastCallback__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 4400 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2RayCastCallback__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 4396 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 4392 >> 2] = 49; + $1 = emscripten__internal__TypeID_b2RayCastCallback_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RayCastCallback__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RayCastCallback_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 14924 >> 2] = HEAP32[$0 + 4404 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 4404 >> 2]; + HEAP32[$0 + 14804 >> 2] = HEAP32[$0 + 4400 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 4400 >> 2]; + HEAP32[$0 + 14800 >> 2] = HEAP32[$0 + 4396 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 4396 >> 2]; + $11 = HEAP32[$0 + 4408 >> 2]; + HEAP32[$0 + 14928 >> 2] = HEAP32[$0 + 4392 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 4392 >> 2]); + HEAP32[$0 + 4280 >> 2] = 1; + HEAP32[$0 + 4276 >> 2] = 8; + $1 = HEAP32[$0 + 4280 >> 2]; + $2 = HEAP32[$0 + 4276 >> 2]; + HEAP32[$0 + 4416 >> 2] = $2; + HEAP32[$0 + 4420 >> 2] = $1; + $1 = HEAP32[$0 + 4416 >> 2]; + $2 = HEAP32[$0 + 4420 >> 2]; + HEAP32[$0 + 4448 >> 2] = $0 + 4286; + HEAP32[$0 + 4444 >> 2] = 9168; + HEAP32[$0 + 4440 >> 2] = $2; + HEAP32[$0 + 4436 >> 2] = $1; + $3 = HEAP32[$0 + 4448 >> 2]; + $4 = HEAP32[$0 + 4444 >> 2]; + $1 = HEAP32[$0 + 4436 >> 2]; + HEAP32[$0 + 4432 >> 2] = HEAP32[$0 + 4440 >> 2]; + HEAP32[$0 + 4428 >> 2] = $1; + $2 = HEAP32[$0 + 4432 >> 2]; + $1 = HEAP32[$0 + 4428 >> 2]; + HEAP32[$0 + 1968 >> 2] = $1; + HEAP32[$0 + 1972 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RayCastCallback____29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29___invoke_b2RayCastCallback_2c_20emscripten__pure_virtual_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28b2RayCastCallback____29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29_29($4, $0 + 1968 | 0); + HEAP32[$0 + 4460 >> 2] = $3; + HEAP32[$0 + 4456 >> 2] = 4042; + $1 = HEAP32[$0 + 4460 >> 2]; + $2 = HEAP32[$0 + 4456 >> 2]; + HEAP32[$0 + 14952 >> 2] = $0 + 4455; + HEAP32[$0 + 14948 >> 2] = $2; + void_20emscripten__base_b2RayCastCallback___verify_b2RayCastCallbackWrapper__28_29(); + HEAP32[$0 + 14944 >> 2] = 50; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2RayCastCallback__20_28_emscripten__base_b2RayCastCallback___getUpcaster_b2RayCastCallbackWrapper__28_29_29_28b2RayCastCallbackWrapper__29(), + HEAP32[wasm2js_i32$0 + 14940 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2RayCastCallbackWrapper__20_28_emscripten__base_b2RayCastCallback___getDowncaster_b2RayCastCallbackWrapper__28_29_29_28b2RayCastCallback__29(), + HEAP32[wasm2js_i32$0 + 14936 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 14932 >> 2] = 51; + $2 = emscripten__internal__TypeID_b2RayCastCallbackWrapper_2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RayCastCallbackWrapper__2c_20void___get_28_29(); + $4 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RayCastCallbackWrapper_20const__2c_20void___get_28_29(); + $5 = emscripten__base_b2RayCastCallback___get_28_29(); + HEAP32[$0 + 15012 >> 2] = HEAP32[$0 + 14944 >> 2]; + $6 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $7 = HEAP32[$0 + 14944 >> 2]; + HEAP32[$0 + 15016 >> 2] = HEAP32[$0 + 14940 >> 2]; + $8 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $9 = HEAP32[$0 + 14940 >> 2]; + HEAP32[$0 + 15020 >> 2] = HEAP32[$0 + 14936 >> 2]; + $10 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $11 = HEAP32[$0 + 14936 >> 2]; + $12 = HEAP32[$0 + 14948 >> 2]; + HEAP32[$0 + 15024 >> 2] = HEAP32[$0 + 14932 >> 2]; + _embind_register_class($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, $12 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 14932 >> 2]); + $2 = void_20_28_emscripten__select_overload_void_20_28b2RayCastCallbackWrapper__29__28void_20_28__29_28b2RayCastCallbackWrapper__29_29_29_28b2RayCastCallbackWrapper__29(emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2RayCastCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2RayCastCallbackWrapper__29__operator_20void_20_28__29_28b2RayCastCallbackWrapper__29_28_29_20const($0 + 4454 | 0)); + HEAP32[$0 + 14964 >> 2] = $0 + 4455; + HEAP32[$0 + 14960 >> 2] = 6458; + HEAP32[$0 + 14956 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2RayCastCallbackWrapper__29___invoke_b2RayCastCallbackWrapper__28char_20const__2c_20void_20_28__29_28b2RayCastCallbackWrapper__29_29(HEAP32[$0 + 14960 >> 2], HEAP32[$0 + 14956 >> 2]); + HEAP32[$0 + 14984 >> 2] = $1; + HEAP32[$0 + 14980 >> 2] = 2811; + HEAP32[$0 + 14976 >> 2] = 52; + $1 = HEAP32[$0 + 14984 >> 2]; + HEAP32[$0 + 14968 >> 2] = 53; + $2 = emscripten__internal__TypeID_b2RayCastCallback_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 14980 >> 2]; + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2RayCastCallbackWrapper__2c_20emscripten__val_____getCount_28_29_20const($0 + 14975 | 0); + $5 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2RayCastCallbackWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0 + 14975 | 0); + HEAP32[$0 + 15028 >> 2] = HEAP32[$0 + 14968 >> 2]; + _embind_register_class_class_function($2 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 14968 >> 2], HEAP32[$0 + 14976 >> 2], 0); + HEAP32[$0 + 15004 >> 2] = $1; + HEAP32[$0 + 15e3 >> 2] = 10049; + HEAP32[$0 + 14996 >> 2] = 54; + HEAP32[$0 + 14988 >> 2] = 47; + $1 = emscripten__internal__TypeID_b2RayCastCallback_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 15e3 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($0 + 14995 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($0 + 14995 | 0); + HEAP32[$0 + 15008 >> 2] = HEAP32[$0 + 14988 >> 2]; + _embind_register_class_class_function($1 | 0, $2 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 14988 >> 2], HEAP32[$0 + 14996 >> 2], 0); + HEAP32[$0 + 4484 >> 2] = $0 + 4274; + HEAP32[$0 + 4480 >> 2] = 4068; + void_20emscripten__internal__NoBaseClass__verify_b2ContactListener__28_29(); + HEAP32[$0 + 4476 >> 2] = 55; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2ContactListener__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 4472 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2ContactListener__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 4468 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 4464 >> 2] = 56; + $1 = emscripten__internal__TypeID_b2ContactListener_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2ContactListener_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 15032 >> 2] = HEAP32[$0 + 4476 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 4476 >> 2]; + HEAP32[$0 + 14796 >> 2] = HEAP32[$0 + 4472 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 4472 >> 2]; + HEAP32[$0 + 14792 >> 2] = HEAP32[$0 + 4468 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 4468 >> 2]; + $11 = HEAP32[$0 + 4480 >> 2]; + HEAP32[$0 + 15036 >> 2] = HEAP32[$0 + 4464 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 4464 >> 2]); + HEAP32[$0 + 4268 >> 2] = 1; + HEAP32[$0 + 4264 >> 2] = 8; + $1 = HEAP32[$0 + 4268 >> 2]; + $2 = HEAP32[$0 + 4264 >> 2]; + HEAP32[$0 + 4520 >> 2] = $2; + HEAP32[$0 + 4524 >> 2] = $1; + $1 = HEAP32[$0 + 4520 >> 2]; + $2 = HEAP32[$0 + 4524 >> 2]; + HEAP32[$0 + 4548 >> 2] = $0 + 4274; + HEAP32[$0 + 4544 >> 2] = 3100; + HEAP32[$0 + 4540 >> 2] = $2; + HEAP32[$0 + 4536 >> 2] = $1; + $3 = HEAP32[$0 + 4548 >> 2]; + $4 = HEAP32[$0 + 4544 >> 2]; + $1 = HEAP32[$0 + 4536 >> 2]; + HEAP32[$0 + 4532 >> 2] = HEAP32[$0 + 4540 >> 2]; + HEAP32[$0 + 4528 >> 2] = $1; + $2 = HEAP32[$0 + 4532 >> 2]; + $1 = HEAP32[$0 + 4528 >> 2]; + HEAP32[$0 + 1960 >> 2] = $1; + HEAP32[$0 + 1964 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2ContactListener____29_28unsigned_20int_29___invoke_b2ContactListener_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2ContactListener____29_28unsigned_20int_29_29($4, $0 + 1960 | 0); + HEAP32[$0 + 4256 >> 2] = 1; + HEAP32[$0 + 4252 >> 2] = 12; + $1 = HEAP32[$0 + 4256 >> 2]; + $2 = HEAP32[$0 + 4252 >> 2]; + HEAP32[$0 + 4488 >> 2] = $2; + HEAP32[$0 + 4492 >> 2] = $1; + $1 = HEAP32[$0 + 4488 >> 2]; + $2 = HEAP32[$0 + 4492 >> 2]; + HEAP32[$0 + 4516 >> 2] = $3; + HEAP32[$0 + 4512 >> 2] = 3202; + HEAP32[$0 + 4508 >> 2] = $2; + HEAP32[$0 + 4504 >> 2] = $1; + $3 = HEAP32[$0 + 4516 >> 2]; + $4 = HEAP32[$0 + 4512 >> 2]; + $1 = HEAP32[$0 + 4504 >> 2]; + HEAP32[$0 + 4500 >> 2] = HEAP32[$0 + 4508 >> 2]; + HEAP32[$0 + 4496 >> 2] = $1; + $2 = HEAP32[$0 + 4500 >> 2]; + $1 = HEAP32[$0 + 4496 >> 2]; + HEAP32[$0 + 1952 >> 2] = $1; + HEAP32[$0 + 1956 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2ContactListener____29_28unsigned_20int_29___invoke_b2ContactListener_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2ContactListener____29_28unsigned_20int_29_29($4, $0 + 1952 | 0); + HEAP32[$0 + 4244 >> 2] = 1; + HEAP32[$0 + 4240 >> 2] = 16; + $1 = HEAP32[$0 + 4244 >> 2]; + $2 = HEAP32[$0 + 4240 >> 2]; + HEAP32[$0 + 4584 >> 2] = $2; + HEAP32[$0 + 4588 >> 2] = $1; + $1 = HEAP32[$0 + 4584 >> 2]; + $2 = HEAP32[$0 + 4588 >> 2]; + HEAP32[$0 + 4612 >> 2] = $3; + HEAP32[$0 + 4608 >> 2] = 8689; + HEAP32[$0 + 4604 >> 2] = $2; + HEAP32[$0 + 4600 >> 2] = $1; + $3 = HEAP32[$0 + 4612 >> 2]; + $4 = HEAP32[$0 + 4608 >> 2]; + $1 = HEAP32[$0 + 4600 >> 2]; + HEAP32[$0 + 4596 >> 2] = HEAP32[$0 + 4604 >> 2]; + HEAP32[$0 + 4592 >> 2] = $1; + $2 = HEAP32[$0 + 4596 >> 2]; + $1 = HEAP32[$0 + 4592 >> 2]; + HEAP32[$0 + 1944 >> 2] = $1; + HEAP32[$0 + 1948 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2ContactListener____29_28unsigned_20int_2c_20unsigned_20int_29___invoke_b2ContactListener_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2ContactListener____29_28unsigned_20int_2c_20unsigned_20int_29_29($4, $0 + 1944 | 0); + HEAP32[$0 + 4232 >> 2] = 1; + HEAP32[$0 + 4228 >> 2] = 20; + $1 = HEAP32[$0 + 4232 >> 2]; + $2 = HEAP32[$0 + 4228 >> 2]; + HEAP32[$0 + 4552 >> 2] = $2; + HEAP32[$0 + 4556 >> 2] = $1; + $1 = HEAP32[$0 + 4552 >> 2]; + $2 = HEAP32[$0 + 4556 >> 2]; + HEAP32[$0 + 4580 >> 2] = $3; + HEAP32[$0 + 4576 >> 2] = 8679; + HEAP32[$0 + 4572 >> 2] = $2; + HEAP32[$0 + 4568 >> 2] = $1; + $3 = HEAP32[$0 + 4580 >> 2]; + $4 = HEAP32[$0 + 4576 >> 2]; + $1 = HEAP32[$0 + 4568 >> 2]; + HEAP32[$0 + 4564 >> 2] = HEAP32[$0 + 4572 >> 2]; + HEAP32[$0 + 4560 >> 2] = $1; + $2 = HEAP32[$0 + 4564 >> 2]; + $1 = HEAP32[$0 + 4560 >> 2]; + HEAP32[$0 + 1936 >> 2] = $1; + HEAP32[$0 + 1940 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2ContactListener____29_28unsigned_20int_2c_20unsigned_20int_29___invoke_b2ContactListener_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2ContactListener____29_28unsigned_20int_2c_20unsigned_20int_29_29($4, $0 + 1936 | 0); + HEAP32[$0 + 4224 >> 2] = 0; + HEAP32[$0 + 4220 >> 2] = 57; + $1 = HEAP32[$0 + 4224 >> 2]; + $2 = HEAP32[$0 + 4220 >> 2]; + HEAP32[$0 + 4648 >> 2] = $2; + HEAP32[$0 + 4652 >> 2] = $1; + $1 = HEAP32[$0 + 4648 >> 2]; + $2 = HEAP32[$0 + 4652 >> 2]; + HEAP32[$0 + 4676 >> 2] = $3; + HEAP32[$0 + 4672 >> 2] = 9184; + HEAP32[$0 + 4668 >> 2] = $2; + HEAP32[$0 + 4664 >> 2] = $1; + $3 = HEAP32[$0 + 4676 >> 2]; + $4 = HEAP32[$0 + 4672 >> 2]; + $1 = HEAP32[$0 + 4664 >> 2]; + HEAP32[$0 + 4660 >> 2] = HEAP32[$0 + 4668 >> 2]; + HEAP32[$0 + 4656 >> 2] = $1; + $2 = HEAP32[$0 + 4660 >> 2]; + $1 = HEAP32[$0 + 4656 >> 2]; + HEAP32[$0 + 1928 >> 2] = $1; + HEAP32[$0 + 1932 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2ContactListenerWrapper____29_28unsigned_20int_29___invoke_b2ContactListener__28char_20const__2c_20void_20_28b2ContactListenerWrapper____29_28unsigned_20int_29_29($4, $0 + 1928 | 0); + HEAP32[$0 + 4216 >> 2] = 0; + HEAP32[$0 + 4212 >> 2] = 58; + $1 = HEAP32[$0 + 4216 >> 2]; + $2 = HEAP32[$0 + 4212 >> 2]; + HEAP32[$0 + 4616 >> 2] = $2; + HEAP32[$0 + 4620 >> 2] = $1; + $1 = HEAP32[$0 + 4616 >> 2]; + $2 = HEAP32[$0 + 4620 >> 2]; + HEAP32[$0 + 4644 >> 2] = $3; + HEAP32[$0 + 4640 >> 2] = 9182; + HEAP32[$0 + 4636 >> 2] = $2; + HEAP32[$0 + 4632 >> 2] = $1; + $3 = HEAP32[$0 + 4644 >> 2]; + $4 = HEAP32[$0 + 4640 >> 2]; + $1 = HEAP32[$0 + 4632 >> 2]; + HEAP32[$0 + 4628 >> 2] = HEAP32[$0 + 4636 >> 2]; + HEAP32[$0 + 4624 >> 2] = $1; + $2 = HEAP32[$0 + 4628 >> 2]; + $1 = HEAP32[$0 + 4624 >> 2]; + HEAP32[$0 + 1920 >> 2] = $1; + HEAP32[$0 + 1924 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2ContactListenerWrapper____29_28unsigned_20int_29___invoke_b2ContactListener__28char_20const__2c_20void_20_28b2ContactListenerWrapper____29_28unsigned_20int_29_29($4, $0 + 1920 | 0); + HEAP32[$0 + 4208 >> 2] = 0; + HEAP32[$0 + 4204 >> 2] = 59; + $1 = HEAP32[$0 + 4208 >> 2]; + $2 = HEAP32[$0 + 4204 >> 2]; + HEAP32[$0 + 4680 >> 2] = $2; + HEAP32[$0 + 4684 >> 2] = $1; + $1 = HEAP32[$0 + 4680 >> 2]; + $2 = HEAP32[$0 + 4684 >> 2]; + HEAP32[$0 + 4712 >> 2] = $3; + HEAP32[$0 + 4708 >> 2] = 8029; + HEAP32[$0 + 4704 >> 2] = $2; + HEAP32[$0 + 4700 >> 2] = $1; + $3 = HEAP32[$0 + 4712 >> 2]; + $4 = HEAP32[$0 + 4708 >> 2]; + $1 = HEAP32[$0 + 4700 >> 2]; + HEAP32[$0 + 4696 >> 2] = HEAP32[$0 + 4704 >> 2]; + HEAP32[$0 + 4692 >> 2] = $1; + $2 = HEAP32[$0 + 4696 >> 2]; + $1 = HEAP32[$0 + 4692 >> 2]; + HEAP32[$0 + 1912 >> 2] = $1; + HEAP32[$0 + 1916 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2ContactListenerWrapper____29_28unsigned_20int_29___invoke_b2ContactListener__28char_20const__2c_20bool_20_28b2ContactListenerWrapper____29_28unsigned_20int_29_29($4, $0 + 1912 | 0); + HEAP32[$0 + 4724 >> 2] = $3; + HEAP32[$0 + 4720 >> 2] = 3998; + $1 = HEAP32[$0 + 4724 >> 2]; + $2 = HEAP32[$0 + 4720 >> 2]; + HEAP32[$0 + 15060 >> 2] = $0 + 4719; + HEAP32[$0 + 15056 >> 2] = $2; + void_20emscripten__base_b2ContactListener___verify_b2ContactListenerWrapper__28_29(); + HEAP32[$0 + 15052 >> 2] = 60; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2ContactListener__20_28_emscripten__base_b2ContactListener___getUpcaster_b2ContactListenerWrapper__28_29_29_28b2ContactListenerWrapper__29(), + HEAP32[wasm2js_i32$0 + 15048 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2ContactListenerWrapper__20_28_emscripten__base_b2ContactListener___getDowncaster_b2ContactListenerWrapper__28_29_29_28b2ContactListener__29(), + HEAP32[wasm2js_i32$0 + 15044 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 15040 >> 2] = 61; + $2 = emscripten__internal__TypeID_b2ContactListenerWrapper_2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20void___get_28_29(); + $4 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper_20const__2c_20void___get_28_29(); + $5 = emscripten__base_b2ContactListener___get_28_29(); + HEAP32[$0 + 15120 >> 2] = HEAP32[$0 + 15052 >> 2]; + $6 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $7 = HEAP32[$0 + 15052 >> 2]; + HEAP32[$0 + 15124 >> 2] = HEAP32[$0 + 15048 >> 2]; + $8 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $9 = HEAP32[$0 + 15048 >> 2]; + HEAP32[$0 + 15128 >> 2] = HEAP32[$0 + 15044 >> 2]; + $10 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $11 = HEAP32[$0 + 15044 >> 2]; + $12 = HEAP32[$0 + 15056 >> 2]; + HEAP32[$0 + 15132 >> 2] = HEAP32[$0 + 15040 >> 2]; + _embind_register_class($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, $12 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 15040 >> 2]); + $2 = void_20_28_emscripten__select_overload_void_20_28b2ContactListenerWrapper__29__28void_20_28__29_28b2ContactListenerWrapper__29_29_29_28b2ContactListenerWrapper__29(emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2ContactListenerWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2ContactListenerWrapper__29__operator_20void_20_28__29_28b2ContactListenerWrapper__29_28_29_20const($0 + 4718 | 0)); + HEAP32[$0 + 15072 >> 2] = $0 + 4719; + HEAP32[$0 + 15068 >> 2] = 6458; + HEAP32[$0 + 15064 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2ContactListenerWrapper__29___invoke_b2ContactListenerWrapper__28char_20const__2c_20void_20_28__29_28b2ContactListenerWrapper__29_29(HEAP32[$0 + 15068 >> 2], HEAP32[$0 + 15064 >> 2]); + HEAP32[$0 + 15092 >> 2] = $1; + HEAP32[$0 + 15088 >> 2] = 2811; + HEAP32[$0 + 15084 >> 2] = 62; + $1 = HEAP32[$0 + 15092 >> 2]; + HEAP32[$0 + 15076 >> 2] = 63; + $2 = emscripten__internal__TypeID_b2ContactListener_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 15088 >> 2]; + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2ContactListenerWrapper__2c_20emscripten__val_____getCount_28_29_20const($0 + 15083 | 0); + $5 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2ContactListenerWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0 + 15083 | 0); + HEAP32[$0 + 15136 >> 2] = HEAP32[$0 + 15076 >> 2]; + _embind_register_class_class_function($2 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 15076 >> 2], HEAP32[$0 + 15084 >> 2], 0); + HEAP32[$0 + 15112 >> 2] = $1; + HEAP32[$0 + 15108 >> 2] = 10049; + HEAP32[$0 + 15104 >> 2] = 64; + HEAP32[$0 + 15096 >> 2] = 47; + $1 = emscripten__internal__TypeID_b2ContactListener_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 15108 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($0 + 15103 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($0 + 15103 | 0); + HEAP32[$0 + 15116 >> 2] = HEAP32[$0 + 15096 >> 2]; + _embind_register_class_class_function($1 | 0, $2 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 15096 >> 2], HEAP32[$0 + 15104 >> 2], 0); + HEAP32[$0 + 4748 >> 2] = $0 + 4202; + HEAP32[$0 + 4744 >> 2] = 1819; + void_20emscripten__internal__NoBaseClass__verify_b2Draw__28_29(); + HEAP32[$0 + 4740 >> 2] = 65; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2Draw__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 4736 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2Draw__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 4732 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 4728 >> 2] = 66; + $1 = emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Draw__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Draw_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 15140 >> 2] = HEAP32[$0 + 4740 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 4740 >> 2]; + HEAP32[$0 + 14788 >> 2] = HEAP32[$0 + 4736 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 4736 >> 2]; + HEAP32[$0 + 14784 >> 2] = HEAP32[$0 + 4732 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 4732 >> 2]; + $11 = HEAP32[$0 + 4744 >> 2]; + HEAP32[$0 + 15144 >> 2] = HEAP32[$0 + 4728 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 4728 >> 2]); + HEAP32[$0 + 4196 >> 2] = 0; + HEAP32[$0 + 4192 >> 2] = 67; + $1 = HEAP32[$0 + 4196 >> 2]; + $2 = HEAP32[$0 + 4192 >> 2]; + HEAP32[$0 + 4816 >> 2] = $2; + HEAP32[$0 + 4820 >> 2] = $1; + $1 = HEAP32[$0 + 4816 >> 2]; + $2 = HEAP32[$0 + 4820 >> 2]; + HEAP32[$0 + 4844 >> 2] = $0 + 4202; + HEAP32[$0 + 4840 >> 2] = 3481; + HEAP32[$0 + 4836 >> 2] = $2; + HEAP32[$0 + 4832 >> 2] = $1; + $3 = HEAP32[$0 + 4844 >> 2]; + $4 = HEAP32[$0 + 4840 >> 2]; + $1 = HEAP32[$0 + 4832 >> 2]; + HEAP32[$0 + 4828 >> 2] = HEAP32[$0 + 4836 >> 2]; + HEAP32[$0 + 4824 >> 2] = $1; + $2 = HEAP32[$0 + 4828 >> 2]; + $1 = HEAP32[$0 + 4824 >> 2]; + HEAP32[$0 + 1904 >> 2] = $1; + HEAP32[$0 + 1908 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28unsigned_20int_29___invoke_b2Draw__28char_20const__2c_20void_20_28b2Draw____29_28unsigned_20int_29_29($4, $0 + 1904 | 0); + HEAP32[$0 + 4188 >> 2] = 0; + HEAP32[$0 + 4184 >> 2] = 68; + $1 = HEAP32[$0 + 4188 >> 2]; + $2 = HEAP32[$0 + 4184 >> 2]; + HEAP32[$0 + 4848 >> 2] = $2; + HEAP32[$0 + 4852 >> 2] = $1; + $1 = HEAP32[$0 + 4848 >> 2]; + $2 = HEAP32[$0 + 4852 >> 2]; + HEAP32[$0 + 4876 >> 2] = $3; + HEAP32[$0 + 4872 >> 2] = 3490; + HEAP32[$0 + 4868 >> 2] = $2; + HEAP32[$0 + 4864 >> 2] = $1; + $3 = HEAP32[$0 + 4876 >> 2]; + $4 = HEAP32[$0 + 4872 >> 2]; + $1 = HEAP32[$0 + 4864 >> 2]; + HEAP32[$0 + 4860 >> 2] = HEAP32[$0 + 4868 >> 2]; + HEAP32[$0 + 4856 >> 2] = $1; + $2 = HEAP32[$0 + 4860 >> 2]; + $1 = HEAP32[$0 + 4856 >> 2]; + HEAP32[$0 + 1896 >> 2] = $1; + HEAP32[$0 + 1900 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_unsigned_20int_20_28b2Draw____29_28_29_20const___invoke_b2Draw__28char_20const__2c_20unsigned_20int_20_28b2Draw____29_28_29_20const_29($4, $0 + 1896 | 0); + HEAP32[$0 + 4180 >> 2] = 0; + HEAP32[$0 + 4176 >> 2] = 69; + $1 = HEAP32[$0 + 4180 >> 2]; + $2 = HEAP32[$0 + 4176 >> 2]; + HEAP32[$0 + 4784 >> 2] = $2; + HEAP32[$0 + 4788 >> 2] = $1; + $1 = HEAP32[$0 + 4784 >> 2]; + $2 = HEAP32[$0 + 4788 >> 2]; + HEAP32[$0 + 4812 >> 2] = $3; + HEAP32[$0 + 4808 >> 2] = 3510; + HEAP32[$0 + 4804 >> 2] = $2; + HEAP32[$0 + 4800 >> 2] = $1; + $3 = HEAP32[$0 + 4812 >> 2]; + $4 = HEAP32[$0 + 4808 >> 2]; + $1 = HEAP32[$0 + 4800 >> 2]; + HEAP32[$0 + 4796 >> 2] = HEAP32[$0 + 4804 >> 2]; + HEAP32[$0 + 4792 >> 2] = $1; + $2 = HEAP32[$0 + 4796 >> 2]; + $1 = HEAP32[$0 + 4792 >> 2]; + HEAP32[$0 + 1888 >> 2] = $1; + HEAP32[$0 + 1892 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28unsigned_20int_29___invoke_b2Draw__28char_20const__2c_20void_20_28b2Draw____29_28unsigned_20int_29_29($4, $0 + 1888 | 0); + HEAP32[$0 + 4172 >> 2] = 0; + HEAP32[$0 + 4168 >> 2] = 70; + $1 = HEAP32[$0 + 4172 >> 2]; + $2 = HEAP32[$0 + 4168 >> 2]; + HEAP32[$0 + 4752 >> 2] = $2; + HEAP32[$0 + 4756 >> 2] = $1; + $1 = HEAP32[$0 + 4752 >> 2]; + $2 = HEAP32[$0 + 4756 >> 2]; + HEAP32[$0 + 4780 >> 2] = $3; + HEAP32[$0 + 4776 >> 2] = 3499; + HEAP32[$0 + 4772 >> 2] = $2; + HEAP32[$0 + 4768 >> 2] = $1; + $3 = HEAP32[$0 + 4780 >> 2]; + $4 = HEAP32[$0 + 4776 >> 2]; + $1 = HEAP32[$0 + 4768 >> 2]; + HEAP32[$0 + 4764 >> 2] = HEAP32[$0 + 4772 >> 2]; + HEAP32[$0 + 4760 >> 2] = $1; + $2 = HEAP32[$0 + 4764 >> 2]; + $1 = HEAP32[$0 + 4760 >> 2]; + HEAP32[$0 + 1880 >> 2] = $1; + HEAP32[$0 + 1884 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28unsigned_20int_29___invoke_b2Draw__28char_20const__2c_20void_20_28b2Draw____29_28unsigned_20int_29_29($4, $0 + 1880 | 0); + HEAP32[$0 + 4160 >> 2] = 1; + HEAP32[$0 + 4156 >> 2] = 8; + $1 = HEAP32[$0 + 4160 >> 2]; + $2 = HEAP32[$0 + 4156 >> 2]; + HEAP32[$0 + 4912 >> 2] = $2; + HEAP32[$0 + 4916 >> 2] = $1; + $1 = HEAP32[$0 + 4912 >> 2]; + $2 = HEAP32[$0 + 4916 >> 2]; + HEAP32[$0 + 4940 >> 2] = $3; + HEAP32[$0 + 4936 >> 2] = 6849; + HEAP32[$0 + 4932 >> 2] = $2; + HEAP32[$0 + 4928 >> 2] = $1; + $3 = HEAP32[$0 + 4940 >> 2]; + $4 = HEAP32[$0 + 4936 >> 2]; + $1 = HEAP32[$0 + 4928 >> 2]; + HEAP32[$0 + 4924 >> 2] = HEAP32[$0 + 4932 >> 2]; + HEAP32[$0 + 4920 >> 2] = $1; + $2 = HEAP32[$0 + 4924 >> 2]; + $1 = HEAP32[$0 + 4920 >> 2]; + HEAP32[$0 + 1872 >> 2] = $1; + HEAP32[$0 + 1876 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29_29($4, $0 + 1872 | 0); + HEAP32[$0 + 4148 >> 2] = 1; + HEAP32[$0 + 4144 >> 2] = 12; + $1 = HEAP32[$0 + 4148 >> 2]; + $2 = HEAP32[$0 + 4144 >> 2]; + HEAP32[$0 + 4880 >> 2] = $2; + HEAP32[$0 + 4884 >> 2] = $1; + $1 = HEAP32[$0 + 4880 >> 2]; + $2 = HEAP32[$0 + 4884 >> 2]; + HEAP32[$0 + 4908 >> 2] = $3; + HEAP32[$0 + 4904 >> 2] = 6861; + HEAP32[$0 + 4900 >> 2] = $2; + HEAP32[$0 + 4896 >> 2] = $1; + $3 = HEAP32[$0 + 4908 >> 2]; + $4 = HEAP32[$0 + 4904 >> 2]; + $1 = HEAP32[$0 + 4896 >> 2]; + HEAP32[$0 + 4892 >> 2] = HEAP32[$0 + 4900 >> 2]; + HEAP32[$0 + 4888 >> 2] = $1; + $2 = HEAP32[$0 + 4892 >> 2]; + $1 = HEAP32[$0 + 4888 >> 2]; + HEAP32[$0 + 1864 >> 2] = $1; + HEAP32[$0 + 1868 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29_29($4, $0 + 1864 | 0); + HEAP32[$0 + 4136 >> 2] = 1; + HEAP32[$0 + 4132 >> 2] = 16; + $1 = HEAP32[$0 + 4136 >> 2]; + $2 = HEAP32[$0 + 4132 >> 2]; + HEAP32[$0 + 4976 >> 2] = $2; + HEAP32[$0 + 4980 >> 2] = $1; + $1 = HEAP32[$0 + 4976 >> 2]; + $2 = HEAP32[$0 + 4980 >> 2]; + HEAP32[$0 + 5004 >> 2] = $3; + HEAP32[$0 + 5e3 >> 2] = 9617; + HEAP32[$0 + 4996 >> 2] = $2; + HEAP32[$0 + 4992 >> 2] = $1; + $3 = HEAP32[$0 + 5004 >> 2]; + $4 = HEAP32[$0 + 5e3 >> 2]; + $1 = HEAP32[$0 + 4992 >> 2]; + HEAP32[$0 + 4988 >> 2] = HEAP32[$0 + 4996 >> 2]; + HEAP32[$0 + 4984 >> 2] = $1; + $2 = HEAP32[$0 + 4988 >> 2]; + $1 = HEAP32[$0 + 4984 >> 2]; + HEAP32[$0 + 1856 >> 2] = $1; + HEAP32[$0 + 1860 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29_29($4, $0 + 1856 | 0); + HEAP32[$0 + 4124 >> 2] = 1; + HEAP32[$0 + 4120 >> 2] = 20; + $1 = HEAP32[$0 + 4124 >> 2]; + $2 = HEAP32[$0 + 4120 >> 2]; + HEAP32[$0 + 5008 >> 2] = $2; + HEAP32[$0 + 5012 >> 2] = $1; + $1 = HEAP32[$0 + 5008 >> 2]; + $2 = HEAP32[$0 + 5012 >> 2]; + HEAP32[$0 + 5036 >> 2] = $3; + HEAP32[$0 + 5032 >> 2] = 9651; + HEAP32[$0 + 5028 >> 2] = $2; + HEAP32[$0 + 5024 >> 2] = $1; + $3 = HEAP32[$0 + 5036 >> 2]; + $4 = HEAP32[$0 + 5032 >> 2]; + $1 = HEAP32[$0 + 5024 >> 2]; + HEAP32[$0 + 5020 >> 2] = HEAP32[$0 + 5028 >> 2]; + HEAP32[$0 + 5016 >> 2] = $1; + $2 = HEAP32[$0 + 5020 >> 2]; + $1 = HEAP32[$0 + 5016 >> 2]; + HEAP32[$0 + 1848 >> 2] = $1; + HEAP32[$0 + 1852 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29_29($4, $0 + 1848 | 0); + HEAP32[$0 + 4112 >> 2] = 1; + HEAP32[$0 + 4108 >> 2] = 24; + $1 = HEAP32[$0 + 4112 >> 2]; + $2 = HEAP32[$0 + 4108 >> 2]; + HEAP32[$0 + 5040 >> 2] = $2; + HEAP32[$0 + 5044 >> 2] = $1; + $1 = HEAP32[$0 + 5040 >> 2]; + $2 = HEAP32[$0 + 5044 >> 2]; + HEAP32[$0 + 5068 >> 2] = $3; + HEAP32[$0 + 5064 >> 2] = 2799; + HEAP32[$0 + 5060 >> 2] = $2; + HEAP32[$0 + 5056 >> 2] = $1; + $3 = HEAP32[$0 + 5068 >> 2]; + $4 = HEAP32[$0 + 5064 >> 2]; + $1 = HEAP32[$0 + 5056 >> 2]; + HEAP32[$0 + 5052 >> 2] = HEAP32[$0 + 5060 >> 2]; + HEAP32[$0 + 5048 >> 2] = $1; + $2 = HEAP32[$0 + 5052 >> 2]; + $1 = HEAP32[$0 + 5048 >> 2]; + HEAP32[$0 + 1840 >> 2] = $1; + HEAP32[$0 + 1844 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_29($4, $0 + 1840 | 0); + HEAP32[$0 + 4100 >> 2] = 1; + HEAP32[$0 + 4096 >> 2] = 28; + $1 = HEAP32[$0 + 4100 >> 2]; + $2 = HEAP32[$0 + 4096 >> 2]; + HEAP32[$0 + 5072 >> 2] = $2; + HEAP32[$0 + 5076 >> 2] = $1; + $1 = HEAP32[$0 + 5072 >> 2]; + $2 = HEAP32[$0 + 5076 >> 2]; + HEAP32[$0 + 5100 >> 2] = $3; + HEAP32[$0 + 5096 >> 2] = 6924; + HEAP32[$0 + 5092 >> 2] = $2; + HEAP32[$0 + 5088 >> 2] = $1; + $3 = HEAP32[$0 + 5100 >> 2]; + $4 = HEAP32[$0 + 5096 >> 2]; + $1 = HEAP32[$0 + 5088 >> 2]; + HEAP32[$0 + 5084 >> 2] = HEAP32[$0 + 5092 >> 2]; + HEAP32[$0 + 5080 >> 2] = $1; + $2 = HEAP32[$0 + 5084 >> 2]; + $1 = HEAP32[$0 + 5080 >> 2]; + HEAP32[$0 + 1832 >> 2] = $1; + HEAP32[$0 + 1836 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28b2Transform_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28b2Transform_20const__29_29($4, $0 + 1832 | 0); + HEAP32[$0 + 4088 >> 2] = 1; + HEAP32[$0 + 4084 >> 2] = 32; + $1 = HEAP32[$0 + 4088 >> 2]; + $2 = HEAP32[$0 + 4084 >> 2]; + HEAP32[$0 + 4944 >> 2] = $2; + HEAP32[$0 + 4948 >> 2] = $1; + $1 = HEAP32[$0 + 4944 >> 2]; + $2 = HEAP32[$0 + 4948 >> 2]; + HEAP32[$0 + 4972 >> 2] = $3; + HEAP32[$0 + 4968 >> 2] = 2399; + HEAP32[$0 + 4964 >> 2] = $2; + HEAP32[$0 + 4960 >> 2] = $1; + $3 = HEAP32[$0 + 4972 >> 2]; + $4 = HEAP32[$0 + 4968 >> 2]; + $1 = HEAP32[$0 + 4960 >> 2]; + HEAP32[$0 + 4956 >> 2] = HEAP32[$0 + 4964 >> 2]; + HEAP32[$0 + 4952 >> 2] = $1; + $2 = HEAP32[$0 + 4956 >> 2]; + $1 = HEAP32[$0 + 4952 >> 2]; + HEAP32[$0 + 1824 >> 2] = $1; + HEAP32[$0 + 1828 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29_29($4, $0 + 1824 | 0); + HEAP32[$0 + 5112 >> 2] = $3; + HEAP32[$0 + 5108 >> 2] = 3986; + $1 = HEAP32[$0 + 5112 >> 2]; + $2 = HEAP32[$0 + 5108 >> 2]; + HEAP32[$0 + 15168 >> 2] = $0 + 5107; + HEAP32[$0 + 15164 >> 2] = $2; + void_20emscripten__base_b2Draw___verify_b2DrawWrapper__28_29(); + HEAP32[$0 + 15160 >> 2] = 71; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Draw__20_28_emscripten__base_b2Draw___getUpcaster_b2DrawWrapper__28_29_29_28b2DrawWrapper__29(), + HEAP32[wasm2js_i32$0 + 15156 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2DrawWrapper__20_28_emscripten__base_b2Draw___getDowncaster_b2DrawWrapper__28_29_29_28b2Draw__29(), + HEAP32[wasm2js_i32$0 + 15152 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 15148 >> 2] = 72; + $2 = emscripten__internal__TypeID_b2DrawWrapper_2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DrawWrapper__2c_20void___get_28_29(); + $4 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DrawWrapper_20const__2c_20void___get_28_29(); + $5 = emscripten__base_b2Draw___get_28_29(); + HEAP32[$0 + 15228 >> 2] = HEAP32[$0 + 15160 >> 2]; + $6 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $7 = HEAP32[$0 + 15160 >> 2]; + HEAP32[$0 + 15232 >> 2] = HEAP32[$0 + 15156 >> 2]; + $8 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $9 = HEAP32[$0 + 15156 >> 2]; + HEAP32[$0 + 15236 >> 2] = HEAP32[$0 + 15152 >> 2]; + $10 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $11 = HEAP32[$0 + 15152 >> 2]; + $12 = HEAP32[$0 + 15164 >> 2]; + HEAP32[$0 + 15240 >> 2] = HEAP32[$0 + 15148 >> 2]; + _embind_register_class($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, $12 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 15148 >> 2]); + $2 = void_20_28_emscripten__select_overload_void_20_28b2DrawWrapper__29__28void_20_28__29_28b2DrawWrapper__29_29_29_28b2DrawWrapper__29(emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2DrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2DrawWrapper__29__operator_20void_20_28__29_28b2DrawWrapper__29_28_29_20const($0 + 5106 | 0)); + HEAP32[$0 + 15180 >> 2] = $0 + 5107; + HEAP32[$0 + 15176 >> 2] = 6458; + HEAP32[$0 + 15172 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2DrawWrapper__29___invoke_b2DrawWrapper__28char_20const__2c_20void_20_28__29_28b2DrawWrapper__29_29(HEAP32[$0 + 15176 >> 2], HEAP32[$0 + 15172 >> 2]); + HEAP32[$0 + 15200 >> 2] = $1; + HEAP32[$0 + 15196 >> 2] = 2811; + HEAP32[$0 + 15192 >> 2] = 73; + $1 = HEAP32[$0 + 15200 >> 2]; + HEAP32[$0 + 15184 >> 2] = 74; + $2 = emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 15196 >> 2]; + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2DrawWrapper__2c_20emscripten__val_____getCount_28_29_20const($0 + 15191 | 0); + $5 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2DrawWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0 + 15191 | 0); + HEAP32[$0 + 15244 >> 2] = HEAP32[$0 + 15184 >> 2]; + _embind_register_class_class_function($2 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 15184 >> 2], HEAP32[$0 + 15192 >> 2], 0); + HEAP32[$0 + 15220 >> 2] = $1; + HEAP32[$0 + 15216 >> 2] = 10049; + HEAP32[$0 + 15212 >> 2] = 75; + HEAP32[$0 + 15204 >> 2] = 47; + $1 = emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 15216 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($0 + 15211 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($0 + 15211 | 0); + HEAP32[$0 + 15224 >> 2] = HEAP32[$0 + 15204 >> 2]; + _embind_register_class_class_function($1 | 0, $2 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 15204 >> 2], HEAP32[$0 + 15212 >> 2], 0); + HEAP32[$0 + 5136 >> 2] = $0 + 4082; + HEAP32[$0 + 5132 >> 2] = 11099; + void_20emscripten__internal__NoBaseClass__verify_b2AABB__28_29(); + HEAP32[$0 + 5128 >> 2] = 76; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2AABB__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 5124 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2AABB__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 5120 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 5116 >> 2] = 77; + $1 = emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2AABB__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 15248 >> 2] = HEAP32[$0 + 5128 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 5128 >> 2]; + HEAP32[$0 + 14780 >> 2] = HEAP32[$0 + 5124 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 5124 >> 2]; + HEAP32[$0 + 14776 >> 2] = HEAP32[$0 + 5120 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 5120 >> 2]; + $11 = HEAP32[$0 + 5132 >> 2]; + HEAP32[$0 + 15252 >> 2] = HEAP32[$0 + 5116 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 5116 >> 2]); + HEAP32[$0 + 5140 >> 2] = $0 + 4082; + HEAP32[$0 + 15260 >> 2] = HEAP32[$0 + 5140 >> 2]; + HEAP32[$0 + 15256 >> 2] = 78; + $3 = HEAP32[$0 + 15260 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2AABB__20_28__29_28_29___invoke_b2AABB__28b2AABB__20_28__29_28_29_29(HEAP32[$0 + 15256 >> 2]); + HEAP32[$0 + 4076 >> 2] = 0; + HEAP32[$0 + 4072 >> 2] = 79; + $1 = HEAP32[$0 + 4076 >> 2]; + $2 = HEAP32[$0 + 4072 >> 2]; + HEAP32[$0 + 5144 >> 2] = $2; + HEAP32[$0 + 5148 >> 2] = $1; + $1 = HEAP32[$0 + 5144 >> 2]; + $2 = HEAP32[$0 + 5148 >> 2]; + HEAP32[$0 + 5172 >> 2] = $3; + HEAP32[$0 + 5168 >> 2] = 10129; + HEAP32[$0 + 5164 >> 2] = $2; + HEAP32[$0 + 5160 >> 2] = $1; + $3 = HEAP32[$0 + 5172 >> 2]; + $4 = HEAP32[$0 + 5168 >> 2]; + $1 = HEAP32[$0 + 5160 >> 2]; + HEAP32[$0 + 5156 >> 2] = HEAP32[$0 + 5164 >> 2]; + HEAP32[$0 + 5152 >> 2] = $1; + $2 = HEAP32[$0 + 5156 >> 2]; + $1 = HEAP32[$0 + 5152 >> 2]; + HEAP32[$0 + 1816 >> 2] = $1; + HEAP32[$0 + 1820 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2AABB____29_28_29_20const___invoke_b2AABB__28char_20const__2c_20bool_20_28b2AABB____29_28_29_20const_29($4, $0 + 1816 | 0); + HEAP32[$0 + 4068 >> 2] = 0; + HEAP32[$0 + 4064 >> 2] = 80; + $1 = HEAP32[$0 + 4068 >> 2]; + $2 = HEAP32[$0 + 4064 >> 2]; + HEAP32[$0 + 5208 >> 2] = $2; + HEAP32[$0 + 5212 >> 2] = $1; + $1 = HEAP32[$0 + 5208 >> 2]; + $2 = HEAP32[$0 + 5212 >> 2]; + HEAP32[$0 + 5236 >> 2] = $3; + HEAP32[$0 + 5232 >> 2] = 3856; + HEAP32[$0 + 5228 >> 2] = $2; + HEAP32[$0 + 5224 >> 2] = $1; + $3 = HEAP32[$0 + 5236 >> 2]; + $4 = HEAP32[$0 + 5232 >> 2]; + $1 = HEAP32[$0 + 5224 >> 2]; + HEAP32[$0 + 5220 >> 2] = HEAP32[$0 + 5228 >> 2]; + HEAP32[$0 + 5216 >> 2] = $1; + $2 = HEAP32[$0 + 5220 >> 2]; + $1 = HEAP32[$0 + 5216 >> 2]; + HEAP32[$0 + 1808 >> 2] = $1; + HEAP32[$0 + 1812 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2AABB____29_28_29_20const___invoke_b2AABB__28char_20const__2c_20b2Vec2_20_28b2AABB____29_28_29_20const_29($4, $0 + 1808 | 0); + HEAP32[$0 + 4060 >> 2] = 0; + HEAP32[$0 + 4056 >> 2] = 81; + $1 = HEAP32[$0 + 4060 >> 2]; + $2 = HEAP32[$0 + 4056 >> 2]; + HEAP32[$0 + 5176 >> 2] = $2; + HEAP32[$0 + 5180 >> 2] = $1; + $1 = HEAP32[$0 + 5176 >> 2]; + $2 = HEAP32[$0 + 5180 >> 2]; + HEAP32[$0 + 5204 >> 2] = $3; + HEAP32[$0 + 5200 >> 2] = 3344; + HEAP32[$0 + 5196 >> 2] = $2; + HEAP32[$0 + 5192 >> 2] = $1; + $3 = HEAP32[$0 + 5204 >> 2]; + $4 = HEAP32[$0 + 5200 >> 2]; + $1 = HEAP32[$0 + 5192 >> 2]; + HEAP32[$0 + 5188 >> 2] = HEAP32[$0 + 5196 >> 2]; + HEAP32[$0 + 5184 >> 2] = $1; + $2 = HEAP32[$0 + 5188 >> 2]; + $1 = HEAP32[$0 + 5184 >> 2]; + HEAP32[$0 + 1800 >> 2] = $1; + HEAP32[$0 + 1804 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2AABB____29_28_29_20const___invoke_b2AABB__28char_20const__2c_20b2Vec2_20_28b2AABB____29_28_29_20const_29($4, $0 + 1800 | 0); + HEAP32[$0 + 4052 >> 2] = 0; + HEAP32[$0 + 4048 >> 2] = 82; + $1 = HEAP32[$0 + 4052 >> 2]; + $2 = HEAP32[$0 + 4048 >> 2]; + HEAP32[$0 + 5240 >> 2] = $2; + HEAP32[$0 + 5244 >> 2] = $1; + $1 = HEAP32[$0 + 5240 >> 2]; + $2 = HEAP32[$0 + 5244 >> 2]; + HEAP32[$0 + 5268 >> 2] = $3; + HEAP32[$0 + 5264 >> 2] = 3958; + HEAP32[$0 + 5260 >> 2] = $2; + HEAP32[$0 + 5256 >> 2] = $1; + $3 = HEAP32[$0 + 5268 >> 2]; + $4 = HEAP32[$0 + 5264 >> 2]; + $1 = HEAP32[$0 + 5256 >> 2]; + HEAP32[$0 + 5252 >> 2] = HEAP32[$0 + 5260 >> 2]; + HEAP32[$0 + 5248 >> 2] = $1; + $2 = HEAP32[$0 + 5252 >> 2]; + $1 = HEAP32[$0 + 5248 >> 2]; + HEAP32[$0 + 1792 >> 2] = $1; + HEAP32[$0 + 1796 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2AABB____29_28_29_20const___invoke_b2AABB__28char_20const__2c_20float_20_28b2AABB____29_28_29_20const_29($4, $0 + 1792 | 0); + $1 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_0__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_0__28embind_init_b2_28_29__$_0_20const__29($0 + 4047 | 0); + HEAP32[$0 + 5280 >> 2] = $3; + HEAP32[$0 + 5276 >> 2] = 9392; + HEAP32[$0 + 5272 >> 2] = $1; + $1 = HEAP32[$0 + 5280 >> 2]; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2AABB__2c_20b2AABB__29___invoke_b2AABB_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2AABB__2c_20b2AABB__29_29(HEAP32[$0 + 5276 >> 2], HEAP32[$0 + 5272 >> 2]); + $2 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_1__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_1__28embind_init_b2_28_29__$_1_20const__29($0 + 4045 | 0); + HEAP32[$0 + 5292 >> 2] = $1; + HEAP32[$0 + 5288 >> 2] = 6267; + HEAP32[$0 + 5284 >> 2] = $2; + $3 = HEAP32[$0 + 5292 >> 2]; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29___invoke_b2AABB_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_29(HEAP32[$0 + 5288 >> 2], HEAP32[$0 + 5284 >> 2]); + HEAP32[$0 + 4040 >> 2] = 0; + HEAP32[$0 + 4036 >> 2] = 83; + $1 = HEAP32[$0 + 4040 >> 2]; + $2 = HEAP32[$0 + 4036 >> 2]; + HEAP32[$0 + 5296 >> 2] = $2; + HEAP32[$0 + 5300 >> 2] = $1; + $1 = HEAP32[$0 + 5296 >> 2]; + $2 = HEAP32[$0 + 5300 >> 2]; + HEAP32[$0 + 5324 >> 2] = $3; + HEAP32[$0 + 5320 >> 2] = 3448; + HEAP32[$0 + 5316 >> 2] = $2; + HEAP32[$0 + 5312 >> 2] = $1; + $3 = HEAP32[$0 + 5324 >> 2]; + $4 = HEAP32[$0 + 5320 >> 2]; + $1 = HEAP32[$0 + 5312 >> 2]; + HEAP32[$0 + 5308 >> 2] = HEAP32[$0 + 5316 >> 2]; + HEAP32[$0 + 5304 >> 2] = $1; + $2 = HEAP32[$0 + 5308 >> 2]; + $1 = HEAP32[$0 + 5304 >> 2]; + HEAP32[$0 + 1784 >> 2] = $1; + HEAP32[$0 + 1788 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2AABB____29_28b2AABB_20const__29_20const___invoke_b2AABB__28char_20const__2c_20bool_20_28b2AABB____29_28b2AABB_20const__29_20const_29($4, $0 + 1784 | 0); + HEAP32[$0 + 4028 >> 2] = 0; + HEAP32[$0 + 4024 >> 2] = 84; + $1 = HEAP32[$0 + 4028 >> 2]; + $2 = HEAP32[$0 + 4024 >> 2]; + HEAP32[$0 + 5328 >> 2] = $2; + HEAP32[$0 + 5332 >> 2] = $1; + $1 = HEAP32[$0 + 5328 >> 2]; + $2 = HEAP32[$0 + 5332 >> 2]; + HEAP32[$0 + 5360 >> 2] = $3; + HEAP32[$0 + 5356 >> 2] = 1866; + HEAP32[$0 + 5352 >> 2] = $2; + HEAP32[$0 + 5348 >> 2] = $1; + $3 = HEAP32[$0 + 5360 >> 2]; + $4 = HEAP32[$0 + 5356 >> 2]; + $1 = HEAP32[$0 + 5348 >> 2]; + HEAP32[$0 + 5344 >> 2] = HEAP32[$0 + 5352 >> 2]; + HEAP32[$0 + 5340 >> 2] = $1; + $2 = HEAP32[$0 + 5344 >> 2]; + $1 = HEAP32[$0 + 5340 >> 2]; + HEAP32[$0 + 1776 >> 2] = $1; + HEAP32[$0 + 1780 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2AABB____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const___invoke_b2AABB_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2AABB____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const_29($4, $0 + 1776 | 0); + HEAP32[$0 + 5400 >> 2] = $3; + HEAP32[$0 + 5396 >> 2] = 10027; + HEAP32[$0 + 5392 >> 2] = 0; + $1 = HEAP32[$0 + 5400 >> 2]; + HEAP32[$0 + 5388 >> 2] = 85; + HEAP32[$0 + 5384 >> 2] = 86; + $2 = emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 5396 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15264 >> 2] = HEAP32[$0 + 5388 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 5388 >> 2]; + $7 = b2Vec2_20b2AABB_____20emscripten__internal__getContext_b2Vec2_20b2AABB_____28b2Vec2_20b2AABB____20const__29($0 + 5392 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15272 >> 2] = HEAP32[$0 + 5384 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 5384 >> 2], b2Vec2_20b2AABB_____20emscripten__internal__getContext_b2Vec2_20b2AABB_____28b2Vec2_20b2AABB____20const__29($0 + 5392 | 0) | 0); + HEAP32[$0 + 5380 >> 2] = $1; + HEAP32[$0 + 5376 >> 2] = 10038; + HEAP32[$0 + 5372 >> 2] = 8; + HEAP32[$0 + 5368 >> 2] = 85; + HEAP32[$0 + 5364 >> 2] = 86; + $1 = emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 5376 >> 2]; + $3 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15268 >> 2] = HEAP32[$0 + 5368 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 5368 >> 2]; + $6 = b2Vec2_20b2AABB_____20emscripten__internal__getContext_b2Vec2_20b2AABB_____28b2Vec2_20b2AABB____20const__29($0 + 5372 | 0); + $7 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15276 >> 2] = HEAP32[$0 + 5364 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 5364 >> 2], b2Vec2_20b2AABB_____20emscripten__internal__getContext_b2Vec2_20b2AABB_____28b2Vec2_20b2AABB____20const__29($0 + 5372 | 0) | 0); + HEAP32[$0 + 5424 >> 2] = $0 + 4023; + HEAP32[$0 + 5420 >> 2] = 10059; + void_20emscripten__internal__NoBaseClass__verify_b2World__28_29(); + HEAP32[$0 + 5416 >> 2] = 87; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2World__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 5412 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2World__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 5408 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 5404 >> 2] = 88; + $1 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2World__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2World_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 15280 >> 2] = HEAP32[$0 + 5416 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 5416 >> 2]; + HEAP32[$0 + 14772 >> 2] = HEAP32[$0 + 5412 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 5412 >> 2]; + HEAP32[$0 + 14768 >> 2] = HEAP32[$0 + 5408 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 5408 >> 2]; + $11 = HEAP32[$0 + 5420 >> 2]; + HEAP32[$0 + 15284 >> 2] = HEAP32[$0 + 5404 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 5404 >> 2]); + HEAP32[$0 + 5428 >> 2] = $0 + 4023; + HEAP32[$0 + 15292 >> 2] = HEAP32[$0 + 5428 >> 2]; + HEAP32[$0 + 15288 >> 2] = 89; + $3 = HEAP32[$0 + 15292 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2World__20_28__29_28b2Vec2___29___invoke_b2World__28b2World__20_28__29_28b2Vec2___29_29(HEAP32[$0 + 15288 >> 2]); + HEAP32[$0 + 4016 >> 2] = 0; + HEAP32[$0 + 4012 >> 2] = 90; + $1 = HEAP32[$0 + 4016 >> 2]; + $2 = HEAP32[$0 + 4012 >> 2]; + HEAP32[$0 + 5432 >> 2] = $2; + HEAP32[$0 + 5436 >> 2] = $1; + $1 = HEAP32[$0 + 5432 >> 2]; + $2 = HEAP32[$0 + 5436 >> 2]; + HEAP32[$0 + 5460 >> 2] = $3; + HEAP32[$0 + 5456 >> 2] = 4065; + HEAP32[$0 + 5452 >> 2] = $2; + HEAP32[$0 + 5448 >> 2] = $1; + $3 = HEAP32[$0 + 5460 >> 2]; + $4 = HEAP32[$0 + 5456 >> 2]; + $1 = HEAP32[$0 + 5448 >> 2]; + HEAP32[$0 + 5444 >> 2] = HEAP32[$0 + 5452 >> 2]; + HEAP32[$0 + 5440 >> 2] = $1; + $2 = HEAP32[$0 + 5444 >> 2]; + $1 = HEAP32[$0 + 5440 >> 2]; + HEAP32[$0 + 1768 >> 2] = $1; + HEAP32[$0 + 1772 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2ContactListener__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2ContactListener__29_29($4, $0 + 1768 | 0); + HEAP32[$0 + 4004 >> 2] = 0; + HEAP32[$0 + 4e3 >> 2] = 91; + $1 = HEAP32[$0 + 4004 >> 2]; + $2 = HEAP32[$0 + 4e3 >> 2]; + HEAP32[$0 + 5464 >> 2] = $2; + HEAP32[$0 + 5468 >> 2] = $1; + $1 = HEAP32[$0 + 5464 >> 2]; + $2 = HEAP32[$0 + 5468 >> 2]; + HEAP32[$0 + 5492 >> 2] = $3; + HEAP32[$0 + 5488 >> 2] = 1811; + HEAP32[$0 + 5484 >> 2] = $2; + HEAP32[$0 + 5480 >> 2] = $1; + $3 = HEAP32[$0 + 5492 >> 2]; + $4 = HEAP32[$0 + 5488 >> 2]; + $1 = HEAP32[$0 + 5480 >> 2]; + HEAP32[$0 + 5476 >> 2] = HEAP32[$0 + 5484 >> 2]; + HEAP32[$0 + 5472 >> 2] = $1; + $2 = HEAP32[$0 + 5476 >> 2]; + $1 = HEAP32[$0 + 5472 >> 2]; + HEAP32[$0 + 1760 >> 2] = $1; + HEAP32[$0 + 1764 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2Draw__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2Draw__29_29($4, $0 + 1760 | 0); + HEAP32[$0 + 3992 >> 2] = 0; + HEAP32[$0 + 3988 >> 2] = 92; + $1 = HEAP32[$0 + 3992 >> 2]; + $2 = HEAP32[$0 + 3988 >> 2]; + HEAP32[$0 + 5496 >> 2] = $2; + HEAP32[$0 + 5500 >> 2] = $1; + $1 = HEAP32[$0 + 5496 >> 2]; + $2 = HEAP32[$0 + 5500 >> 2]; + HEAP32[$0 + 5524 >> 2] = $3; + HEAP32[$0 + 5520 >> 2] = 1814; + HEAP32[$0 + 5516 >> 2] = $2; + HEAP32[$0 + 5512 >> 2] = $1; + $3 = HEAP32[$0 + 5524 >> 2]; + $4 = HEAP32[$0 + 5520 >> 2]; + $1 = HEAP32[$0 + 5512 >> 2]; + HEAP32[$0 + 5508 >> 2] = HEAP32[$0 + 5516 >> 2]; + HEAP32[$0 + 5504 >> 2] = $1; + $2 = HEAP32[$0 + 5508 >> 2]; + $1 = HEAP32[$0 + 5504 >> 2]; + HEAP32[$0 + 1752 >> 2] = $1; + HEAP32[$0 + 1756 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28_29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28_29_29($4, $0 + 1752 | 0); + HEAP32[$0 + 3980 >> 2] = 0; + HEAP32[$0 + 3976 >> 2] = 93; + $1 = HEAP32[$0 + 3980 >> 2]; + $2 = HEAP32[$0 + 3976 >> 2]; + HEAP32[$0 + 5528 >> 2] = $2; + HEAP32[$0 + 5532 >> 2] = $1; + $1 = HEAP32[$0 + 5528 >> 2]; + $2 = HEAP32[$0 + 5532 >> 2]; + HEAP32[$0 + 5556 >> 2] = $3; + HEAP32[$0 + 5552 >> 2] = 1635; + HEAP32[$0 + 5548 >> 2] = $2; + HEAP32[$0 + 5544 >> 2] = $1; + $3 = HEAP32[$0 + 5556 >> 2]; + $4 = HEAP32[$0 + 5552 >> 2]; + $1 = HEAP32[$0 + 5544 >> 2]; + HEAP32[$0 + 5540 >> 2] = HEAP32[$0 + 5548 >> 2]; + HEAP32[$0 + 5536 >> 2] = $1; + $2 = HEAP32[$0 + 5540 >> 2]; + $1 = HEAP32[$0 + 5536 >> 2]; + HEAP32[$0 + 1744 >> 2] = $1; + HEAP32[$0 + 1748 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Body__20_28b2World____29_28b2BodyDef_20const__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Body__20_28b2World____29_28b2BodyDef_20const__29_29($4, $0 + 1744 | 0); + HEAP32[$0 + 3968 >> 2] = 0; + HEAP32[$0 + 3964 >> 2] = 94; + $1 = HEAP32[$0 + 3968 >> 2]; + $2 = HEAP32[$0 + 3964 >> 2]; + HEAP32[$0 + 5560 >> 2] = $2; + HEAP32[$0 + 5564 >> 2] = $1; + $1 = HEAP32[$0 + 5560 >> 2]; + $2 = HEAP32[$0 + 5564 >> 2]; + HEAP32[$0 + 5588 >> 2] = $3; + HEAP32[$0 + 5584 >> 2] = 1615; + HEAP32[$0 + 5580 >> 2] = $2; + HEAP32[$0 + 5576 >> 2] = $1; + $3 = HEAP32[$0 + 5588 >> 2]; + $4 = HEAP32[$0 + 5584 >> 2]; + $1 = HEAP32[$0 + 5576 >> 2]; + HEAP32[$0 + 5572 >> 2] = HEAP32[$0 + 5580 >> 2]; + HEAP32[$0 + 5568 >> 2] = $1; + $2 = HEAP32[$0 + 5572 >> 2]; + $1 = HEAP32[$0 + 5568 >> 2]; + HEAP32[$0 + 1736 >> 2] = $1; + HEAP32[$0 + 1740 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2Body__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2Body__29_29($4, $0 + 1736 | 0); + HEAP32[$0 + 3956 >> 2] = 0; + HEAP32[$0 + 3952 >> 2] = 95; + $1 = HEAP32[$0 + 3956 >> 2]; + $2 = HEAP32[$0 + 3952 >> 2]; + HEAP32[$0 + 5592 >> 2] = $2; + HEAP32[$0 + 5596 >> 2] = $1; + $1 = HEAP32[$0 + 5592 >> 2]; + $2 = HEAP32[$0 + 5596 >> 2]; + HEAP32[$0 + 5620 >> 2] = $3; + HEAP32[$0 + 5616 >> 2] = 2586; + HEAP32[$0 + 5612 >> 2] = $2; + HEAP32[$0 + 5608 >> 2] = $1; + $3 = HEAP32[$0 + 5620 >> 2]; + $4 = HEAP32[$0 + 5616 >> 2]; + $1 = HEAP32[$0 + 5608 >> 2]; + HEAP32[$0 + 5604 >> 2] = HEAP32[$0 + 5612 >> 2]; + HEAP32[$0 + 5600 >> 2] = $1; + $2 = HEAP32[$0 + 5604 >> 2]; + $1 = HEAP32[$0 + 5600 >> 2]; + HEAP32[$0 + 1728 >> 2] = $1; + HEAP32[$0 + 1732 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Joint__20_28b2World____29_28b2JointDef_20const__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Joint__20_28b2World____29_28b2JointDef_20const__29_29($4, $0 + 1728 | 0); + HEAP32[$0 + 3944 >> 2] = 0; + HEAP32[$0 + 3940 >> 2] = 96; + $1 = HEAP32[$0 + 3944 >> 2]; + $2 = HEAP32[$0 + 3940 >> 2]; + HEAP32[$0 + 5624 >> 2] = $2; + HEAP32[$0 + 5628 >> 2] = $1; + $1 = HEAP32[$0 + 5624 >> 2]; + $2 = HEAP32[$0 + 5628 >> 2]; + HEAP32[$0 + 5652 >> 2] = $3; + HEAP32[$0 + 5648 >> 2] = 2511; + HEAP32[$0 + 5644 >> 2] = $2; + HEAP32[$0 + 5640 >> 2] = $1; + $3 = HEAP32[$0 + 5652 >> 2]; + $4 = HEAP32[$0 + 5648 >> 2]; + $1 = HEAP32[$0 + 5640 >> 2]; + HEAP32[$0 + 5636 >> 2] = HEAP32[$0 + 5644 >> 2]; + HEAP32[$0 + 5632 >> 2] = $1; + $2 = HEAP32[$0 + 5636 >> 2]; + $1 = HEAP32[$0 + 5632 >> 2]; + HEAP32[$0 + 1720 >> 2] = $1; + HEAP32[$0 + 1724 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2Joint__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2Joint__29_29($4, $0 + 1720 | 0); + HEAP32[$0 + 3936 >> 2] = 0; + HEAP32[$0 + 3932 >> 2] = 97; + $1 = HEAP32[$0 + 3936 >> 2]; + $2 = HEAP32[$0 + 3932 >> 2]; + HEAP32[$0 + 5656 >> 2] = $2; + HEAP32[$0 + 5660 >> 2] = $1; + $1 = HEAP32[$0 + 5656 >> 2]; + $2 = HEAP32[$0 + 5660 >> 2]; + HEAP32[$0 + 5684 >> 2] = $3; + HEAP32[$0 + 5680 >> 2] = 6237; + HEAP32[$0 + 5676 >> 2] = $2; + HEAP32[$0 + 5672 >> 2] = $1; + $3 = HEAP32[$0 + 5684 >> 2]; + $4 = HEAP32[$0 + 5680 >> 2]; + $1 = HEAP32[$0 + 5672 >> 2]; + HEAP32[$0 + 5668 >> 2] = HEAP32[$0 + 5676 >> 2]; + HEAP32[$0 + 5664 >> 2] = $1; + $2 = HEAP32[$0 + 5668 >> 2]; + $1 = HEAP32[$0 + 5664 >> 2]; + HEAP32[$0 + 1712 >> 2] = $1; + HEAP32[$0 + 1716 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28float_2c_20int_2c_20int_29___invoke_b2World__28char_20const__2c_20void_20_28b2World____29_28float_2c_20int_2c_20int_29_29($4, $0 + 1712 | 0); + HEAP32[$0 + 3924 >> 2] = 0; + HEAP32[$0 + 3920 >> 2] = 98; + $1 = HEAP32[$0 + 3924 >> 2]; + $2 = HEAP32[$0 + 3920 >> 2]; + HEAP32[$0 + 5688 >> 2] = $2; + HEAP32[$0 + 5692 >> 2] = $1; + $1 = HEAP32[$0 + 5688 >> 2]; + $2 = HEAP32[$0 + 5692 >> 2]; + HEAP32[$0 + 5716 >> 2] = $3; + HEAP32[$0 + 5712 >> 2] = 11063; + HEAP32[$0 + 5708 >> 2] = $2; + HEAP32[$0 + 5704 >> 2] = $1; + $3 = HEAP32[$0 + 5716 >> 2]; + $4 = HEAP32[$0 + 5712 >> 2]; + $1 = HEAP32[$0 + 5704 >> 2]; + HEAP32[$0 + 5700 >> 2] = HEAP32[$0 + 5708 >> 2]; + HEAP32[$0 + 5696 >> 2] = $1; + $2 = HEAP32[$0 + 5700 >> 2]; + $1 = HEAP32[$0 + 5696 >> 2]; + HEAP32[$0 + 1704 >> 2] = $1; + HEAP32[$0 + 1708 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2QueryCallback__2c_20b2AABB_20const__29_20const___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2QueryCallback__2c_20b2AABB_20const__29_20const_29($4, $0 + 1704 | 0); + HEAP32[$0 + 3912 >> 2] = 0; + HEAP32[$0 + 3908 >> 2] = 99; + $1 = HEAP32[$0 + 3912 >> 2]; + $2 = HEAP32[$0 + 3908 >> 2]; + HEAP32[$0 + 5720 >> 2] = $2; + HEAP32[$0 + 5724 >> 2] = $1; + $1 = HEAP32[$0 + 5720 >> 2]; + $2 = HEAP32[$0 + 5724 >> 2]; + HEAP32[$0 + 5748 >> 2] = $3; + HEAP32[$0 + 5744 >> 2] = 1866; + HEAP32[$0 + 5740 >> 2] = $2; + HEAP32[$0 + 5736 >> 2] = $1; + $3 = HEAP32[$0 + 5748 >> 2]; + $4 = HEAP32[$0 + 5744 >> 2]; + $1 = HEAP32[$0 + 5736 >> 2]; + HEAP32[$0 + 5732 >> 2] = HEAP32[$0 + 5740 >> 2]; + HEAP32[$0 + 5728 >> 2] = $1; + $2 = HEAP32[$0 + 5732 >> 2]; + $1 = HEAP32[$0 + 5728 >> 2]; + HEAP32[$0 + 1696 >> 2] = $1; + HEAP32[$0 + 1700 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const_29($4, $0 + 1696 | 0); + HEAP32[$0 + 3904 >> 2] = 0; + HEAP32[$0 + 3900 >> 2] = 100; + $1 = HEAP32[$0 + 3904 >> 2]; + $2 = HEAP32[$0 + 3900 >> 2]; + HEAP32[$0 + 5752 >> 2] = $2; + HEAP32[$0 + 5756 >> 2] = $1; + $1 = HEAP32[$0 + 5752 >> 2]; + $2 = HEAP32[$0 + 5756 >> 2]; + HEAP32[$0 + 5780 >> 2] = $3; + HEAP32[$0 + 5776 >> 2] = 7823; + HEAP32[$0 + 5772 >> 2] = $2; + HEAP32[$0 + 5768 >> 2] = $1; + $3 = HEAP32[$0 + 5780 >> 2]; + $4 = HEAP32[$0 + 5776 >> 2]; + $1 = HEAP32[$0 + 5768 >> 2]; + HEAP32[$0 + 5764 >> 2] = HEAP32[$0 + 5772 >> 2]; + HEAP32[$0 + 5760 >> 2] = $1; + $2 = HEAP32[$0 + 5764 >> 2]; + $1 = HEAP32[$0 + 5760 >> 2]; + HEAP32[$0 + 1688 >> 2] = $1; + HEAP32[$0 + 1692 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28bool_29___invoke_b2World__28char_20const__2c_20void_20_28b2World____29_28bool_29_29($4, $0 + 1688 | 0); + HEAP32[$0 + 3896 >> 2] = 0; + HEAP32[$0 + 3892 >> 2] = 101; + $1 = HEAP32[$0 + 3896 >> 2]; + $2 = HEAP32[$0 + 3892 >> 2]; + HEAP32[$0 + 5784 >> 2] = $2; + HEAP32[$0 + 5788 >> 2] = $1; + $1 = HEAP32[$0 + 5784 >> 2]; + $2 = HEAP32[$0 + 5788 >> 2]; + HEAP32[$0 + 5812 >> 2] = $3; + HEAP32[$0 + 5808 >> 2] = 7840; + HEAP32[$0 + 5804 >> 2] = $2; + HEAP32[$0 + 5800 >> 2] = $1; + $3 = HEAP32[$0 + 5812 >> 2]; + $4 = HEAP32[$0 + 5808 >> 2]; + $1 = HEAP32[$0 + 5800 >> 2]; + HEAP32[$0 + 5796 >> 2] = HEAP32[$0 + 5804 >> 2]; + HEAP32[$0 + 5792 >> 2] = $1; + $2 = HEAP32[$0 + 5796 >> 2]; + $1 = HEAP32[$0 + 5792 >> 2]; + HEAP32[$0 + 1680 >> 2] = $1; + HEAP32[$0 + 1684 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2World____29_28_29_20const___invoke_b2World__28char_20const__2c_20bool_20_28b2World____29_28_29_20const_29($4, $0 + 1680 | 0); + HEAP32[$0 + 3888 >> 2] = 0; + HEAP32[$0 + 3884 >> 2] = 102; + $1 = HEAP32[$0 + 3888 >> 2]; + $2 = HEAP32[$0 + 3884 >> 2]; + HEAP32[$0 + 5816 >> 2] = $2; + HEAP32[$0 + 5820 >> 2] = $1; + $1 = HEAP32[$0 + 5816 >> 2]; + $2 = HEAP32[$0 + 5820 >> 2]; + HEAP32[$0 + 5844 >> 2] = $3; + HEAP32[$0 + 5840 >> 2] = 1059; + HEAP32[$0 + 5836 >> 2] = $2; + HEAP32[$0 + 5832 >> 2] = $1; + $3 = HEAP32[$0 + 5844 >> 2]; + $4 = HEAP32[$0 + 5840 >> 2]; + $1 = HEAP32[$0 + 5832 >> 2]; + HEAP32[$0 + 5828 >> 2] = HEAP32[$0 + 5836 >> 2]; + HEAP32[$0 + 5824 >> 2] = $1; + $2 = HEAP32[$0 + 5828 >> 2]; + $1 = HEAP32[$0 + 5824 >> 2]; + HEAP32[$0 + 1672 >> 2] = $1; + HEAP32[$0 + 1676 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2Vec2_20const__29___invoke_b2World__28char_20const__2c_20void_20_28b2World____29_28b2Vec2_20const__29_29($4, $0 + 1672 | 0); + HEAP32[$0 + 3880 >> 2] = 0; + HEAP32[$0 + 3876 >> 2] = 103; + $1 = HEAP32[$0 + 3880 >> 2]; + $2 = HEAP32[$0 + 3876 >> 2]; + HEAP32[$0 + 5848 >> 2] = $2; + HEAP32[$0 + 5852 >> 2] = $1; + $1 = HEAP32[$0 + 5848 >> 2]; + $2 = HEAP32[$0 + 5852 >> 2]; + HEAP32[$0 + 5876 >> 2] = $3; + HEAP32[$0 + 5872 >> 2] = 1070; + HEAP32[$0 + 5868 >> 2] = $2; + HEAP32[$0 + 5864 >> 2] = $1; + $3 = HEAP32[$0 + 5876 >> 2]; + $4 = HEAP32[$0 + 5872 >> 2]; + $1 = HEAP32[$0 + 5864 >> 2]; + HEAP32[$0 + 5860 >> 2] = HEAP32[$0 + 5868 >> 2]; + HEAP32[$0 + 5856 >> 2] = $1; + $2 = HEAP32[$0 + 5860 >> 2]; + $1 = HEAP32[$0 + 5856 >> 2]; + HEAP32[$0 + 1664 >> 2] = $1; + HEAP32[$0 + 1668 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2World____29_28_29_20const___invoke_b2World__28char_20const__2c_20b2Vec2_20_28b2World____29_28_29_20const_29($4, $0 + 1664 | 0); + HEAP32[$0 + 3872 >> 2] = 0; + HEAP32[$0 + 3868 >> 2] = 104; + $1 = HEAP32[$0 + 3872 >> 2]; + $2 = HEAP32[$0 + 3868 >> 2]; + HEAP32[$0 + 5880 >> 2] = $2; + HEAP32[$0 + 5884 >> 2] = $1; + $1 = HEAP32[$0 + 5880 >> 2]; + $2 = HEAP32[$0 + 5884 >> 2]; + HEAP32[$0 + 5908 >> 2] = $3; + HEAP32[$0 + 5904 >> 2] = 6232; + HEAP32[$0 + 5900 >> 2] = $2; + HEAP32[$0 + 5896 >> 2] = $1; + $3 = HEAP32[$0 + 5904 >> 2]; + $1 = HEAP32[$0 + 5896 >> 2]; + HEAP32[$0 + 5892 >> 2] = HEAP32[$0 + 5900 >> 2]; + HEAP32[$0 + 5888 >> 2] = $1; + $2 = HEAP32[$0 + 5892 >> 2]; + $1 = HEAP32[$0 + 5888 >> 2]; + HEAP32[$0 + 1656 >> 2] = $1; + HEAP32[$0 + 1660 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28_29___invoke_b2World__28char_20const__2c_20void_20_28b2World____29_28_29_29($3, $0 + 1656 | 0); + HEAP32[$0 + 5932 >> 2] = $0 + 3867; + HEAP32[$0 + 5928 >> 2] = 9380; + void_20emscripten__internal__NoBaseClass__verify_b2Shape__28_29(); + HEAP32[$0 + 5924 >> 2] = 105; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2Shape__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 5920 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2Shape__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 5916 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 5912 >> 2] = 106; + $1 = emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Shape__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 15296 >> 2] = HEAP32[$0 + 5924 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 5924 >> 2]; + HEAP32[$0 + 14764 >> 2] = HEAP32[$0 + 5920 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 5920 >> 2]; + HEAP32[$0 + 14760 >> 2] = HEAP32[$0 + 5916 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 5916 >> 2]; + $11 = HEAP32[$0 + 5928 >> 2]; + HEAP32[$0 + 15300 >> 2] = HEAP32[$0 + 5912 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 5912 >> 2]); + HEAP32[$0 + 5952 >> 2] = $0 + 3867; + HEAP32[$0 + 5948 >> 2] = 9221; + HEAP32[$0 + 5944 >> 2] = 4; + $1 = HEAP32[$0 + 5952 >> 2]; + HEAP32[$0 + 5940 >> 2] = 107; + HEAP32[$0 + 5936 >> 2] = 108; + $2 = emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 5948 >> 2]; + $4 = emscripten__internal__TypeID_b2Shape__Type_2c_20void___get_28_29(); + HEAP32[$0 + 15304 >> 2] = HEAP32[$0 + 5940 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 5940 >> 2]; + $7 = b2Shape__Type_20b2Shape_____20emscripten__internal__getContext_b2Shape__Type_20b2Shape_____28b2Shape__Type_20b2Shape____20const__29($0 + 5944 | 0); + $8 = emscripten__internal__TypeID_b2Shape__Type_2c_20void___get_28_29(); + HEAP32[$0 + 15308 >> 2] = HEAP32[$0 + 5936 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 5936 >> 2], b2Shape__Type_20b2Shape_____20emscripten__internal__getContext_b2Shape__Type_20b2Shape_____28b2Shape__Type_20b2Shape____20const__29($0 + 5944 | 0) | 0); + HEAP32[$0 + 5972 >> 2] = $1; + HEAP32[$0 + 5968 >> 2] = 3243; + HEAP32[$0 + 5964 >> 2] = 8; + $3 = HEAP32[$0 + 5972 >> 2]; + HEAP32[$0 + 5960 >> 2] = 109; + HEAP32[$0 + 5956 >> 2] = 110; + $1 = emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 5968 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15312 >> 2] = HEAP32[$0 + 5960 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 5960 >> 2]; + $7 = float_20b2Shape_____20emscripten__internal__getContext_float_20b2Shape_____28float_20b2Shape____20const__29($0 + 5964 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15316 >> 2] = HEAP32[$0 + 5956 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 5956 >> 2], float_20b2Shape_____20emscripten__internal__getContext_float_20b2Shape_____28float_20b2Shape____20const__29($0 + 5964 | 0) | 0); + HEAP32[$0 + 3860 >> 2] = 0; + HEAP32[$0 + 3856 >> 2] = 111; + $1 = HEAP32[$0 + 3860 >> 2]; + $2 = HEAP32[$0 + 3856 >> 2]; + HEAP32[$0 + 5976 >> 2] = $2; + HEAP32[$0 + 5980 >> 2] = $1; + $1 = HEAP32[$0 + 5976 >> 2]; + $2 = HEAP32[$0 + 5980 >> 2]; + HEAP32[$0 + 6004 >> 2] = $3; + HEAP32[$0 + 6e3 >> 2] = 9253; + HEAP32[$0 + 5996 >> 2] = $2; + HEAP32[$0 + 5992 >> 2] = $1; + $3 = HEAP32[$0 + 6004 >> 2]; + $4 = HEAP32[$0 + 6e3 >> 2]; + $1 = HEAP32[$0 + 5992 >> 2]; + HEAP32[$0 + 5988 >> 2] = HEAP32[$0 + 5996 >> 2]; + HEAP32[$0 + 5984 >> 2] = $1; + $2 = HEAP32[$0 + 5988 >> 2]; + $1 = HEAP32[$0 + 5984 >> 2]; + HEAP32[$0 + 1648 >> 2] = $1; + HEAP32[$0 + 1652 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Shape__Type_20_28b2Shape____29_28_29_20const___invoke_b2Shape__28char_20const__2c_20b2Shape__Type_20_28b2Shape____29_28_29_20const_29($4, $0 + 1648 | 0); + HEAP32[$0 + 3852 >> 2] = 1; + HEAP32[$0 + 3848 >> 2] = 12; + $1 = HEAP32[$0 + 3852 >> 2]; + $2 = HEAP32[$0 + 3848 >> 2]; + HEAP32[$0 + 6008 >> 2] = $2; + HEAP32[$0 + 6012 >> 2] = $1; + $1 = HEAP32[$0 + 6008 >> 2]; + $2 = HEAP32[$0 + 6012 >> 2]; + HEAP32[$0 + 6036 >> 2] = $3; + HEAP32[$0 + 6032 >> 2] = 2385; + HEAP32[$0 + 6028 >> 2] = $2; + HEAP32[$0 + 6024 >> 2] = $1; + $3 = HEAP32[$0 + 6036 >> 2]; + $4 = HEAP32[$0 + 6032 >> 2]; + $1 = HEAP32[$0 + 6024 >> 2]; + HEAP32[$0 + 6020 >> 2] = HEAP32[$0 + 6028 >> 2]; + HEAP32[$0 + 6016 >> 2] = $1; + $2 = HEAP32[$0 + 6020 >> 2]; + $1 = HEAP32[$0 + 6016 >> 2]; + HEAP32[$0 + 1640 >> 2] = $1; + HEAP32[$0 + 1644 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_int_20_28b2Shape____29_28_29_20const___invoke_b2Shape__28char_20const__2c_20int_20_28b2Shape____29_28_29_20const_29($4, $0 + 1640 | 0); + HEAP32[$0 + 3844 >> 2] = 1; + HEAP32[$0 + 3840 >> 2] = 16; + $1 = HEAP32[$0 + 3844 >> 2]; + $2 = HEAP32[$0 + 3840 >> 2]; + HEAP32[$0 + 6040 >> 2] = $2; + HEAP32[$0 + 6044 >> 2] = $1; + $1 = HEAP32[$0 + 6040 >> 2]; + $2 = HEAP32[$0 + 6044 >> 2]; + HEAP32[$0 + 6068 >> 2] = $3; + HEAP32[$0 + 6064 >> 2] = 2409; + HEAP32[$0 + 6060 >> 2] = $2; + HEAP32[$0 + 6056 >> 2] = $1; + $3 = HEAP32[$0 + 6068 >> 2]; + $4 = HEAP32[$0 + 6064 >> 2]; + $1 = HEAP32[$0 + 6056 >> 2]; + HEAP32[$0 + 6052 >> 2] = HEAP32[$0 + 6060 >> 2]; + HEAP32[$0 + 6048 >> 2] = $1; + $2 = HEAP32[$0 + 6052 >> 2]; + $1 = HEAP32[$0 + 6048 >> 2]; + HEAP32[$0 + 1632 >> 2] = $1; + HEAP32[$0 + 1636 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Shape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const___invoke_b2Shape__28char_20const__2c_20bool_20_28b2Shape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29($4, $0 + 1632 | 0); + HEAP32[$0 + 3832 >> 2] = 1; + HEAP32[$0 + 3828 >> 2] = 20; + $1 = HEAP32[$0 + 3832 >> 2]; + $2 = HEAP32[$0 + 3828 >> 2]; + HEAP32[$0 + 6072 >> 2] = $2; + HEAP32[$0 + 6076 >> 2] = $1; + $1 = HEAP32[$0 + 6072 >> 2]; + $2 = HEAP32[$0 + 6076 >> 2]; + HEAP32[$0 + 6100 >> 2] = $3; + HEAP32[$0 + 6096 >> 2] = 1866; + HEAP32[$0 + 6092 >> 2] = $2; + HEAP32[$0 + 6088 >> 2] = $1; + $3 = HEAP32[$0 + 6100 >> 2]; + $4 = HEAP32[$0 + 6096 >> 2]; + $1 = HEAP32[$0 + 6088 >> 2]; + HEAP32[$0 + 6084 >> 2] = HEAP32[$0 + 6092 >> 2]; + HEAP32[$0 + 6080 >> 2] = $1; + $2 = HEAP32[$0 + 6084 >> 2]; + $1 = HEAP32[$0 + 6080 >> 2]; + HEAP32[$0 + 1624 >> 2] = $1; + HEAP32[$0 + 1628 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Shape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2Shape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2Shape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29($4, $0 + 1624 | 0); + HEAP32[$0 + 3820 >> 2] = 1; + HEAP32[$0 + 3816 >> 2] = 24; + $1 = HEAP32[$0 + 3820 >> 2]; + $2 = HEAP32[$0 + 3816 >> 2]; + HEAP32[$0 + 6104 >> 2] = $2; + HEAP32[$0 + 6108 >> 2] = $1; + $1 = HEAP32[$0 + 6104 >> 2]; + $2 = HEAP32[$0 + 6108 >> 2]; + HEAP32[$0 + 6132 >> 2] = $3; + HEAP32[$0 + 6128 >> 2] = 11092; + HEAP32[$0 + 6124 >> 2] = $2; + HEAP32[$0 + 6120 >> 2] = $1; + $3 = HEAP32[$0 + 6132 >> 2]; + $4 = HEAP32[$0 + 6128 >> 2]; + $1 = HEAP32[$0 + 6120 >> 2]; + HEAP32[$0 + 6116 >> 2] = HEAP32[$0 + 6124 >> 2]; + HEAP32[$0 + 6112 >> 2] = $1; + $2 = HEAP32[$0 + 6116 >> 2]; + $1 = HEAP32[$0 + 6112 >> 2]; + HEAP32[$0 + 1616 >> 2] = $1; + HEAP32[$0 + 1620 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Shape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2Shape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Shape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29($4, $0 + 1616 | 0); + HEAP32[$0 + 3808 >> 2] = 1; + HEAP32[$0 + 3804 >> 2] = 28; + $1 = HEAP32[$0 + 3808 >> 2]; + $2 = HEAP32[$0 + 3804 >> 2]; + HEAP32[$0 + 6136 >> 2] = $2; + HEAP32[$0 + 6140 >> 2] = $1; + $1 = HEAP32[$0 + 6136 >> 2]; + $2 = HEAP32[$0 + 6140 >> 2]; + HEAP32[$0 + 6164 >> 2] = $3; + HEAP32[$0 + 6160 >> 2] = 3436; + HEAP32[$0 + 6156 >> 2] = $2; + HEAP32[$0 + 6152 >> 2] = $1; + $3 = HEAP32[$0 + 6164 >> 2]; + $4 = HEAP32[$0 + 6160 >> 2]; + $1 = HEAP32[$0 + 6152 >> 2]; + HEAP32[$0 + 6148 >> 2] = HEAP32[$0 + 6156 >> 2]; + HEAP32[$0 + 6144 >> 2] = $1; + $2 = HEAP32[$0 + 6148 >> 2]; + $1 = HEAP32[$0 + 6144 >> 2]; + HEAP32[$0 + 1608 >> 2] = $1; + HEAP32[$0 + 1612 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Shape____29_28b2MassData__2c_20float_29_20const___invoke_b2Shape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Shape____29_28b2MassData__2c_20float_29_20const_29($4, $0 + 1608 | 0); + $1 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_2__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_2__28embind_init_b2_28_29__$_2_20const__29($0 + 3803 | 0); + HEAP32[$0 + 6176 >> 2] = $3; + HEAP32[$0 + 6172 >> 2] = 3252; + HEAP32[$0 + 6168 >> 2] = $1; + $1 = HEAP32[$0 + 6176 >> 2]; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2Shape__2c_20float_29___invoke_b2Shape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2Shape__2c_20float_29_29(HEAP32[$0 + 6172 >> 2], HEAP32[$0 + 6168 >> 2]); + $2 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_3__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_3__28embind_init_b2_28_29__$_3_20const__29($0 + 3801 | 0); + HEAP32[$0 + 6188 >> 2] = $1; + HEAP32[$0 + 6184 >> 2] = 3262; + HEAP32[$0 + 6180 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28__29_28b2Shape__29___invoke_b2Shape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28b2Shape__29_29(HEAP32[$0 + 6184 >> 2], HEAP32[$0 + 6180 >> 2]); + HEAP32[$0 + 6212 >> 2] = $0 + 3799; + HEAP32[$0 + 6208 >> 2] = 9364; + void_20emscripten__base_b2Shape___verify_b2CircleShape__28_29(); + HEAP32[$0 + 6204 >> 2] = 112; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Shape__20_28_emscripten__base_b2Shape___getUpcaster_b2CircleShape__28_29_29_28b2CircleShape__29(), + HEAP32[wasm2js_i32$0 + 6200 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2CircleShape__20_28_emscripten__base_b2Shape___getDowncaster_b2CircleShape__28_29_29_28b2Shape__29(), + HEAP32[wasm2js_i32$0 + 6196 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 6192 >> 2] = 113; + $1 = emscripten__internal__TypeID_b2CircleShape_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2CircleShape__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2Shape___get_28_29(); + HEAP32[$0 + 15320 >> 2] = HEAP32[$0 + 6204 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 6204 >> 2]; + HEAP32[$0 + 15324 >> 2] = HEAP32[$0 + 6200 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 6200 >> 2]; + HEAP32[$0 + 15328 >> 2] = HEAP32[$0 + 6196 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 6196 >> 2]; + $11 = HEAP32[$0 + 6208 >> 2]; + HEAP32[$0 + 15332 >> 2] = HEAP32[$0 + 6192 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 6192 >> 2]); + HEAP32[$0 + 6216 >> 2] = $0 + 3799; + HEAP32[$0 + 15340 >> 2] = HEAP32[$0 + 6216 >> 2]; + HEAP32[$0 + 15336 >> 2] = 114; + $1 = HEAP32[$0 + 15340 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2CircleShape__20_28__29_28_29___invoke_b2CircleShape__28b2CircleShape__20_28__29_28_29_29(HEAP32[$0 + 15336 >> 2]); + HEAP32[$0 + 6236 >> 2] = $1; + HEAP32[$0 + 6232 >> 2] = 6263; + HEAP32[$0 + 6228 >> 2] = 12; + $3 = HEAP32[$0 + 6236 >> 2]; + HEAP32[$0 + 6224 >> 2] = 115; + HEAP32[$0 + 6220 >> 2] = 116; + $1 = emscripten__internal__TypeID_b2CircleShape_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 6232 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15344 >> 2] = HEAP32[$0 + 6224 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 6224 >> 2]; + $7 = b2Vec2_20b2CircleShape_____20emscripten__internal__getContext_b2Vec2_20b2CircleShape_____28b2Vec2_20b2CircleShape____20const__29($0 + 6228 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15348 >> 2] = HEAP32[$0 + 6220 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 6220 >> 2], b2Vec2_20b2CircleShape_____20emscripten__internal__getContext_b2Vec2_20b2CircleShape_____28b2Vec2_20b2CircleShape____20const__29($0 + 6228 | 0) | 0); + HEAP32[$0 + 3792 >> 2] = 1; + HEAP32[$0 + 3788 >> 2] = 8; + $1 = HEAP32[$0 + 3792 >> 2]; + $2 = HEAP32[$0 + 3788 >> 2]; + HEAP32[$0 + 6240 >> 2] = $2; + HEAP32[$0 + 6244 >> 2] = $1; + $1 = HEAP32[$0 + 6240 >> 2]; + $2 = HEAP32[$0 + 6244 >> 2]; + HEAP32[$0 + 6268 >> 2] = $3; + HEAP32[$0 + 6264 >> 2] = 9386; + HEAP32[$0 + 6260 >> 2] = $2; + HEAP32[$0 + 6256 >> 2] = $1; + $3 = HEAP32[$0 + 6268 >> 2]; + $4 = HEAP32[$0 + 6264 >> 2]; + $1 = HEAP32[$0 + 6256 >> 2]; + HEAP32[$0 + 6252 >> 2] = HEAP32[$0 + 6260 >> 2]; + HEAP32[$0 + 6248 >> 2] = $1; + $2 = HEAP32[$0 + 6252 >> 2]; + $1 = HEAP32[$0 + 6248 >> 2]; + HEAP32[$0 + 1600 >> 2] = $1; + HEAP32[$0 + 1604 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Shape__20_28b2CircleShape____29_28b2BlockAllocator__29_20const___invoke_b2CircleShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Shape__20_28b2CircleShape____29_28b2BlockAllocator__29_20const_29($4, $0 + 1600 | 0); + HEAP32[$0 + 3784 >> 2] = 1; + HEAP32[$0 + 3780 >> 2] = 12; + $1 = HEAP32[$0 + 3784 >> 2]; + $2 = HEAP32[$0 + 3780 >> 2]; + HEAP32[$0 + 6272 >> 2] = $2; + HEAP32[$0 + 6276 >> 2] = $1; + $1 = HEAP32[$0 + 6272 >> 2]; + $2 = HEAP32[$0 + 6276 >> 2]; + HEAP32[$0 + 6300 >> 2] = $3; + HEAP32[$0 + 6296 >> 2] = 2385; + HEAP32[$0 + 6292 >> 2] = $2; + HEAP32[$0 + 6288 >> 2] = $1; + $3 = HEAP32[$0 + 6300 >> 2]; + $4 = HEAP32[$0 + 6296 >> 2]; + $1 = HEAP32[$0 + 6288 >> 2]; + HEAP32[$0 + 6284 >> 2] = HEAP32[$0 + 6292 >> 2]; + HEAP32[$0 + 6280 >> 2] = $1; + $2 = HEAP32[$0 + 6284 >> 2]; + $1 = HEAP32[$0 + 6280 >> 2]; + HEAP32[$0 + 1592 >> 2] = $1; + HEAP32[$0 + 1596 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_int_20_28b2CircleShape____29_28_29_20const___invoke_b2CircleShape__28char_20const__2c_20int_20_28b2CircleShape____29_28_29_20const_29($4, $0 + 1592 | 0); + HEAP32[$0 + 3776 >> 2] = 1; + HEAP32[$0 + 3772 >> 2] = 16; + $1 = HEAP32[$0 + 3776 >> 2]; + $2 = HEAP32[$0 + 3772 >> 2]; + HEAP32[$0 + 6304 >> 2] = $2; + HEAP32[$0 + 6308 >> 2] = $1; + $1 = HEAP32[$0 + 6304 >> 2]; + $2 = HEAP32[$0 + 6308 >> 2]; + HEAP32[$0 + 6332 >> 2] = $3; + HEAP32[$0 + 6328 >> 2] = 2409; + HEAP32[$0 + 6324 >> 2] = $2; + HEAP32[$0 + 6320 >> 2] = $1; + $3 = HEAP32[$0 + 6332 >> 2]; + $4 = HEAP32[$0 + 6328 >> 2]; + $1 = HEAP32[$0 + 6320 >> 2]; + HEAP32[$0 + 6316 >> 2] = HEAP32[$0 + 6324 >> 2]; + HEAP32[$0 + 6312 >> 2] = $1; + $2 = HEAP32[$0 + 6316 >> 2]; + $1 = HEAP32[$0 + 6312 >> 2]; + HEAP32[$0 + 1584 >> 2] = $1; + HEAP32[$0 + 1588 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2CircleShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const___invoke_b2CircleShape__28char_20const__2c_20bool_20_28b2CircleShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29($4, $0 + 1584 | 0); + HEAP32[$0 + 3764 >> 2] = 1; + HEAP32[$0 + 3760 >> 2] = 20; + $1 = HEAP32[$0 + 3764 >> 2]; + $2 = HEAP32[$0 + 3760 >> 2]; + HEAP32[$0 + 6336 >> 2] = $2; + HEAP32[$0 + 6340 >> 2] = $1; + $1 = HEAP32[$0 + 6336 >> 2]; + $2 = HEAP32[$0 + 6340 >> 2]; + HEAP32[$0 + 6364 >> 2] = $3; + HEAP32[$0 + 6360 >> 2] = 1866; + HEAP32[$0 + 6356 >> 2] = $2; + HEAP32[$0 + 6352 >> 2] = $1; + $3 = HEAP32[$0 + 6364 >> 2]; + $4 = HEAP32[$0 + 6360 >> 2]; + $1 = HEAP32[$0 + 6352 >> 2]; + HEAP32[$0 + 6348 >> 2] = HEAP32[$0 + 6356 >> 2]; + HEAP32[$0 + 6344 >> 2] = $1; + $2 = HEAP32[$0 + 6348 >> 2]; + $1 = HEAP32[$0 + 6344 >> 2]; + HEAP32[$0 + 1576 >> 2] = $1; + HEAP32[$0 + 1580 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2CircleShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2CircleShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2CircleShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29($4, $0 + 1576 | 0); + HEAP32[$0 + 3752 >> 2] = 1; + HEAP32[$0 + 3748 >> 2] = 24; + $1 = HEAP32[$0 + 3752 >> 2]; + $2 = HEAP32[$0 + 3748 >> 2]; + HEAP32[$0 + 6368 >> 2] = $2; + HEAP32[$0 + 6372 >> 2] = $1; + $1 = HEAP32[$0 + 6368 >> 2]; + $2 = HEAP32[$0 + 6372 >> 2]; + HEAP32[$0 + 6396 >> 2] = $3; + HEAP32[$0 + 6392 >> 2] = 11092; + HEAP32[$0 + 6388 >> 2] = $2; + HEAP32[$0 + 6384 >> 2] = $1; + $3 = HEAP32[$0 + 6396 >> 2]; + $4 = HEAP32[$0 + 6392 >> 2]; + $1 = HEAP32[$0 + 6384 >> 2]; + HEAP32[$0 + 6380 >> 2] = HEAP32[$0 + 6388 >> 2]; + HEAP32[$0 + 6376 >> 2] = $1; + $2 = HEAP32[$0 + 6380 >> 2]; + $1 = HEAP32[$0 + 6376 >> 2]; + HEAP32[$0 + 1568 >> 2] = $1; + HEAP32[$0 + 1572 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2CircleShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2CircleShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2CircleShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29($4, $0 + 1568 | 0); + HEAP32[$0 + 3740 >> 2] = 1; + HEAP32[$0 + 3736 >> 2] = 28; + $1 = HEAP32[$0 + 3740 >> 2]; + $2 = HEAP32[$0 + 3736 >> 2]; + HEAP32[$0 + 6400 >> 2] = $2; + HEAP32[$0 + 6404 >> 2] = $1; + $1 = HEAP32[$0 + 6400 >> 2]; + $2 = HEAP32[$0 + 6404 >> 2]; + HEAP32[$0 + 6428 >> 2] = $3; + HEAP32[$0 + 6424 >> 2] = 3436; + HEAP32[$0 + 6420 >> 2] = $2; + HEAP32[$0 + 6416 >> 2] = $1; + $3 = HEAP32[$0 + 6424 >> 2]; + $1 = HEAP32[$0 + 6416 >> 2]; + HEAP32[$0 + 6412 >> 2] = HEAP32[$0 + 6420 >> 2]; + HEAP32[$0 + 6408 >> 2] = $1; + $2 = HEAP32[$0 + 6412 >> 2]; + $1 = HEAP32[$0 + 6408 >> 2]; + HEAP32[$0 + 1560 >> 2] = $1; + HEAP32[$0 + 1564 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2CircleShape____29_28b2MassData__2c_20float_29_20const___invoke_b2CircleShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2CircleShape____29_28b2MassData__2c_20float_29_20const_29($3, $0 + 1560 | 0); + HEAP32[$0 + 6452 >> 2] = $0 + 3735; + HEAP32[$0 + 6448 >> 2] = 9376; + void_20emscripten__base_b2Shape___verify_b2EdgeShape__28_29(); + HEAP32[$0 + 6444 >> 2] = 117; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Shape__20_28_emscripten__base_b2Shape___getUpcaster_b2EdgeShape__28_29_29_28b2EdgeShape__29(), + HEAP32[wasm2js_i32$0 + 6440 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2EdgeShape__20_28_emscripten__base_b2Shape___getDowncaster_b2EdgeShape__28_29_29_28b2Shape__29(), + HEAP32[wasm2js_i32$0 + 6436 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 6432 >> 2] = 118; + $1 = emscripten__internal__TypeID_b2EdgeShape_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2EdgeShape__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2Shape___get_28_29(); + HEAP32[$0 + 15352 >> 2] = HEAP32[$0 + 6444 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 6444 >> 2]; + HEAP32[$0 + 15356 >> 2] = HEAP32[$0 + 6440 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 6440 >> 2]; + HEAP32[$0 + 15360 >> 2] = HEAP32[$0 + 6436 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 6436 >> 2]; + $11 = HEAP32[$0 + 6448 >> 2]; + HEAP32[$0 + 15364 >> 2] = HEAP32[$0 + 6432 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 6432 >> 2]); + HEAP32[$0 + 3728 >> 2] = 1; + HEAP32[$0 + 3724 >> 2] = 8; + $1 = HEAP32[$0 + 3728 >> 2]; + $2 = HEAP32[$0 + 3724 >> 2]; + HEAP32[$0 + 6456 >> 2] = $2; + HEAP32[$0 + 6460 >> 2] = $1; + $1 = HEAP32[$0 + 6456 >> 2]; + $2 = HEAP32[$0 + 6460 >> 2]; + HEAP32[$0 + 6484 >> 2] = $0 + 3735; + HEAP32[$0 + 6480 >> 2] = 9386; + HEAP32[$0 + 6476 >> 2] = $2; + HEAP32[$0 + 6472 >> 2] = $1; + $3 = HEAP32[$0 + 6484 >> 2]; + $4 = HEAP32[$0 + 6480 >> 2]; + $1 = HEAP32[$0 + 6472 >> 2]; + HEAP32[$0 + 6468 >> 2] = HEAP32[$0 + 6476 >> 2]; + HEAP32[$0 + 6464 >> 2] = $1; + $2 = HEAP32[$0 + 6468 >> 2]; + $1 = HEAP32[$0 + 6464 >> 2]; + HEAP32[$0 + 1552 >> 2] = $1; + HEAP32[$0 + 1556 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Shape__20_28b2EdgeShape____29_28b2BlockAllocator__29_20const___invoke_b2EdgeShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Shape__20_28b2EdgeShape____29_28b2BlockAllocator__29_20const_29($4, $0 + 1552 | 0); + HEAP32[$0 + 3720 >> 2] = 1; + HEAP32[$0 + 3716 >> 2] = 12; + $1 = HEAP32[$0 + 3720 >> 2]; + $2 = HEAP32[$0 + 3716 >> 2]; + HEAP32[$0 + 6488 >> 2] = $2; + HEAP32[$0 + 6492 >> 2] = $1; + $1 = HEAP32[$0 + 6488 >> 2]; + $2 = HEAP32[$0 + 6492 >> 2]; + HEAP32[$0 + 6516 >> 2] = $3; + HEAP32[$0 + 6512 >> 2] = 2385; + HEAP32[$0 + 6508 >> 2] = $2; + HEAP32[$0 + 6504 >> 2] = $1; + $3 = HEAP32[$0 + 6516 >> 2]; + $4 = HEAP32[$0 + 6512 >> 2]; + $1 = HEAP32[$0 + 6504 >> 2]; + HEAP32[$0 + 6500 >> 2] = HEAP32[$0 + 6508 >> 2]; + HEAP32[$0 + 6496 >> 2] = $1; + $2 = HEAP32[$0 + 6500 >> 2]; + $1 = HEAP32[$0 + 6496 >> 2]; + HEAP32[$0 + 1544 >> 2] = $1; + HEAP32[$0 + 1548 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_int_20_28b2EdgeShape____29_28_29_20const___invoke_b2EdgeShape__28char_20const__2c_20int_20_28b2EdgeShape____29_28_29_20const_29($4, $0 + 1544 | 0); + HEAP32[$0 + 3712 >> 2] = 1; + HEAP32[$0 + 3708 >> 2] = 16; + $1 = HEAP32[$0 + 3712 >> 2]; + $2 = HEAP32[$0 + 3708 >> 2]; + HEAP32[$0 + 6520 >> 2] = $2; + HEAP32[$0 + 6524 >> 2] = $1; + $1 = HEAP32[$0 + 6520 >> 2]; + $2 = HEAP32[$0 + 6524 >> 2]; + HEAP32[$0 + 6548 >> 2] = $3; + HEAP32[$0 + 6544 >> 2] = 2409; + HEAP32[$0 + 6540 >> 2] = $2; + HEAP32[$0 + 6536 >> 2] = $1; + $3 = HEAP32[$0 + 6548 >> 2]; + $4 = HEAP32[$0 + 6544 >> 2]; + $1 = HEAP32[$0 + 6536 >> 2]; + HEAP32[$0 + 6532 >> 2] = HEAP32[$0 + 6540 >> 2]; + HEAP32[$0 + 6528 >> 2] = $1; + $2 = HEAP32[$0 + 6532 >> 2]; + $1 = HEAP32[$0 + 6528 >> 2]; + HEAP32[$0 + 1536 >> 2] = $1; + HEAP32[$0 + 1540 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2EdgeShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const___invoke_b2EdgeShape__28char_20const__2c_20bool_20_28b2EdgeShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29($4, $0 + 1536 | 0); + HEAP32[$0 + 3700 >> 2] = 1; + HEAP32[$0 + 3696 >> 2] = 20; + $1 = HEAP32[$0 + 3700 >> 2]; + $2 = HEAP32[$0 + 3696 >> 2]; + HEAP32[$0 + 6552 >> 2] = $2; + HEAP32[$0 + 6556 >> 2] = $1; + $1 = HEAP32[$0 + 6552 >> 2]; + $2 = HEAP32[$0 + 6556 >> 2]; + HEAP32[$0 + 6580 >> 2] = $3; + HEAP32[$0 + 6576 >> 2] = 1866; + HEAP32[$0 + 6572 >> 2] = $2; + HEAP32[$0 + 6568 >> 2] = $1; + $3 = HEAP32[$0 + 6580 >> 2]; + $4 = HEAP32[$0 + 6576 >> 2]; + $1 = HEAP32[$0 + 6568 >> 2]; + HEAP32[$0 + 6564 >> 2] = HEAP32[$0 + 6572 >> 2]; + HEAP32[$0 + 6560 >> 2] = $1; + $2 = HEAP32[$0 + 6564 >> 2]; + $1 = HEAP32[$0 + 6560 >> 2]; + HEAP32[$0 + 1528 >> 2] = $1; + HEAP32[$0 + 1532 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2EdgeShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2EdgeShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2EdgeShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29($4, $0 + 1528 | 0); + HEAP32[$0 + 3688 >> 2] = 1; + HEAP32[$0 + 3684 >> 2] = 24; + $1 = HEAP32[$0 + 3688 >> 2]; + $2 = HEAP32[$0 + 3684 >> 2]; + HEAP32[$0 + 6584 >> 2] = $2; + HEAP32[$0 + 6588 >> 2] = $1; + $1 = HEAP32[$0 + 6584 >> 2]; + $2 = HEAP32[$0 + 6588 >> 2]; + HEAP32[$0 + 6612 >> 2] = $3; + HEAP32[$0 + 6608 >> 2] = 11092; + HEAP32[$0 + 6604 >> 2] = $2; + HEAP32[$0 + 6600 >> 2] = $1; + $3 = HEAP32[$0 + 6612 >> 2]; + $4 = HEAP32[$0 + 6608 >> 2]; + $1 = HEAP32[$0 + 6600 >> 2]; + HEAP32[$0 + 6596 >> 2] = HEAP32[$0 + 6604 >> 2]; + HEAP32[$0 + 6592 >> 2] = $1; + $2 = HEAP32[$0 + 6596 >> 2]; + $1 = HEAP32[$0 + 6592 >> 2]; + HEAP32[$0 + 1520 >> 2] = $1; + HEAP32[$0 + 1524 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2EdgeShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2EdgeShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2EdgeShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29($4, $0 + 1520 | 0); + HEAP32[$0 + 3676 >> 2] = 1; + HEAP32[$0 + 3672 >> 2] = 28; + $1 = HEAP32[$0 + 3676 >> 2]; + $2 = HEAP32[$0 + 3672 >> 2]; + HEAP32[$0 + 6616 >> 2] = $2; + HEAP32[$0 + 6620 >> 2] = $1; + $1 = HEAP32[$0 + 6616 >> 2]; + $2 = HEAP32[$0 + 6620 >> 2]; + HEAP32[$0 + 6648 >> 2] = $3; + HEAP32[$0 + 6644 >> 2] = 3436; + HEAP32[$0 + 6640 >> 2] = $2; + HEAP32[$0 + 6636 >> 2] = $1; + $3 = HEAP32[$0 + 6644 >> 2]; + $1 = HEAP32[$0 + 6636 >> 2]; + HEAP32[$0 + 6632 >> 2] = HEAP32[$0 + 6640 >> 2]; + HEAP32[$0 + 6628 >> 2] = $1; + $2 = HEAP32[$0 + 6632 >> 2]; + $1 = HEAP32[$0 + 6628 >> 2]; + HEAP32[$0 + 1512 >> 2] = $1; + HEAP32[$0 + 1516 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2EdgeShape____29_28b2MassData__2c_20float_29_20const___invoke_b2EdgeShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2EdgeShape____29_28b2MassData__2c_20float_29_20const_29($3, $0 + 1512 | 0); + HEAP32[$0 + 6672 >> 2] = $0 + 3671; + HEAP32[$0 + 6668 >> 2] = 9328; + void_20emscripten__base_b2Shape___verify_b2PolygonShape__28_29(); + HEAP32[$0 + 6664 >> 2] = 119; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Shape__20_28_emscripten__base_b2Shape___getUpcaster_b2PolygonShape__28_29_29_28b2PolygonShape__29(), + HEAP32[wasm2js_i32$0 + 6660 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2PolygonShape__20_28_emscripten__base_b2Shape___getDowncaster_b2PolygonShape__28_29_29_28b2Shape__29(), + HEAP32[wasm2js_i32$0 + 6656 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 6652 >> 2] = 120; + $1 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2Shape___get_28_29(); + HEAP32[$0 + 15368 >> 2] = HEAP32[$0 + 6664 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 6664 >> 2]; + HEAP32[$0 + 15372 >> 2] = HEAP32[$0 + 6660 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 6660 >> 2]; + HEAP32[$0 + 15376 >> 2] = HEAP32[$0 + 6656 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 6656 >> 2]; + $11 = HEAP32[$0 + 6668 >> 2]; + HEAP32[$0 + 15380 >> 2] = HEAP32[$0 + 6652 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 6652 >> 2]); + HEAP32[$0 + 6676 >> 2] = $0 + 3671; + HEAP32[$0 + 15388 >> 2] = HEAP32[$0 + 6676 >> 2]; + HEAP32[$0 + 15384 >> 2] = 121; + $3 = HEAP32[$0 + 15388 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2PolygonShape__20_28__29_28_29___invoke_b2PolygonShape__28b2PolygonShape__20_28__29_28_29_29(HEAP32[$0 + 15384 >> 2]); + HEAP32[$0 + 3664 >> 2] = 1; + HEAP32[$0 + 3660 >> 2] = 8; + $1 = HEAP32[$0 + 3664 >> 2]; + $2 = HEAP32[$0 + 3660 >> 2]; + HEAP32[$0 + 6680 >> 2] = $2; + HEAP32[$0 + 6684 >> 2] = $1; + $1 = HEAP32[$0 + 6680 >> 2]; + $2 = HEAP32[$0 + 6684 >> 2]; + HEAP32[$0 + 6708 >> 2] = $3; + HEAP32[$0 + 6704 >> 2] = 9386; + HEAP32[$0 + 6700 >> 2] = $2; + HEAP32[$0 + 6696 >> 2] = $1; + $3 = HEAP32[$0 + 6708 >> 2]; + $4 = HEAP32[$0 + 6704 >> 2]; + $1 = HEAP32[$0 + 6696 >> 2]; + HEAP32[$0 + 6692 >> 2] = HEAP32[$0 + 6700 >> 2]; + HEAP32[$0 + 6688 >> 2] = $1; + $2 = HEAP32[$0 + 6692 >> 2]; + $1 = HEAP32[$0 + 6688 >> 2]; + HEAP32[$0 + 1504 >> 2] = $1; + HEAP32[$0 + 1508 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Shape__20_28b2PolygonShape____29_28b2BlockAllocator__29_20const___invoke_b2PolygonShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Shape__20_28b2PolygonShape____29_28b2BlockAllocator__29_20const_29($4, $0 + 1504 | 0); + HEAP32[$0 + 3656 >> 2] = 1; + HEAP32[$0 + 3652 >> 2] = 12; + $1 = HEAP32[$0 + 3656 >> 2]; + $2 = HEAP32[$0 + 3652 >> 2]; + HEAP32[$0 + 6712 >> 2] = $2; + HEAP32[$0 + 6716 >> 2] = $1; + $1 = HEAP32[$0 + 6712 >> 2]; + $2 = HEAP32[$0 + 6716 >> 2]; + HEAP32[$0 + 6744 >> 2] = $3; + HEAP32[$0 + 6740 >> 2] = 2385; + HEAP32[$0 + 6736 >> 2] = $2; + HEAP32[$0 + 6732 >> 2] = $1; + $3 = HEAP32[$0 + 6744 >> 2]; + $4 = HEAP32[$0 + 6740 >> 2]; + $1 = HEAP32[$0 + 6732 >> 2]; + HEAP32[$0 + 6728 >> 2] = HEAP32[$0 + 6736 >> 2]; + HEAP32[$0 + 6724 >> 2] = $1; + $2 = HEAP32[$0 + 6728 >> 2]; + $1 = HEAP32[$0 + 6724 >> 2]; + HEAP32[$0 + 1496 >> 2] = $1; + HEAP32[$0 + 1500 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_int_20_28b2PolygonShape____29_28_29_20const___invoke_b2PolygonShape__28char_20const__2c_20int_20_28b2PolygonShape____29_28_29_20const_29($4, $0 + 1496 | 0); + $1 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_4__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_4__28embind_init_b2_28_29__$_4_20const__29($0 + 3651 | 0); + HEAP32[$0 + 6756 >> 2] = $3; + HEAP32[$0 + 6752 >> 2] = 3019; + HEAP32[$0 + 6748 >> 2] = $1; + $3 = HEAP32[$0 + 6756 >> 2]; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29___invoke_b2PolygonShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_29(HEAP32[$0 + 6752 >> 2], HEAP32[$0 + 6748 >> 2]); + HEAP32[$0 + 3644 >> 2] = 1; + HEAP32[$0 + 3640 >> 2] = 16; + $1 = HEAP32[$0 + 3644 >> 2]; + $2 = HEAP32[$0 + 3640 >> 2]; + HEAP32[$0 + 6760 >> 2] = $2; + HEAP32[$0 + 6764 >> 2] = $1; + $1 = HEAP32[$0 + 6760 >> 2]; + $2 = HEAP32[$0 + 6764 >> 2]; + HEAP32[$0 + 6788 >> 2] = $3; + HEAP32[$0 + 6784 >> 2] = 2409; + HEAP32[$0 + 6780 >> 2] = $2; + HEAP32[$0 + 6776 >> 2] = $1; + $3 = HEAP32[$0 + 6788 >> 2]; + $4 = HEAP32[$0 + 6784 >> 2]; + $1 = HEAP32[$0 + 6776 >> 2]; + HEAP32[$0 + 6772 >> 2] = HEAP32[$0 + 6780 >> 2]; + HEAP32[$0 + 6768 >> 2] = $1; + $2 = HEAP32[$0 + 6772 >> 2]; + $1 = HEAP32[$0 + 6768 >> 2]; + HEAP32[$0 + 1488 >> 2] = $1; + HEAP32[$0 + 1492 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2PolygonShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const___invoke_b2PolygonShape__28char_20const__2c_20bool_20_28b2PolygonShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29($4, $0 + 1488 | 0); + HEAP32[$0 + 3632 >> 2] = 1; + HEAP32[$0 + 3628 >> 2] = 20; + $1 = HEAP32[$0 + 3632 >> 2]; + $2 = HEAP32[$0 + 3628 >> 2]; + HEAP32[$0 + 6792 >> 2] = $2; + HEAP32[$0 + 6796 >> 2] = $1; + $1 = HEAP32[$0 + 6792 >> 2]; + $2 = HEAP32[$0 + 6796 >> 2]; + HEAP32[$0 + 6820 >> 2] = $3; + HEAP32[$0 + 6816 >> 2] = 1866; + HEAP32[$0 + 6812 >> 2] = $2; + HEAP32[$0 + 6808 >> 2] = $1; + $3 = HEAP32[$0 + 6820 >> 2]; + $4 = HEAP32[$0 + 6816 >> 2]; + $1 = HEAP32[$0 + 6808 >> 2]; + HEAP32[$0 + 6804 >> 2] = HEAP32[$0 + 6812 >> 2]; + HEAP32[$0 + 6800 >> 2] = $1; + $2 = HEAP32[$0 + 6804 >> 2]; + $1 = HEAP32[$0 + 6800 >> 2]; + HEAP32[$0 + 1480 >> 2] = $1; + HEAP32[$0 + 1484 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2PolygonShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2PolygonShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2PolygonShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29($4, $0 + 1480 | 0); + HEAP32[$0 + 3620 >> 2] = 1; + HEAP32[$0 + 3616 >> 2] = 24; + $1 = HEAP32[$0 + 3620 >> 2]; + $2 = HEAP32[$0 + 3616 >> 2]; + HEAP32[$0 + 6824 >> 2] = $2; + HEAP32[$0 + 6828 >> 2] = $1; + $1 = HEAP32[$0 + 6824 >> 2]; + $2 = HEAP32[$0 + 6828 >> 2]; + HEAP32[$0 + 6852 >> 2] = $3; + HEAP32[$0 + 6848 >> 2] = 11092; + HEAP32[$0 + 6844 >> 2] = $2; + HEAP32[$0 + 6840 >> 2] = $1; + $3 = HEAP32[$0 + 6852 >> 2]; + $4 = HEAP32[$0 + 6848 >> 2]; + $1 = HEAP32[$0 + 6840 >> 2]; + HEAP32[$0 + 6836 >> 2] = HEAP32[$0 + 6844 >> 2]; + HEAP32[$0 + 6832 >> 2] = $1; + $2 = HEAP32[$0 + 6836 >> 2]; + $1 = HEAP32[$0 + 6832 >> 2]; + HEAP32[$0 + 1472 >> 2] = $1; + HEAP32[$0 + 1476 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2PolygonShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2PolygonShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2PolygonShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29($4, $0 + 1472 | 0); + HEAP32[$0 + 3608 >> 2] = 1; + HEAP32[$0 + 3604 >> 2] = 28; + $1 = HEAP32[$0 + 3608 >> 2]; + $2 = HEAP32[$0 + 3604 >> 2]; + HEAP32[$0 + 6856 >> 2] = $2; + HEAP32[$0 + 6860 >> 2] = $1; + $1 = HEAP32[$0 + 6856 >> 2]; + $2 = HEAP32[$0 + 6860 >> 2]; + HEAP32[$0 + 6884 >> 2] = $3; + HEAP32[$0 + 6880 >> 2] = 3436; + HEAP32[$0 + 6876 >> 2] = $2; + HEAP32[$0 + 6872 >> 2] = $1; + $3 = HEAP32[$0 + 6884 >> 2]; + $4 = HEAP32[$0 + 6880 >> 2]; + $1 = HEAP32[$0 + 6872 >> 2]; + HEAP32[$0 + 6868 >> 2] = HEAP32[$0 + 6876 >> 2]; + HEAP32[$0 + 6864 >> 2] = $1; + $2 = HEAP32[$0 + 6868 >> 2]; + $1 = HEAP32[$0 + 6864 >> 2]; + HEAP32[$0 + 1464 >> 2] = $1; + HEAP32[$0 + 1468 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2PolygonShape____29_28b2MassData__2c_20float_29_20const___invoke_b2PolygonShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2PolygonShape____29_28b2MassData__2c_20float_29_20const_29($4, $0 + 1464 | 0); + HEAP32[$0 + 3600 >> 2] = 0; + HEAP32[$0 + 3596 >> 2] = 122; + $1 = HEAP32[$0 + 3600 >> 2]; + $2 = HEAP32[$0 + 3596 >> 2]; + HEAP32[$0 + 6888 >> 2] = $2; + HEAP32[$0 + 6892 >> 2] = $1; + $1 = HEAP32[$0 + 6888 >> 2]; + $2 = HEAP32[$0 + 6892 >> 2]; + HEAP32[$0 + 6916 >> 2] = $3; + HEAP32[$0 + 6912 >> 2] = 8943; + HEAP32[$0 + 6908 >> 2] = $2; + HEAP32[$0 + 6904 >> 2] = $1; + $3 = HEAP32[$0 + 6916 >> 2]; + $4 = HEAP32[$0 + 6912 >> 2]; + $1 = HEAP32[$0 + 6904 >> 2]; + HEAP32[$0 + 6900 >> 2] = HEAP32[$0 + 6908 >> 2]; + HEAP32[$0 + 6896 >> 2] = $1; + $2 = HEAP32[$0 + 6900 >> 2]; + $1 = HEAP32[$0 + 6896 >> 2]; + HEAP32[$0 + 1456 >> 2] = $1; + HEAP32[$0 + 1460 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2PolygonShape____29_28_29_20const___invoke_b2PolygonShape__28char_20const__2c_20bool_20_28b2PolygonShape____29_28_29_20const_29($4, $0 + 1456 | 0); + HEAP32[$0 + 3584 >> 2] = 0; + HEAP32[$0 + 3580 >> 2] = 123; + $1 = HEAP32[$0 + 3584 >> 2]; + $2 = HEAP32[$0 + 3580 >> 2]; + HEAP32[$0 + 1448 >> 2] = $2; + HEAP32[$0 + 1452 >> 2] = $1; + decltype_28fp_29_20emscripten__select_overload_void_20_28float_2c_20float_29_2c_20b2PolygonShape__28void_20_28b2PolygonShape____29_28float_2c_20float_29_29($0 + 3588 | 0, $0 + 1448 | 0); + $1 = HEAP32[$0 + 3588 >> 2]; + HEAP32[$0 + 3576 >> 2] = HEAP32[$0 + 3592 >> 2]; + HEAP32[$0 + 3572 >> 2] = $1; + $2 = HEAP32[$0 + 3576 >> 2]; + $1 = HEAP32[$0 + 3572 >> 2]; + HEAP32[$0 + 6920 >> 2] = $1; + HEAP32[$0 + 6924 >> 2] = $2; + $1 = HEAP32[$0 + 6920 >> 2]; + $2 = HEAP32[$0 + 6924 >> 2]; + HEAP32[$0 + 6948 >> 2] = $3; + HEAP32[$0 + 6944 >> 2] = 1735; + HEAP32[$0 + 6940 >> 2] = $2; + HEAP32[$0 + 6936 >> 2] = $1; + $3 = HEAP32[$0 + 6948 >> 2]; + $4 = HEAP32[$0 + 6944 >> 2]; + $1 = HEAP32[$0 + 6936 >> 2]; + HEAP32[$0 + 6932 >> 2] = HEAP32[$0 + 6940 >> 2]; + HEAP32[$0 + 6928 >> 2] = $1; + $1 = HEAP32[$0 + 6932 >> 2]; + $2 = HEAP32[$0 + 6928 >> 2]; + HEAP32[$0 + 1440 >> 2] = $2; + HEAP32[$0 + 1444 >> 2] = $1; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2PolygonShape____29_28float_2c_20float_29___invoke_b2PolygonShape__28char_20const__2c_20void_20_28b2PolygonShape____29_28float_2c_20float_29_29($4, $0 + 1440 | 0); + HEAP32[$0 + 3560 >> 2] = 0; + HEAP32[$0 + 3556 >> 2] = 124; + $2 = HEAP32[$0 + 3560 >> 2]; + $1 = HEAP32[$0 + 3556 >> 2]; + HEAP32[$0 + 1432 >> 2] = $1; + HEAP32[$0 + 1436 >> 2] = $2; + decltype_28fp_29_20emscripten__select_overload_void_20_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_2c_20b2PolygonShape__28void_20_28b2PolygonShape____29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_29($0 + 3564 | 0, $0 + 1432 | 0); + $1 = HEAP32[$0 + 3564 >> 2]; + HEAP32[$0 + 3552 >> 2] = HEAP32[$0 + 3568 >> 2]; + HEAP32[$0 + 3548 >> 2] = $1; + $1 = HEAP32[$0 + 3552 >> 2]; + $2 = HEAP32[$0 + 3548 >> 2]; + HEAP32[$0 + 6952 >> 2] = $2; + HEAP32[$0 + 6956 >> 2] = $1; + $1 = HEAP32[$0 + 6952 >> 2]; + $2 = HEAP32[$0 + 6956 >> 2]; + HEAP32[$0 + 6980 >> 2] = $3; + HEAP32[$0 + 6976 >> 2] = 9504; + HEAP32[$0 + 6972 >> 2] = $2; + HEAP32[$0 + 6968 >> 2] = $1; + $3 = HEAP32[$0 + 6976 >> 2]; + $1 = HEAP32[$0 + 6968 >> 2]; + HEAP32[$0 + 6964 >> 2] = HEAP32[$0 + 6972 >> 2]; + HEAP32[$0 + 6960 >> 2] = $1; + $2 = HEAP32[$0 + 6964 >> 2]; + $1 = HEAP32[$0 + 6960 >> 2]; + HEAP32[$0 + 1424 >> 2] = $1; + HEAP32[$0 + 1428 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2PolygonShape____29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29___invoke_b2PolygonShape__28char_20const__2c_20void_20_28b2PolygonShape____29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_29($3, $0 + 1424 | 0); + HEAP32[$0 + 7004 >> 2] = $0 + 3547; + HEAP32[$0 + 7e3 >> 2] = 8007; + void_20emscripten__internal__NoBaseClass__verify_b2FixtureDef__28_29(); + HEAP32[$0 + 6996 >> 2] = 125; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2FixtureDef__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 6992 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2FixtureDef__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 6988 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 6984 >> 2] = 126; + $1 = emscripten__internal__TypeID_b2FixtureDef_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2FixtureDef__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2FixtureDef_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 15392 >> 2] = HEAP32[$0 + 6996 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 6996 >> 2]; + HEAP32[$0 + 14756 >> 2] = HEAP32[$0 + 6992 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 6992 >> 2]; + HEAP32[$0 + 14752 >> 2] = HEAP32[$0 + 6988 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 6988 >> 2]; + $11 = HEAP32[$0 + 7e3 >> 2]; + HEAP32[$0 + 15396 >> 2] = HEAP32[$0 + 6984 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 6984 >> 2]); + HEAP32[$0 + 7008 >> 2] = $0 + 3547; + HEAP32[$0 + 15404 >> 2] = HEAP32[$0 + 7008 >> 2]; + HEAP32[$0 + 15400 >> 2] = 127; + $1 = HEAP32[$0 + 15404 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2FixtureDef__20_28__29_28_29___invoke_b2FixtureDef__28b2FixtureDef__20_28__29_28_29_29(HEAP32[$0 + 15400 >> 2]); + $2 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_5__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_5__28embind_init_b2_28_29__$_5_20const__29($0 + 3546 | 0); + HEAP32[$0 + 7020 >> 2] = $1; + HEAP32[$0 + 7016 >> 2] = 9310; + HEAP32[$0 + 7012 >> 2] = $2; + $1 = HEAP32[$0 + 7020 >> 2]; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2FixtureDef__2c_20b2Shape_20const__29___invoke_b2FixtureDef_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2FixtureDef__2c_20b2Shape_20const__29_29(HEAP32[$0 + 7016 >> 2], HEAP32[$0 + 7012 >> 2]); + $2 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_6__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_6__28embind_init_b2_28_29__$_6_20const__29($0 + 3544 | 0); + HEAP32[$0 + 7032 >> 2] = $1; + HEAP32[$0 + 7028 >> 2] = 9319; + HEAP32[$0 + 7024 >> 2] = $2; + $1 = HEAP32[$0 + 7032 >> 2]; + void_20emscripten__internal__RegisterClassMethod_b2Shape_20const__20_28__29_28b2FixtureDef__29___invoke_b2FixtureDef_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Shape_20const__20_28__29_28b2FixtureDef__29_29(HEAP32[$0 + 7028 >> 2], HEAP32[$0 + 7024 >> 2]); + HEAP32[$0 + 7092 >> 2] = $1; + HEAP32[$0 + 7088 >> 2] = 6478; + HEAP32[$0 + 7084 >> 2] = 8; + $1 = HEAP32[$0 + 7092 >> 2]; + HEAP32[$0 + 7080 >> 2] = 128; + HEAP32[$0 + 7076 >> 2] = 129; + $2 = emscripten__internal__TypeID_b2FixtureDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7088 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15408 >> 2] = HEAP32[$0 + 7080 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7080 >> 2]; + $7 = float_20b2FixtureDef_____20emscripten__internal__getContext_float_20b2FixtureDef_____28float_20b2FixtureDef____20const__29($0 + 7084 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15420 >> 2] = HEAP32[$0 + 7076 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 7076 >> 2], float_20b2FixtureDef_____20emscripten__internal__getContext_float_20b2FixtureDef_____28float_20b2FixtureDef____20const__29($0 + 7084 | 0) | 0); + HEAP32[$0 + 7072 >> 2] = $1; + HEAP32[$0 + 7068 >> 2] = 6357; + HEAP32[$0 + 7064 >> 2] = 12; + $1 = HEAP32[$0 + 7072 >> 2]; + HEAP32[$0 + 7060 >> 2] = 128; + HEAP32[$0 + 7056 >> 2] = 129; + $2 = emscripten__internal__TypeID_b2FixtureDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7068 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15412 >> 2] = HEAP32[$0 + 7060 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7060 >> 2]; + $7 = float_20b2FixtureDef_____20emscripten__internal__getContext_float_20b2FixtureDef_____28float_20b2FixtureDef____20const__29($0 + 7064 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15424 >> 2] = HEAP32[$0 + 7056 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 7056 >> 2], float_20b2FixtureDef_____20emscripten__internal__getContext_float_20b2FixtureDef_____28float_20b2FixtureDef____20const__29($0 + 7064 | 0) | 0); + HEAP32[$0 + 7052 >> 2] = $1; + HEAP32[$0 + 7048 >> 2] = 1081; + HEAP32[$0 + 7044 >> 2] = 16; + $1 = HEAP32[$0 + 7052 >> 2]; + HEAP32[$0 + 7040 >> 2] = 128; + HEAP32[$0 + 7036 >> 2] = 129; + $2 = emscripten__internal__TypeID_b2FixtureDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7048 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15416 >> 2] = HEAP32[$0 + 7040 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7040 >> 2]; + $7 = float_20b2FixtureDef_____20emscripten__internal__getContext_float_20b2FixtureDef_____28float_20b2FixtureDef____20const__29($0 + 7044 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15428 >> 2] = HEAP32[$0 + 7036 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 7036 >> 2], float_20b2FixtureDef_____20emscripten__internal__getContext_float_20b2FixtureDef_____28float_20b2FixtureDef____20const__29($0 + 7044 | 0) | 0); + HEAP32[$0 + 7112 >> 2] = $1; + HEAP32[$0 + 7108 >> 2] = 3809; + HEAP32[$0 + 7104 >> 2] = 20; + $1 = HEAP32[$0 + 7112 >> 2]; + HEAP32[$0 + 7100 >> 2] = 130; + HEAP32[$0 + 7096 >> 2] = 131; + $2 = emscripten__internal__TypeID_b2FixtureDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7108 >> 2]; + $4 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15432 >> 2] = HEAP32[$0 + 7100 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7100 >> 2]; + $7 = bool_20b2FixtureDef_____20emscripten__internal__getContext_bool_20b2FixtureDef_____28bool_20b2FixtureDef____20const__29($0 + 7104 | 0); + $8 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15436 >> 2] = HEAP32[$0 + 7096 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 7096 >> 2], bool_20b2FixtureDef_____20emscripten__internal__getContext_bool_20b2FixtureDef_____28bool_20b2FixtureDef____20const__29($0 + 7104 | 0) | 0); + HEAP32[$0 + 7132 >> 2] = $1; + HEAP32[$0 + 7128 >> 2] = 3944; + HEAP32[$0 + 7124 >> 2] = 22; + HEAP32[$0 + 7120 >> 2] = 132; + HEAP32[$0 + 7116 >> 2] = 133; + $1 = emscripten__internal__TypeID_b2FixtureDef_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 7128 >> 2]; + $3 = emscripten__internal__TypeID_b2Filter_2c_20void___get_28_29(); + HEAP32[$0 + 15440 >> 2] = HEAP32[$0 + 7120 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 7120 >> 2]; + $6 = b2Filter_20b2FixtureDef_____20emscripten__internal__getContext_b2Filter_20b2FixtureDef_____28b2Filter_20b2FixtureDef____20const__29($0 + 7124 | 0); + $7 = emscripten__internal__TypeID_b2Filter_2c_20void___get_28_29(); + HEAP32[$0 + 15444 >> 2] = HEAP32[$0 + 7116 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 7116 >> 2], b2Filter_20b2FixtureDef_____20emscripten__internal__getContext_b2Filter_20b2FixtureDef_____28b2Filter_20b2FixtureDef____20const__29($0 + 7124 | 0) | 0); + HEAP32[$0 + 7156 >> 2] = $0 + 3542; + HEAP32[$0 + 7152 >> 2] = 9213; + void_20emscripten__internal__NoBaseClass__verify_b2Fixture__28_29(); + HEAP32[$0 + 7148 >> 2] = 134; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2Fixture__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 7144 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2Fixture__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 7140 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 7136 >> 2] = 135; + $1 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Fixture__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 15448 >> 2] = HEAP32[$0 + 7148 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7148 >> 2]; + HEAP32[$0 + 14748 >> 2] = HEAP32[$0 + 7144 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 7144 >> 2]; + HEAP32[$0 + 14744 >> 2] = HEAP32[$0 + 7140 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 7140 >> 2]; + $11 = HEAP32[$0 + 7152 >> 2]; + HEAP32[$0 + 15452 >> 2] = HEAP32[$0 + 7136 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 7136 >> 2]); + HEAP32[$0 + 3536 >> 2] = 0; + HEAP32[$0 + 3532 >> 2] = 136; + $1 = HEAP32[$0 + 3536 >> 2]; + $2 = HEAP32[$0 + 3532 >> 2]; + HEAP32[$0 + 7160 >> 2] = $2; + HEAP32[$0 + 7164 >> 2] = $1; + $1 = HEAP32[$0 + 7160 >> 2]; + $2 = HEAP32[$0 + 7164 >> 2]; + HEAP32[$0 + 7188 >> 2] = $0 + 3542; + HEAP32[$0 + 7184 >> 2] = 9253; + HEAP32[$0 + 7180 >> 2] = $2; + HEAP32[$0 + 7176 >> 2] = $1; + $3 = HEAP32[$0 + 7188 >> 2]; + $4 = HEAP32[$0 + 7184 >> 2]; + $1 = HEAP32[$0 + 7176 >> 2]; + HEAP32[$0 + 7172 >> 2] = HEAP32[$0 + 7180 >> 2]; + HEAP32[$0 + 7168 >> 2] = $1; + $2 = HEAP32[$0 + 7172 >> 2]; + $1 = HEAP32[$0 + 7168 >> 2]; + HEAP32[$0 + 1416 >> 2] = $1; + HEAP32[$0 + 1420 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Shape__Type_20_28b2Fixture____29_28_29_20const___invoke_b2Fixture__28char_20const__2c_20b2Shape__Type_20_28b2Fixture____29_28_29_20const_29($4, $0 + 1416 | 0); + HEAP32[$0 + 3524 >> 2] = 0; + HEAP32[$0 + 3520 >> 2] = 137; + $1 = HEAP32[$0 + 3524 >> 2]; + $2 = HEAP32[$0 + 3520 >> 2]; + HEAP32[$0 + 7192 >> 2] = $2; + HEAP32[$0 + 7196 >> 2] = $1; + $1 = HEAP32[$0 + 7192 >> 2]; + $2 = HEAP32[$0 + 7196 >> 2]; + HEAP32[$0 + 7220 >> 2] = $3; + HEAP32[$0 + 7216 >> 2] = 9319; + HEAP32[$0 + 7212 >> 2] = $2; + HEAP32[$0 + 7208 >> 2] = $1; + $3 = HEAP32[$0 + 7220 >> 2]; + $4 = HEAP32[$0 + 7216 >> 2]; + $1 = HEAP32[$0 + 7208 >> 2]; + HEAP32[$0 + 7204 >> 2] = HEAP32[$0 + 7212 >> 2]; + HEAP32[$0 + 7200 >> 2] = $1; + $2 = HEAP32[$0 + 7204 >> 2]; + $1 = HEAP32[$0 + 7200 >> 2]; + HEAP32[$0 + 1408 >> 2] = $1; + HEAP32[$0 + 1412 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Shape__20_28b2Fixture____29_28_29___invoke_b2Fixture_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Shape__20_28b2Fixture____29_28_29_29($4, $0 + 1408 | 0); + HEAP32[$0 + 3516 >> 2] = 0; + HEAP32[$0 + 3512 >> 2] = 138; + $1 = HEAP32[$0 + 3516 >> 2]; + $2 = HEAP32[$0 + 3512 >> 2]; + HEAP32[$0 + 7224 >> 2] = $2; + HEAP32[$0 + 7228 >> 2] = $1; + $1 = HEAP32[$0 + 7224 >> 2]; + $2 = HEAP32[$0 + 7228 >> 2]; + HEAP32[$0 + 7252 >> 2] = $3; + HEAP32[$0 + 7248 >> 2] = 3799; + HEAP32[$0 + 7244 >> 2] = $2; + HEAP32[$0 + 7240 >> 2] = $1; + $3 = HEAP32[$0 + 7252 >> 2]; + $4 = HEAP32[$0 + 7248 >> 2]; + $1 = HEAP32[$0 + 7240 >> 2]; + HEAP32[$0 + 7236 >> 2] = HEAP32[$0 + 7244 >> 2]; + HEAP32[$0 + 7232 >> 2] = $1; + $2 = HEAP32[$0 + 7236 >> 2]; + $1 = HEAP32[$0 + 7232 >> 2]; + HEAP32[$0 + 1400 >> 2] = $1; + HEAP32[$0 + 1404 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28bool_29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28bool_29_29($4, $0 + 1400 | 0); + HEAP32[$0 + 3508 >> 2] = 0; + HEAP32[$0 + 3504 >> 2] = 139; + $1 = HEAP32[$0 + 3508 >> 2]; + $2 = HEAP32[$0 + 3504 >> 2]; + HEAP32[$0 + 7256 >> 2] = $2; + HEAP32[$0 + 7260 >> 2] = $1; + $1 = HEAP32[$0 + 7256 >> 2]; + $2 = HEAP32[$0 + 7260 >> 2]; + HEAP32[$0 + 7284 >> 2] = $3; + HEAP32[$0 + 7280 >> 2] = 3818; + HEAP32[$0 + 7276 >> 2] = $2; + HEAP32[$0 + 7272 >> 2] = $1; + $3 = HEAP32[$0 + 7284 >> 2]; + $4 = HEAP32[$0 + 7280 >> 2]; + $1 = HEAP32[$0 + 7272 >> 2]; + HEAP32[$0 + 7268 >> 2] = HEAP32[$0 + 7276 >> 2]; + HEAP32[$0 + 7264 >> 2] = $1; + $2 = HEAP32[$0 + 7268 >> 2]; + $1 = HEAP32[$0 + 7264 >> 2]; + HEAP32[$0 + 1392 >> 2] = $1; + HEAP32[$0 + 1396 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Fixture____29_28_29_20const___invoke_b2Fixture__28char_20const__2c_20bool_20_28b2Fixture____29_28_29_20const_29($4, $0 + 1392 | 0); + HEAP32[$0 + 3500 >> 2] = 0; + HEAP32[$0 + 3496 >> 2] = 140; + $1 = HEAP32[$0 + 3500 >> 2]; + $2 = HEAP32[$0 + 3496 >> 2]; + HEAP32[$0 + 7288 >> 2] = $2; + HEAP32[$0 + 7292 >> 2] = $1; + $1 = HEAP32[$0 + 7288 >> 2]; + $2 = HEAP32[$0 + 7292 >> 2]; + HEAP32[$0 + 7316 >> 2] = $3; + HEAP32[$0 + 7312 >> 2] = 10463; + HEAP32[$0 + 7308 >> 2] = $2; + HEAP32[$0 + 7304 >> 2] = $1; + $3 = HEAP32[$0 + 7316 >> 2]; + $4 = HEAP32[$0 + 7312 >> 2]; + $1 = HEAP32[$0 + 7304 >> 2]; + HEAP32[$0 + 7300 >> 2] = HEAP32[$0 + 7308 >> 2]; + HEAP32[$0 + 7296 >> 2] = $1; + $2 = HEAP32[$0 + 7300 >> 2]; + $1 = HEAP32[$0 + 7296 >> 2]; + HEAP32[$0 + 1384 >> 2] = $1; + HEAP32[$0 + 1388 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28b2Filter_20const__29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28b2Filter_20const__29_29($4, $0 + 1384 | 0); + HEAP32[$0 + 3492 >> 2] = 0; + HEAP32[$0 + 3488 >> 2] = 141; + $1 = HEAP32[$0 + 3492 >> 2]; + $2 = HEAP32[$0 + 3488 >> 2]; + HEAP32[$0 + 7320 >> 2] = $2; + HEAP32[$0 + 7324 >> 2] = $1; + $1 = HEAP32[$0 + 7320 >> 2]; + $2 = HEAP32[$0 + 7324 >> 2]; + HEAP32[$0 + 7348 >> 2] = $3; + HEAP32[$0 + 7344 >> 2] = 10477; + HEAP32[$0 + 7340 >> 2] = $2; + HEAP32[$0 + 7336 >> 2] = $1; + $3 = HEAP32[$0 + 7348 >> 2]; + $4 = HEAP32[$0 + 7344 >> 2]; + $1 = HEAP32[$0 + 7336 >> 2]; + HEAP32[$0 + 7332 >> 2] = HEAP32[$0 + 7340 >> 2]; + HEAP32[$0 + 7328 >> 2] = $1; + $2 = HEAP32[$0 + 7332 >> 2]; + $1 = HEAP32[$0 + 7328 >> 2]; + HEAP32[$0 + 1376 >> 2] = $1; + HEAP32[$0 + 1380 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Filter_20const__20_28b2Fixture____29_28_29_20const___invoke_b2Fixture__28char_20const__2c_20b2Filter_20const__20_28b2Fixture____29_28_29_20const_29($4, $0 + 1376 | 0); + HEAP32[$0 + 3484 >> 2] = 0; + HEAP32[$0 + 3480 >> 2] = 142; + $1 = HEAP32[$0 + 3484 >> 2]; + $2 = HEAP32[$0 + 3480 >> 2]; + HEAP32[$0 + 7352 >> 2] = $2; + HEAP32[$0 + 7356 >> 2] = $1; + $1 = HEAP32[$0 + 7352 >> 2]; + $2 = HEAP32[$0 + 7356 >> 2]; + HEAP32[$0 + 7380 >> 2] = $3; + HEAP32[$0 + 7376 >> 2] = 3942; + HEAP32[$0 + 7372 >> 2] = $2; + HEAP32[$0 + 7368 >> 2] = $1; + $3 = HEAP32[$0 + 7380 >> 2]; + $4 = HEAP32[$0 + 7376 >> 2]; + $1 = HEAP32[$0 + 7368 >> 2]; + HEAP32[$0 + 7364 >> 2] = HEAP32[$0 + 7372 >> 2]; + HEAP32[$0 + 7360 >> 2] = $1; + $2 = HEAP32[$0 + 7364 >> 2]; + $1 = HEAP32[$0 + 7360 >> 2]; + HEAP32[$0 + 1368 >> 2] = $1; + HEAP32[$0 + 1372 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28_29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28_29_29($4, $0 + 1368 | 0); + HEAP32[$0 + 3472 >> 2] = 0; + HEAP32[$0 + 3468 >> 2] = 143; + $1 = HEAP32[$0 + 3472 >> 2]; + $2 = HEAP32[$0 + 3468 >> 2]; + HEAP32[$0 + 7384 >> 2] = $2; + HEAP32[$0 + 7388 >> 2] = $1; + $1 = HEAP32[$0 + 7384 >> 2]; + $2 = HEAP32[$0 + 7388 >> 2]; + HEAP32[$0 + 7412 >> 2] = $3; + HEAP32[$0 + 7408 >> 2] = 1627; + HEAP32[$0 + 7404 >> 2] = $2; + HEAP32[$0 + 7400 >> 2] = $1; + $3 = HEAP32[$0 + 7412 >> 2]; + $4 = HEAP32[$0 + 7408 >> 2]; + $1 = HEAP32[$0 + 7400 >> 2]; + HEAP32[$0 + 7396 >> 2] = HEAP32[$0 + 7404 >> 2]; + HEAP32[$0 + 7392 >> 2] = $1; + $2 = HEAP32[$0 + 7396 >> 2]; + $1 = HEAP32[$0 + 7392 >> 2]; + HEAP32[$0 + 1360 >> 2] = $1; + HEAP32[$0 + 1364 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Body__20_28b2Fixture____29_28_29___invoke_b2Fixture_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Body__20_28b2Fixture____29_28_29_29($4, $0 + 1360 | 0); + HEAP32[$0 + 3464 >> 2] = 0; + HEAP32[$0 + 3460 >> 2] = 144; + $1 = HEAP32[$0 + 3464 >> 2]; + $2 = HEAP32[$0 + 3460 >> 2]; + HEAP32[$0 + 7416 >> 2] = $2; + HEAP32[$0 + 7420 >> 2] = $1; + $1 = HEAP32[$0 + 7416 >> 2]; + $2 = HEAP32[$0 + 7420 >> 2]; + HEAP32[$0 + 7444 >> 2] = $3; + HEAP32[$0 + 7440 >> 2] = 2409; + HEAP32[$0 + 7436 >> 2] = $2; + HEAP32[$0 + 7432 >> 2] = $1; + $3 = HEAP32[$0 + 7444 >> 2]; + $4 = HEAP32[$0 + 7440 >> 2]; + $1 = HEAP32[$0 + 7432 >> 2]; + HEAP32[$0 + 7428 >> 2] = HEAP32[$0 + 7436 >> 2]; + HEAP32[$0 + 7424 >> 2] = $1; + $2 = HEAP32[$0 + 7428 >> 2]; + $1 = HEAP32[$0 + 7424 >> 2]; + HEAP32[$0 + 1352 >> 2] = $1; + HEAP32[$0 + 1356 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Fixture____29_28b2Vec2_20const__29_20const___invoke_b2Fixture__28char_20const__2c_20bool_20_28b2Fixture____29_28b2Vec2_20const__29_20const_29($4, $0 + 1352 | 0); + HEAP32[$0 + 3452 >> 2] = 0; + HEAP32[$0 + 3448 >> 2] = 145; + $1 = HEAP32[$0 + 3452 >> 2]; + $2 = HEAP32[$0 + 3448 >> 2]; + HEAP32[$0 + 7448 >> 2] = $2; + HEAP32[$0 + 7452 >> 2] = $1; + $1 = HEAP32[$0 + 7448 >> 2]; + $2 = HEAP32[$0 + 7452 >> 2]; + HEAP32[$0 + 7476 >> 2] = $3; + HEAP32[$0 + 7472 >> 2] = 1866; + HEAP32[$0 + 7468 >> 2] = $2; + HEAP32[$0 + 7464 >> 2] = $1; + $3 = HEAP32[$0 + 7476 >> 2]; + $4 = HEAP32[$0 + 7472 >> 2]; + $1 = HEAP32[$0 + 7464 >> 2]; + HEAP32[$0 + 7460 >> 2] = HEAP32[$0 + 7468 >> 2]; + HEAP32[$0 + 7456 >> 2] = $1; + $2 = HEAP32[$0 + 7460 >> 2]; + $1 = HEAP32[$0 + 7456 >> 2]; + HEAP32[$0 + 1344 >> 2] = $1; + HEAP32[$0 + 1348 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Fixture____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const___invoke_b2Fixture_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2Fixture____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const_29($4, $0 + 1344 | 0); + HEAP32[$0 + 3440 >> 2] = 0; + HEAP32[$0 + 3436 >> 2] = 146; + $1 = HEAP32[$0 + 3440 >> 2]; + $2 = HEAP32[$0 + 3436 >> 2]; + HEAP32[$0 + 7480 >> 2] = $2; + HEAP32[$0 + 7484 >> 2] = $1; + $1 = HEAP32[$0 + 7480 >> 2]; + $2 = HEAP32[$0 + 7484 >> 2]; + HEAP32[$0 + 7508 >> 2] = $3; + HEAP32[$0 + 7504 >> 2] = 10451; + HEAP32[$0 + 7500 >> 2] = $2; + HEAP32[$0 + 7496 >> 2] = $1; + $3 = HEAP32[$0 + 7508 >> 2]; + $4 = HEAP32[$0 + 7504 >> 2]; + $1 = HEAP32[$0 + 7496 >> 2]; + HEAP32[$0 + 7492 >> 2] = HEAP32[$0 + 7500 >> 2]; + HEAP32[$0 + 7488 >> 2] = $1; + $2 = HEAP32[$0 + 7492 >> 2]; + $1 = HEAP32[$0 + 7488 >> 2]; + HEAP32[$0 + 1336 >> 2] = $1; + HEAP32[$0 + 1340 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28b2MassData__29_20const___invoke_b2Fixture_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Fixture____29_28b2MassData__29_20const_29($4, $0 + 1336 | 0); + HEAP32[$0 + 3432 >> 2] = 0; + HEAP32[$0 + 3428 >> 2] = 147; + $1 = HEAP32[$0 + 3432 >> 2]; + $2 = HEAP32[$0 + 3428 >> 2]; + HEAP32[$0 + 7576 >> 2] = $2; + HEAP32[$0 + 7580 >> 2] = $1; + $1 = HEAP32[$0 + 7576 >> 2]; + $2 = HEAP32[$0 + 7580 >> 2]; + HEAP32[$0 + 7604 >> 2] = $3; + HEAP32[$0 + 7600 >> 2] = 1089; + HEAP32[$0 + 7596 >> 2] = $2; + HEAP32[$0 + 7592 >> 2] = $1; + $3 = HEAP32[$0 + 7604 >> 2]; + $4 = HEAP32[$0 + 7600 >> 2]; + $1 = HEAP32[$0 + 7592 >> 2]; + HEAP32[$0 + 7588 >> 2] = HEAP32[$0 + 7596 >> 2]; + HEAP32[$0 + 7584 >> 2] = $1; + $2 = HEAP32[$0 + 7588 >> 2]; + $1 = HEAP32[$0 + 7584 >> 2]; + HEAP32[$0 + 1328 >> 2] = $1; + HEAP32[$0 + 1332 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28float_29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28float_29_29($4, $0 + 1328 | 0); + HEAP32[$0 + 3424 >> 2] = 0; + HEAP32[$0 + 3420 >> 2] = 148; + $1 = HEAP32[$0 + 3424 >> 2]; + $2 = HEAP32[$0 + 3420 >> 2]; + HEAP32[$0 + 7672 >> 2] = $2; + HEAP32[$0 + 7676 >> 2] = $1; + $1 = HEAP32[$0 + 7672 >> 2]; + $2 = HEAP32[$0 + 7676 >> 2]; + HEAP32[$0 + 7700 >> 2] = $3; + HEAP32[$0 + 7696 >> 2] = 1100; + HEAP32[$0 + 7692 >> 2] = $2; + HEAP32[$0 + 7688 >> 2] = $1; + $3 = HEAP32[$0 + 7700 >> 2]; + $4 = HEAP32[$0 + 7696 >> 2]; + $1 = HEAP32[$0 + 7688 >> 2]; + HEAP32[$0 + 7684 >> 2] = HEAP32[$0 + 7692 >> 2]; + HEAP32[$0 + 7680 >> 2] = $1; + $2 = HEAP32[$0 + 7684 >> 2]; + $1 = HEAP32[$0 + 7680 >> 2]; + HEAP32[$0 + 1320 >> 2] = $1; + HEAP32[$0 + 1324 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2Fixture____29_28_29_20const___invoke_b2Fixture__28char_20const__2c_20float_20_28b2Fixture____29_28_29_20const_29($4, $0 + 1320 | 0); + HEAP32[$0 + 3416 >> 2] = 0; + HEAP32[$0 + 3412 >> 2] = 149; + $1 = HEAP32[$0 + 3416 >> 2]; + $2 = HEAP32[$0 + 3412 >> 2]; + HEAP32[$0 + 7640 >> 2] = $2; + HEAP32[$0 + 7644 >> 2] = $1; + $1 = HEAP32[$0 + 7640 >> 2]; + $2 = HEAP32[$0 + 7644 >> 2]; + HEAP32[$0 + 7668 >> 2] = $3; + HEAP32[$0 + 7664 >> 2] = 6534; + HEAP32[$0 + 7660 >> 2] = $2; + HEAP32[$0 + 7656 >> 2] = $1; + $3 = HEAP32[$0 + 7668 >> 2]; + $4 = HEAP32[$0 + 7664 >> 2]; + $1 = HEAP32[$0 + 7656 >> 2]; + HEAP32[$0 + 7652 >> 2] = HEAP32[$0 + 7660 >> 2]; + HEAP32[$0 + 7648 >> 2] = $1; + $2 = HEAP32[$0 + 7652 >> 2]; + $1 = HEAP32[$0 + 7648 >> 2]; + HEAP32[$0 + 1312 >> 2] = $1; + HEAP32[$0 + 1316 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2Fixture____29_28_29_20const___invoke_b2Fixture__28char_20const__2c_20float_20_28b2Fixture____29_28_29_20const_29($4, $0 + 1312 | 0); + HEAP32[$0 + 3408 >> 2] = 0; + HEAP32[$0 + 3404 >> 2] = 150; + $1 = HEAP32[$0 + 3408 >> 2]; + $2 = HEAP32[$0 + 3404 >> 2]; + HEAP32[$0 + 7544 >> 2] = $2; + HEAP32[$0 + 7548 >> 2] = $1; + $1 = HEAP32[$0 + 7544 >> 2]; + $2 = HEAP32[$0 + 7548 >> 2]; + HEAP32[$0 + 7572 >> 2] = $3; + HEAP32[$0 + 7568 >> 2] = 6515; + HEAP32[$0 + 7564 >> 2] = $2; + HEAP32[$0 + 7560 >> 2] = $1; + $3 = HEAP32[$0 + 7572 >> 2]; + $4 = HEAP32[$0 + 7568 >> 2]; + $1 = HEAP32[$0 + 7560 >> 2]; + HEAP32[$0 + 7556 >> 2] = HEAP32[$0 + 7564 >> 2]; + HEAP32[$0 + 7552 >> 2] = $1; + $2 = HEAP32[$0 + 7556 >> 2]; + $1 = HEAP32[$0 + 7552 >> 2]; + HEAP32[$0 + 1304 >> 2] = $1; + HEAP32[$0 + 1308 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28float_29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28float_29_29($4, $0 + 1304 | 0); + HEAP32[$0 + 3400 >> 2] = 0; + HEAP32[$0 + 3396 >> 2] = 151; + $1 = HEAP32[$0 + 3400 >> 2]; + $2 = HEAP32[$0 + 3396 >> 2]; + HEAP32[$0 + 7608 >> 2] = $2; + HEAP32[$0 + 7612 >> 2] = $1; + $1 = HEAP32[$0 + 7608 >> 2]; + $2 = HEAP32[$0 + 7612 >> 2]; + HEAP32[$0 + 7636 >> 2] = $3; + HEAP32[$0 + 7632 >> 2] = 6422; + HEAP32[$0 + 7628 >> 2] = $2; + HEAP32[$0 + 7624 >> 2] = $1; + $3 = HEAP32[$0 + 7636 >> 2]; + $4 = HEAP32[$0 + 7632 >> 2]; + $1 = HEAP32[$0 + 7624 >> 2]; + HEAP32[$0 + 7620 >> 2] = HEAP32[$0 + 7628 >> 2]; + HEAP32[$0 + 7616 >> 2] = $1; + $2 = HEAP32[$0 + 7620 >> 2]; + $1 = HEAP32[$0 + 7616 >> 2]; + HEAP32[$0 + 1296 >> 2] = $1; + HEAP32[$0 + 1300 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2Fixture____29_28_29_20const___invoke_b2Fixture__28char_20const__2c_20float_20_28b2Fixture____29_28_29_20const_29($4, $0 + 1296 | 0); + HEAP32[$0 + 3392 >> 2] = 0; + HEAP32[$0 + 3388 >> 2] = 152; + $1 = HEAP32[$0 + 3392 >> 2]; + $2 = HEAP32[$0 + 3388 >> 2]; + HEAP32[$0 + 7512 >> 2] = $2; + HEAP32[$0 + 7516 >> 2] = $1; + $1 = HEAP32[$0 + 7512 >> 2]; + $2 = HEAP32[$0 + 7516 >> 2]; + HEAP32[$0 + 7540 >> 2] = $3; + HEAP32[$0 + 7536 >> 2] = 6400; + HEAP32[$0 + 7532 >> 2] = $2; + HEAP32[$0 + 7528 >> 2] = $1; + $3 = HEAP32[$0 + 7540 >> 2]; + $4 = HEAP32[$0 + 7536 >> 2]; + $1 = HEAP32[$0 + 7528 >> 2]; + HEAP32[$0 + 7524 >> 2] = HEAP32[$0 + 7532 >> 2]; + HEAP32[$0 + 7520 >> 2] = $1; + $2 = HEAP32[$0 + 7524 >> 2]; + $1 = HEAP32[$0 + 7520 >> 2]; + HEAP32[$0 + 1288 >> 2] = $1; + HEAP32[$0 + 1292 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28float_29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28float_29_29($4, $0 + 1288 | 0); + HEAP32[$0 + 3384 >> 2] = 0; + HEAP32[$0 + 3380 >> 2] = 153; + $1 = HEAP32[$0 + 3384 >> 2]; + $2 = HEAP32[$0 + 3380 >> 2]; + HEAP32[$0 + 7704 >> 2] = $2; + HEAP32[$0 + 7708 >> 2] = $1; + $1 = HEAP32[$0 + 7704 >> 2]; + $2 = HEAP32[$0 + 7708 >> 2]; + HEAP32[$0 + 7732 >> 2] = $3; + HEAP32[$0 + 7728 >> 2] = 11073; + HEAP32[$0 + 7724 >> 2] = $2; + HEAP32[$0 + 7720 >> 2] = $1; + $3 = HEAP32[$0 + 7732 >> 2]; + $4 = HEAP32[$0 + 7728 >> 2]; + $1 = HEAP32[$0 + 7720 >> 2]; + HEAP32[$0 + 7716 >> 2] = HEAP32[$0 + 7724 >> 2]; + HEAP32[$0 + 7712 >> 2] = $1; + $2 = HEAP32[$0 + 7716 >> 2]; + $1 = HEAP32[$0 + 7712 >> 2]; + HEAP32[$0 + 1280 >> 2] = $1; + HEAP32[$0 + 1284 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2AABB_20const__20_28b2Fixture____29_28int_29_20const___invoke_b2Fixture__28char_20const__2c_20b2AABB_20const__20_28b2Fixture____29_28int_29_20const_29($4, $0 + 1280 | 0); + HEAP32[$0 + 3376 >> 2] = 0; + HEAP32[$0 + 3372 >> 2] = 154; + $1 = HEAP32[$0 + 3376 >> 2]; + $2 = HEAP32[$0 + 3372 >> 2]; + HEAP32[$0 + 7736 >> 2] = $2; + HEAP32[$0 + 7740 >> 2] = $1; + $1 = HEAP32[$0 + 7736 >> 2]; + $2 = HEAP32[$0 + 7740 >> 2]; + HEAP32[$0 + 7768 >> 2] = $3; + HEAP32[$0 + 7764 >> 2] = 6232; + HEAP32[$0 + 7760 >> 2] = $2; + HEAP32[$0 + 7756 >> 2] = $1; + $3 = HEAP32[$0 + 7764 >> 2]; + $1 = HEAP32[$0 + 7756 >> 2]; + HEAP32[$0 + 7752 >> 2] = HEAP32[$0 + 7760 >> 2]; + HEAP32[$0 + 7748 >> 2] = $1; + $2 = HEAP32[$0 + 7752 >> 2]; + $1 = HEAP32[$0 + 7748 >> 2]; + HEAP32[$0 + 1272 >> 2] = $1; + HEAP32[$0 + 1276 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28int_29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28int_29_29($3, $0 + 1272 | 0); + HEAP32[$0 + 7792 >> 2] = $0 + 3371; + HEAP32[$0 + 7788 >> 2] = 7879; + void_20emscripten__internal__NoBaseClass__verify_b2BodyDef__28_29(); + HEAP32[$0 + 7784 >> 2] = 155; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2BodyDef__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 7780 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2BodyDef__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 7776 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 7772 >> 2] = 156; + $1 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2BodyDef__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2BodyDef_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 15456 >> 2] = HEAP32[$0 + 7784 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7784 >> 2]; + HEAP32[$0 + 14740 >> 2] = HEAP32[$0 + 7780 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 7780 >> 2]; + HEAP32[$0 + 14736 >> 2] = HEAP32[$0 + 7776 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 7776 >> 2]; + $11 = HEAP32[$0 + 7788 >> 2]; + HEAP32[$0 + 15460 >> 2] = HEAP32[$0 + 7772 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 7772 >> 2]); + HEAP32[$0 + 7796 >> 2] = $0 + 3371; + HEAP32[$0 + 15468 >> 2] = HEAP32[$0 + 7796 >> 2]; + HEAP32[$0 + 15464 >> 2] = 157; + $1 = HEAP32[$0 + 15468 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2BodyDef__20_28__29_28_29___invoke_b2BodyDef__28b2BodyDef__20_28__29_28_29_29(HEAP32[$0 + 15464 >> 2]); + HEAP32[$0 + 7816 >> 2] = $1; + HEAP32[$0 + 7812 >> 2] = 9223; + HEAP32[$0 + 7808 >> 2] = 0; + $1 = HEAP32[$0 + 7816 >> 2]; + HEAP32[$0 + 7804 >> 2] = 158; + HEAP32[$0 + 7800 >> 2] = 159; + $2 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7812 >> 2]; + $4 = emscripten__internal__TypeID_b2BodyType_2c_20void___get_28_29(); + HEAP32[$0 + 15472 >> 2] = HEAP32[$0 + 7804 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7804 >> 2]; + $7 = b2BodyType_20b2BodyDef_____20emscripten__internal__getContext_b2BodyType_20b2BodyDef_____28b2BodyType_20b2BodyDef____20const__29($0 + 7808 | 0); + $8 = emscripten__internal__TypeID_b2BodyType_2c_20void___get_28_29(); + HEAP32[$0 + 15476 >> 2] = HEAP32[$0 + 7800 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 7800 >> 2], b2BodyType_20b2BodyDef_____20emscripten__internal__getContext_b2BodyType_20b2BodyDef_____28b2BodyType_20b2BodyDef____20const__29($0 + 7808 | 0) | 0); + HEAP32[$0 + 7856 >> 2] = $1; + HEAP32[$0 + 7852 >> 2] = 6437; + HEAP32[$0 + 7848 >> 2] = 4; + $1 = HEAP32[$0 + 7856 >> 2]; + HEAP32[$0 + 7844 >> 2] = 160; + HEAP32[$0 + 7840 >> 2] = 161; + $2 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7852 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15480 >> 2] = HEAP32[$0 + 7844 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7844 >> 2]; + $7 = b2Vec2_20b2BodyDef_____20emscripten__internal__getContext_b2Vec2_20b2BodyDef_____28b2Vec2_20b2BodyDef____20const__29($0 + 7848 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15488 >> 2] = HEAP32[$0 + 7840 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 7840 >> 2], b2Vec2_20b2BodyDef_____20emscripten__internal__getContext_b2Vec2_20b2BodyDef_____28b2Vec2_20b2BodyDef____20const__29($0 + 7848 | 0) | 0); + HEAP32[$0 + 7956 >> 2] = $1; + HEAP32[$0 + 7952 >> 2] = 9420; + HEAP32[$0 + 7948 >> 2] = 12; + $1 = HEAP32[$0 + 7956 >> 2]; + HEAP32[$0 + 7944 >> 2] = 162; + HEAP32[$0 + 7940 >> 2] = 163; + $2 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7952 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15496 >> 2] = HEAP32[$0 + 7944 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7944 >> 2]; + $7 = float_20b2BodyDef_____20emscripten__internal__getContext_float_20b2BodyDef_____28float_20b2BodyDef____20const__29($0 + 7948 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15516 >> 2] = HEAP32[$0 + 7940 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 7940 >> 2], float_20b2BodyDef_____20emscripten__internal__getContext_float_20b2BodyDef_____28float_20b2BodyDef____20const__29($0 + 7948 | 0) | 0); + HEAP32[$0 + 7836 >> 2] = $1; + HEAP32[$0 + 7832 >> 2] = 1165; + HEAP32[$0 + 7828 >> 2] = 16; + $1 = HEAP32[$0 + 7836 >> 2]; + HEAP32[$0 + 7824 >> 2] = 160; + HEAP32[$0 + 7820 >> 2] = 161; + $2 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7832 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15484 >> 2] = HEAP32[$0 + 7824 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7824 >> 2]; + $7 = b2Vec2_20b2BodyDef_____20emscripten__internal__getContext_b2Vec2_20b2BodyDef_____28b2Vec2_20b2BodyDef____20const__29($0 + 7828 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15492 >> 2] = HEAP32[$0 + 7820 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 7820 >> 2], b2Vec2_20b2BodyDef_____20emscripten__internal__getContext_b2Vec2_20b2BodyDef_____28b2Vec2_20b2BodyDef____20const__29($0 + 7828 | 0) | 0); + HEAP32[$0 + 7936 >> 2] = $1; + HEAP32[$0 + 7932 >> 2] = 1111; + HEAP32[$0 + 7928 >> 2] = 24; + $1 = HEAP32[$0 + 7936 >> 2]; + HEAP32[$0 + 7924 >> 2] = 162; + HEAP32[$0 + 7920 >> 2] = 163; + $2 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7932 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15500 >> 2] = HEAP32[$0 + 7924 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7924 >> 2]; + $7 = float_20b2BodyDef_____20emscripten__internal__getContext_float_20b2BodyDef_____28float_20b2BodyDef____20const__29($0 + 7928 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15520 >> 2] = HEAP32[$0 + 7920 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 7920 >> 2], float_20b2BodyDef_____20emscripten__internal__getContext_float_20b2BodyDef_____28float_20b2BodyDef____20const__29($0 + 7928 | 0) | 0); + HEAP32[$0 + 7916 >> 2] = $1; + HEAP32[$0 + 7912 >> 2] = 7775; + HEAP32[$0 + 7908 >> 2] = 28; + $1 = HEAP32[$0 + 7916 >> 2]; + HEAP32[$0 + 7904 >> 2] = 162; + HEAP32[$0 + 7900 >> 2] = 163; + $2 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7912 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15504 >> 2] = HEAP32[$0 + 7904 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7904 >> 2]; + $7 = float_20b2BodyDef_____20emscripten__internal__getContext_float_20b2BodyDef_____28float_20b2BodyDef____20const__29($0 + 7908 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15524 >> 2] = HEAP32[$0 + 7900 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 7900 >> 2], float_20b2BodyDef_____20emscripten__internal__getContext_float_20b2BodyDef_____28float_20b2BodyDef____20const__29($0 + 7908 | 0) | 0); + HEAP32[$0 + 7896 >> 2] = $1; + HEAP32[$0 + 7892 >> 2] = 7724; + HEAP32[$0 + 7888 >> 2] = 32; + $1 = HEAP32[$0 + 7896 >> 2]; + HEAP32[$0 + 7884 >> 2] = 162; + HEAP32[$0 + 7880 >> 2] = 163; + $2 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7892 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15508 >> 2] = HEAP32[$0 + 7884 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7884 >> 2]; + $7 = float_20b2BodyDef_____20emscripten__internal__getContext_float_20b2BodyDef_____28float_20b2BodyDef____20const__29($0 + 7888 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15528 >> 2] = HEAP32[$0 + 7880 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 7880 >> 2], float_20b2BodyDef_____20emscripten__internal__getContext_float_20b2BodyDef_____28float_20b2BodyDef____20const__29($0 + 7888 | 0) | 0); + HEAP32[$0 + 8036 >> 2] = $1; + HEAP32[$0 + 8032 >> 2] = 6242; + HEAP32[$0 + 8028 >> 2] = 36; + $1 = HEAP32[$0 + 8036 >> 2]; + HEAP32[$0 + 8024 >> 2] = 164; + HEAP32[$0 + 8020 >> 2] = 165; + $2 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 8032 >> 2]; + $4 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15536 >> 2] = HEAP32[$0 + 8024 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 8024 >> 2]; + $7 = bool_20b2BodyDef_____20emscripten__internal__getContext_bool_20b2BodyDef_____28bool_20b2BodyDef____20const__29($0 + 8028 | 0); + $8 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15552 >> 2] = HEAP32[$0 + 8020 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 8020 >> 2], bool_20b2BodyDef_____20emscripten__internal__getContext_bool_20b2BodyDef_____28bool_20b2BodyDef____20const__29($0 + 8028 | 0) | 0); + HEAP32[$0 + 8016 >> 2] = $1; + HEAP32[$0 + 8012 >> 2] = 9719; + HEAP32[$0 + 8008 >> 2] = 37; + $1 = HEAP32[$0 + 8016 >> 2]; + HEAP32[$0 + 8004 >> 2] = 164; + HEAP32[$0 + 8e3 >> 2] = 165; + $2 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 8012 >> 2]; + $4 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15540 >> 2] = HEAP32[$0 + 8004 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 8004 >> 2]; + $7 = bool_20b2BodyDef_____20emscripten__internal__getContext_bool_20b2BodyDef_____28bool_20b2BodyDef____20const__29($0 + 8008 | 0); + $8 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15556 >> 2] = HEAP32[$0 + 8e3 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 8e3 >> 2], bool_20b2BodyDef_____20emscripten__internal__getContext_bool_20b2BodyDef_____28bool_20b2BodyDef____20const__29($0 + 8008 | 0) | 0); + HEAP32[$0 + 7996 >> 2] = $1; + HEAP32[$0 + 7992 >> 2] = 6618; + HEAP32[$0 + 7988 >> 2] = 38; + $1 = HEAP32[$0 + 7996 >> 2]; + HEAP32[$0 + 7984 >> 2] = 164; + HEAP32[$0 + 7980 >> 2] = 165; + $2 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7992 >> 2]; + $4 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15544 >> 2] = HEAP32[$0 + 7984 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7984 >> 2]; + $7 = bool_20b2BodyDef_____20emscripten__internal__getContext_bool_20b2BodyDef_____28bool_20b2BodyDef____20const__29($0 + 7988 | 0); + $8 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15560 >> 2] = HEAP32[$0 + 7980 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 7980 >> 2], bool_20b2BodyDef_____20emscripten__internal__getContext_bool_20b2BodyDef_____28bool_20b2BodyDef____20const__29($0 + 7988 | 0) | 0); + HEAP32[$0 + 7976 >> 2] = $1; + HEAP32[$0 + 7972 >> 2] = 2966; + HEAP32[$0 + 7968 >> 2] = 39; + $1 = HEAP32[$0 + 7976 >> 2]; + HEAP32[$0 + 7964 >> 2] = 164; + HEAP32[$0 + 7960 >> 2] = 165; + $2 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 7972 >> 2]; + $4 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15548 >> 2] = HEAP32[$0 + 7964 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 7964 >> 2]; + $7 = bool_20b2BodyDef_____20emscripten__internal__getContext_bool_20b2BodyDef_____28bool_20b2BodyDef____20const__29($0 + 7968 | 0); + $8 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15564 >> 2] = HEAP32[$0 + 7960 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 7960 >> 2], bool_20b2BodyDef_____20emscripten__internal__getContext_bool_20b2BodyDef_____28bool_20b2BodyDef____20const__29($0 + 7968 | 0) | 0); + HEAP32[$0 + 7876 >> 2] = $1; + HEAP32[$0 + 7872 >> 2] = 9674; + HEAP32[$0 + 7868 >> 2] = 48; + HEAP32[$0 + 7864 >> 2] = 162; + HEAP32[$0 + 7860 >> 2] = 163; + $1 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 7872 >> 2]; + $3 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15512 >> 2] = HEAP32[$0 + 7864 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 7864 >> 2]; + $6 = float_20b2BodyDef_____20emscripten__internal__getContext_float_20b2BodyDef_____28float_20b2BodyDef____20const__29($0 + 7868 | 0); + $7 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15532 >> 2] = HEAP32[$0 + 7860 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 7860 >> 2], float_20b2BodyDef_____20emscripten__internal__getContext_float_20b2BodyDef_____28float_20b2BodyDef____20const__29($0 + 7868 | 0) | 0); + HEAP32[$0 + 8060 >> 2] = $0 + 3370; + HEAP32[$0 + 8056 >> 2] = 1704; + void_20emscripten__internal__NoBaseClass__verify_b2Body__28_29(); + HEAP32[$0 + 8052 >> 2] = 166; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2Body__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 8048 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2Body__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 8044 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 8040 >> 2] = 167; + $1 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Body__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 15568 >> 2] = HEAP32[$0 + 8052 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 8052 >> 2]; + HEAP32[$0 + 14732 >> 2] = HEAP32[$0 + 8048 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 8048 >> 2]; + HEAP32[$0 + 14728 >> 2] = HEAP32[$0 + 8044 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 8044 >> 2]; + $11 = HEAP32[$0 + 8056 >> 2]; + HEAP32[$0 + 15572 >> 2] = HEAP32[$0 + 8040 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 8040 >> 2]); + HEAP32[$0 + 3356 >> 2] = 0; + HEAP32[$0 + 3352 >> 2] = 168; + $1 = HEAP32[$0 + 3356 >> 2]; + $2 = HEAP32[$0 + 3352 >> 2]; + HEAP32[$0 + 1264 >> 2] = $2; + HEAP32[$0 + 1268 >> 2] = $1; + decltype_28fp_29_20emscripten__select_overload_b2Fixture__20_28b2FixtureDef_20const__29_2c_20b2Body__28b2Fixture__20_28b2Body____29_28b2FixtureDef_20const__29_29($0 + 3360 | 0, $0 + 1264 | 0); + $1 = HEAP32[$0 + 3360 >> 2]; + HEAP32[$0 + 3344 >> 2] = HEAP32[$0 + 3364 >> 2]; + HEAP32[$0 + 3340 >> 2] = $1; + $2 = HEAP32[$0 + 3344 >> 2]; + $1 = HEAP32[$0 + 3340 >> 2]; + HEAP32[$0 + 8064 >> 2] = $1; + HEAP32[$0 + 8068 >> 2] = $2; + $1 = HEAP32[$0 + 8064 >> 2]; + $2 = HEAP32[$0 + 8068 >> 2]; + HEAP32[$0 + 8092 >> 2] = $0 + 3370; + HEAP32[$0 + 8088 >> 2] = 9207; + HEAP32[$0 + 8084 >> 2] = $2; + HEAP32[$0 + 8080 >> 2] = $1; + $3 = HEAP32[$0 + 8092 >> 2]; + $4 = HEAP32[$0 + 8088 >> 2]; + $1 = HEAP32[$0 + 8080 >> 2]; + HEAP32[$0 + 8076 >> 2] = HEAP32[$0 + 8084 >> 2]; + HEAP32[$0 + 8072 >> 2] = $1; + $1 = HEAP32[$0 + 8076 >> 2]; + $2 = HEAP32[$0 + 8072 >> 2]; + HEAP32[$0 + 1256 >> 2] = $2; + HEAP32[$0 + 1260 >> 2] = $1; + void_20emscripten__internal__RegisterClassMethod_b2Fixture__20_28b2Body____29_28b2FixtureDef_20const__29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Fixture__20_28b2Body____29_28b2FixtureDef_20const__29_29($4, $0 + 1256 | 0); + HEAP32[$0 + 3328 >> 2] = 0; + HEAP32[$0 + 3324 >> 2] = 169; + $2 = HEAP32[$0 + 3328 >> 2]; + $1 = HEAP32[$0 + 3324 >> 2]; + HEAP32[$0 + 1248 >> 2] = $1; + HEAP32[$0 + 1252 >> 2] = $2; + decltype_28fp_29_20emscripten__select_overload_b2Fixture__20_28b2Shape_20const__2c_20float_29_2c_20b2Body__28b2Fixture__20_28b2Body____29_28b2Shape_20const__2c_20float_29_29($0 + 3332 | 0, $0 + 1248 | 0); + $1 = HEAP32[$0 + 3332 >> 2]; + HEAP32[$0 + 3316 >> 2] = HEAP32[$0 + 3336 >> 2]; + HEAP32[$0 + 3312 >> 2] = $1; + $1 = HEAP32[$0 + 3316 >> 2]; + $2 = HEAP32[$0 + 3312 >> 2]; + HEAP32[$0 + 8096 >> 2] = $2; + HEAP32[$0 + 8100 >> 2] = $1; + $1 = HEAP32[$0 + 8096 >> 2]; + $2 = HEAP32[$0 + 8100 >> 2]; + HEAP32[$0 + 8124 >> 2] = $3; + HEAP32[$0 + 8120 >> 2] = 9341; + HEAP32[$0 + 8116 >> 2] = $2; + HEAP32[$0 + 8112 >> 2] = $1; + $3 = HEAP32[$0 + 8124 >> 2]; + $4 = HEAP32[$0 + 8120 >> 2]; + $1 = HEAP32[$0 + 8112 >> 2]; + HEAP32[$0 + 8108 >> 2] = HEAP32[$0 + 8116 >> 2]; + HEAP32[$0 + 8104 >> 2] = $1; + $2 = HEAP32[$0 + 8108 >> 2]; + $1 = HEAP32[$0 + 8104 >> 2]; + HEAP32[$0 + 1240 >> 2] = $1; + HEAP32[$0 + 1244 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Fixture__20_28b2Body____29_28b2Shape_20const__2c_20float_29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Fixture__20_28b2Body____29_28b2Shape_20const__2c_20float_29_29($4, $0 + 1240 | 0); + HEAP32[$0 + 3304 >> 2] = 0; + HEAP32[$0 + 3300 >> 2] = 170; + $1 = HEAP32[$0 + 3304 >> 2]; + $2 = HEAP32[$0 + 3300 >> 2]; + HEAP32[$0 + 8128 >> 2] = $2; + HEAP32[$0 + 8132 >> 2] = $1; + $1 = HEAP32[$0 + 8128 >> 2]; + $2 = HEAP32[$0 + 8132 >> 2]; + HEAP32[$0 + 8156 >> 2] = $3; + HEAP32[$0 + 8152 >> 2] = 9153; + HEAP32[$0 + 8148 >> 2] = $2; + HEAP32[$0 + 8144 >> 2] = $1; + $3 = HEAP32[$0 + 8156 >> 2]; + $4 = HEAP32[$0 + 8152 >> 2]; + $1 = HEAP32[$0 + 8144 >> 2]; + HEAP32[$0 + 8140 >> 2] = HEAP32[$0 + 8148 >> 2]; + HEAP32[$0 + 8136 >> 2] = $1; + $2 = HEAP32[$0 + 8140 >> 2]; + $1 = HEAP32[$0 + 8136 >> 2]; + HEAP32[$0 + 1232 >> 2] = $1; + HEAP32[$0 + 1236 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Fixture__29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Body____29_28b2Fixture__29_29($4, $0 + 1232 | 0); + HEAP32[$0 + 3296 >> 2] = 0; + HEAP32[$0 + 3292 >> 2] = 171; + $1 = HEAP32[$0 + 3296 >> 2]; + $2 = HEAP32[$0 + 3292 >> 2]; + HEAP32[$0 + 8160 >> 2] = $2; + HEAP32[$0 + 8164 >> 2] = $1; + $1 = HEAP32[$0 + 8160 >> 2]; + $2 = HEAP32[$0 + 8164 >> 2]; + HEAP32[$0 + 8188 >> 2] = $3; + HEAP32[$0 + 8184 >> 2] = 6938; + HEAP32[$0 + 8180 >> 2] = $2; + HEAP32[$0 + 8176 >> 2] = $1; + $3 = HEAP32[$0 + 8188 >> 2]; + $4 = HEAP32[$0 + 8184 >> 2]; + $1 = HEAP32[$0 + 8176 >> 2]; + HEAP32[$0 + 8172 >> 2] = HEAP32[$0 + 8180 >> 2]; + HEAP32[$0 + 8168 >> 2] = $1; + $2 = HEAP32[$0 + 8172 >> 2]; + $1 = HEAP32[$0 + 8168 >> 2]; + HEAP32[$0 + 1224 >> 2] = $1; + HEAP32[$0 + 1228 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Vec2_20const__2c_20float_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2Vec2_20const__2c_20float_29_29($4, $0 + 1224 | 0); + HEAP32[$0 + 3288 >> 2] = 0; + HEAP32[$0 + 3284 >> 2] = 172; + $1 = HEAP32[$0 + 3288 >> 2]; + $2 = HEAP32[$0 + 3284 >> 2]; + HEAP32[$0 + 8192 >> 2] = $2; + HEAP32[$0 + 8196 >> 2] = $1; + $1 = HEAP32[$0 + 8192 >> 2]; + $2 = HEAP32[$0 + 8196 >> 2]; + HEAP32[$0 + 8220 >> 2] = $3; + HEAP32[$0 + 8216 >> 2] = 6951; + HEAP32[$0 + 8212 >> 2] = $2; + HEAP32[$0 + 8208 >> 2] = $1; + $3 = HEAP32[$0 + 8220 >> 2]; + $4 = HEAP32[$0 + 8216 >> 2]; + $1 = HEAP32[$0 + 8208 >> 2]; + HEAP32[$0 + 8204 >> 2] = HEAP32[$0 + 8212 >> 2]; + HEAP32[$0 + 8200 >> 2] = $1; + $2 = HEAP32[$0 + 8204 >> 2]; + $1 = HEAP32[$0 + 8200 >> 2]; + HEAP32[$0 + 1216 >> 2] = $1; + HEAP32[$0 + 1220 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Transform_20const__20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20b2Transform_20const__20_28b2Body____29_28_29_20const_29($4, $0 + 1216 | 0); + HEAP32[$0 + 3280 >> 2] = 0; + HEAP32[$0 + 3276 >> 2] = 173; + $1 = HEAP32[$0 + 3280 >> 2]; + $2 = HEAP32[$0 + 3276 >> 2]; + HEAP32[$0 + 8320 >> 2] = $2; + HEAP32[$0 + 8324 >> 2] = $1; + $1 = HEAP32[$0 + 8320 >> 2]; + $2 = HEAP32[$0 + 8324 >> 2]; + HEAP32[$0 + 8348 >> 2] = $3; + HEAP32[$0 + 8344 >> 2] = 6446; + HEAP32[$0 + 8340 >> 2] = $2; + HEAP32[$0 + 8336 >> 2] = $1; + $3 = HEAP32[$0 + 8348 >> 2]; + $4 = HEAP32[$0 + 8344 >> 2]; + $1 = HEAP32[$0 + 8336 >> 2]; + HEAP32[$0 + 8332 >> 2] = HEAP32[$0 + 8340 >> 2]; + HEAP32[$0 + 8328 >> 2] = $1; + $2 = HEAP32[$0 + 8332 >> 2]; + $1 = HEAP32[$0 + 8328 >> 2]; + HEAP32[$0 + 1208 >> 2] = $1; + HEAP32[$0 + 1212 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20const__20_28b2Body____29_28_29_20const_29($4, $0 + 1208 | 0); + HEAP32[$0 + 3272 >> 2] = 0; + HEAP32[$0 + 3268 >> 2] = 174; + $1 = HEAP32[$0 + 3272 >> 2]; + $2 = HEAP32[$0 + 3268 >> 2]; + HEAP32[$0 + 8544 >> 2] = $2; + HEAP32[$0 + 8548 >> 2] = $1; + $1 = HEAP32[$0 + 8544 >> 2]; + $2 = HEAP32[$0 + 8548 >> 2]; + HEAP32[$0 + 8572 >> 2] = $3; + HEAP32[$0 + 8568 >> 2] = 9440; + HEAP32[$0 + 8564 >> 2] = $2; + HEAP32[$0 + 8560 >> 2] = $1; + $3 = HEAP32[$0 + 8572 >> 2]; + $4 = HEAP32[$0 + 8568 >> 2]; + $1 = HEAP32[$0 + 8560 >> 2]; + HEAP32[$0 + 8556 >> 2] = HEAP32[$0 + 8564 >> 2]; + HEAP32[$0 + 8552 >> 2] = $1; + $2 = HEAP32[$0 + 8556 >> 2]; + $1 = HEAP32[$0 + 8552 >> 2]; + HEAP32[$0 + 1200 >> 2] = $1; + HEAP32[$0 + 1204 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20float_20_28b2Body____29_28_29_20const_29($4, $0 + 1200 | 0); + HEAP32[$0 + 3264 >> 2] = 0; + HEAP32[$0 + 3260 >> 2] = 175; + $1 = HEAP32[$0 + 3264 >> 2]; + $2 = HEAP32[$0 + 3260 >> 2]; + HEAP32[$0 + 8288 >> 2] = $2; + HEAP32[$0 + 8292 >> 2] = $1; + $1 = HEAP32[$0 + 8288 >> 2]; + $2 = HEAP32[$0 + 8292 >> 2]; + HEAP32[$0 + 8316 >> 2] = $3; + HEAP32[$0 + 8312 >> 2] = 3927; + HEAP32[$0 + 8308 >> 2] = $2; + HEAP32[$0 + 8304 >> 2] = $1; + $3 = HEAP32[$0 + 8316 >> 2]; + $4 = HEAP32[$0 + 8312 >> 2]; + $1 = HEAP32[$0 + 8304 >> 2]; + HEAP32[$0 + 8300 >> 2] = HEAP32[$0 + 8308 >> 2]; + HEAP32[$0 + 8296 >> 2] = $1; + $2 = HEAP32[$0 + 8300 >> 2]; + $1 = HEAP32[$0 + 8296 >> 2]; + HEAP32[$0 + 1192 >> 2] = $1; + HEAP32[$0 + 1196 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20const__20_28b2Body____29_28_29_20const_29($4, $0 + 1192 | 0); + HEAP32[$0 + 3256 >> 2] = 0; + HEAP32[$0 + 3252 >> 2] = 176; + $1 = HEAP32[$0 + 3256 >> 2]; + $2 = HEAP32[$0 + 3252 >> 2]; + HEAP32[$0 + 8256 >> 2] = $2; + HEAP32[$0 + 8260 >> 2] = $1; + $1 = HEAP32[$0 + 8256 >> 2]; + $2 = HEAP32[$0 + 8260 >> 2]; + HEAP32[$0 + 8284 >> 2] = $3; + HEAP32[$0 + 8280 >> 2] = 3912; + HEAP32[$0 + 8276 >> 2] = $2; + HEAP32[$0 + 8272 >> 2] = $1; + $3 = HEAP32[$0 + 8284 >> 2]; + $4 = HEAP32[$0 + 8280 >> 2]; + $1 = HEAP32[$0 + 8272 >> 2]; + HEAP32[$0 + 8268 >> 2] = HEAP32[$0 + 8276 >> 2]; + HEAP32[$0 + 8264 >> 2] = $1; + $2 = HEAP32[$0 + 8268 >> 2]; + $1 = HEAP32[$0 + 8264 >> 2]; + HEAP32[$0 + 1184 >> 2] = $1; + HEAP32[$0 + 1188 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20const__20_28b2Body____29_28_29_20const_29($4, $0 + 1184 | 0); + HEAP32[$0 + 3248 >> 2] = 0; + HEAP32[$0 + 3244 >> 2] = 177; + $1 = HEAP32[$0 + 3248 >> 2]; + $2 = HEAP32[$0 + 3244 >> 2]; + HEAP32[$0 + 8576 >> 2] = $2; + HEAP32[$0 + 8580 >> 2] = $1; + $1 = HEAP32[$0 + 8576 >> 2]; + $2 = HEAP32[$0 + 8580 >> 2]; + HEAP32[$0 + 8604 >> 2] = $3; + HEAP32[$0 + 8600 >> 2] = 1180; + HEAP32[$0 + 8596 >> 2] = $2; + HEAP32[$0 + 8592 >> 2] = $1; + $3 = HEAP32[$0 + 8604 >> 2]; + $4 = HEAP32[$0 + 8600 >> 2]; + $1 = HEAP32[$0 + 8592 >> 2]; + HEAP32[$0 + 8588 >> 2] = HEAP32[$0 + 8596 >> 2]; + HEAP32[$0 + 8584 >> 2] = $1; + $2 = HEAP32[$0 + 8588 >> 2]; + $1 = HEAP32[$0 + 8584 >> 2]; + HEAP32[$0 + 1176 >> 2] = $1; + HEAP32[$0 + 1180 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Vec2_20const__29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2Vec2_20const__29_29($4, $0 + 1176 | 0); + HEAP32[$0 + 3240 >> 2] = 0; + HEAP32[$0 + 3236 >> 2] = 178; + $1 = HEAP32[$0 + 3240 >> 2]; + $2 = HEAP32[$0 + 3236 >> 2]; + HEAP32[$0 + 8224 >> 2] = $2; + HEAP32[$0 + 8228 >> 2] = $1; + $1 = HEAP32[$0 + 8224 >> 2]; + $2 = HEAP32[$0 + 8228 >> 2]; + HEAP32[$0 + 8252 >> 2] = $3; + HEAP32[$0 + 8248 >> 2] = 1198; + HEAP32[$0 + 8244 >> 2] = $2; + HEAP32[$0 + 8240 >> 2] = $1; + $3 = HEAP32[$0 + 8252 >> 2]; + $4 = HEAP32[$0 + 8248 >> 2]; + $1 = HEAP32[$0 + 8240 >> 2]; + HEAP32[$0 + 8236 >> 2] = HEAP32[$0 + 8244 >> 2]; + HEAP32[$0 + 8232 >> 2] = $1; + $2 = HEAP32[$0 + 8236 >> 2]; + $1 = HEAP32[$0 + 8232 >> 2]; + HEAP32[$0 + 1168 >> 2] = $1; + HEAP32[$0 + 1172 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20const__20_28b2Body____29_28_29_20const_29($4, $0 + 1168 | 0); + HEAP32[$0 + 3232 >> 2] = 0; + HEAP32[$0 + 3228 >> 2] = 179; + $1 = HEAP32[$0 + 3232 >> 2]; + $2 = HEAP32[$0 + 3228 >> 2]; + HEAP32[$0 + 8704 >> 2] = $2; + HEAP32[$0 + 8708 >> 2] = $1; + $1 = HEAP32[$0 + 8704 >> 2]; + $2 = HEAP32[$0 + 8708 >> 2]; + HEAP32[$0 + 8732 >> 2] = $3; + HEAP32[$0 + 8728 >> 2] = 1127; + HEAP32[$0 + 8724 >> 2] = $2; + HEAP32[$0 + 8720 >> 2] = $1; + $3 = HEAP32[$0 + 8732 >> 2]; + $4 = HEAP32[$0 + 8728 >> 2]; + $1 = HEAP32[$0 + 8720 >> 2]; + HEAP32[$0 + 8716 >> 2] = HEAP32[$0 + 8724 >> 2]; + HEAP32[$0 + 8712 >> 2] = $1; + $2 = HEAP32[$0 + 8716 >> 2]; + $1 = HEAP32[$0 + 8712 >> 2]; + HEAP32[$0 + 1160 >> 2] = $1; + HEAP32[$0 + 1164 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28float_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28float_29_29($4, $0 + 1160 | 0); + HEAP32[$0 + 3224 >> 2] = 0; + HEAP32[$0 + 3220 >> 2] = 180; + $1 = HEAP32[$0 + 3224 >> 2]; + $2 = HEAP32[$0 + 3220 >> 2]; + HEAP32[$0 + 8512 >> 2] = $2; + HEAP32[$0 + 8516 >> 2] = $1; + $1 = HEAP32[$0 + 8512 >> 2]; + $2 = HEAP32[$0 + 8516 >> 2]; + HEAP32[$0 + 8540 >> 2] = $3; + HEAP32[$0 + 8536 >> 2] = 1146; + HEAP32[$0 + 8532 >> 2] = $2; + HEAP32[$0 + 8528 >> 2] = $1; + $3 = HEAP32[$0 + 8540 >> 2]; + $4 = HEAP32[$0 + 8536 >> 2]; + $1 = HEAP32[$0 + 8528 >> 2]; + HEAP32[$0 + 8524 >> 2] = HEAP32[$0 + 8532 >> 2]; + HEAP32[$0 + 8520 >> 2] = $1; + $2 = HEAP32[$0 + 8524 >> 2]; + $1 = HEAP32[$0 + 8520 >> 2]; + HEAP32[$0 + 1152 >> 2] = $1; + HEAP32[$0 + 1156 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20float_20_28b2Body____29_28_29_20const_29($4, $0 + 1152 | 0); + HEAP32[$0 + 3216 >> 2] = 0; + HEAP32[$0 + 3212 >> 2] = 181; + $1 = HEAP32[$0 + 3216 >> 2]; + $2 = HEAP32[$0 + 3212 >> 2]; + HEAP32[$0 + 8768 >> 2] = $2; + HEAP32[$0 + 8772 >> 2] = $1; + $1 = HEAP32[$0 + 8768 >> 2]; + $2 = HEAP32[$0 + 8772 >> 2]; + HEAP32[$0 + 8796 >> 2] = $3; + HEAP32[$0 + 8792 >> 2] = 9852; + HEAP32[$0 + 8788 >> 2] = $2; + HEAP32[$0 + 8784 >> 2] = $1; + $3 = HEAP32[$0 + 8796 >> 2]; + $4 = HEAP32[$0 + 8792 >> 2]; + $1 = HEAP32[$0 + 8784 >> 2]; + HEAP32[$0 + 8780 >> 2] = HEAP32[$0 + 8788 >> 2]; + HEAP32[$0 + 8776 >> 2] = $1; + $2 = HEAP32[$0 + 8780 >> 2]; + $1 = HEAP32[$0 + 8776 >> 2]; + HEAP32[$0 + 1144 >> 2] = $1; + HEAP32[$0 + 1148 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29_29($4, $0 + 1144 | 0); + HEAP32[$0 + 3208 >> 2] = 0; + HEAP32[$0 + 3204 >> 2] = 182; + $1 = HEAP32[$0 + 3208 >> 2]; + $2 = HEAP32[$0 + 3204 >> 2]; + HEAP32[$0 + 8832 >> 2] = $2; + HEAP32[$0 + 8836 >> 2] = $1; + $1 = HEAP32[$0 + 8832 >> 2]; + $2 = HEAP32[$0 + 8836 >> 2]; + HEAP32[$0 + 8860 >> 2] = $3; + HEAP32[$0 + 8856 >> 2] = 3893; + HEAP32[$0 + 8852 >> 2] = $2; + HEAP32[$0 + 8848 >> 2] = $1; + $3 = HEAP32[$0 + 8860 >> 2]; + $4 = HEAP32[$0 + 8856 >> 2]; + $1 = HEAP32[$0 + 8848 >> 2]; + HEAP32[$0 + 8844 >> 2] = HEAP32[$0 + 8852 >> 2]; + HEAP32[$0 + 8840 >> 2] = $1; + $2 = HEAP32[$0 + 8844 >> 2]; + $1 = HEAP32[$0 + 8840 >> 2]; + HEAP32[$0 + 1136 >> 2] = $1; + HEAP32[$0 + 1140 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Vec2_20const__2c_20bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2Vec2_20const__2c_20bool_29_29($4, $0 + 1136 | 0); + HEAP32[$0 + 3200 >> 2] = 0; + HEAP32[$0 + 3196 >> 2] = 183; + $1 = HEAP32[$0 + 3200 >> 2]; + $2 = HEAP32[$0 + 3196 >> 2]; + HEAP32[$0 + 8896 >> 2] = $2; + HEAP32[$0 + 8900 >> 2] = $1; + $1 = HEAP32[$0 + 8896 >> 2]; + $2 = HEAP32[$0 + 8900 >> 2]; + HEAP32[$0 + 8924 >> 2] = $3; + HEAP32[$0 + 8920 >> 2] = 8743; + HEAP32[$0 + 8916 >> 2] = $2; + HEAP32[$0 + 8912 >> 2] = $1; + $3 = HEAP32[$0 + 8924 >> 2]; + $4 = HEAP32[$0 + 8920 >> 2]; + $1 = HEAP32[$0 + 8912 >> 2]; + HEAP32[$0 + 8908 >> 2] = HEAP32[$0 + 8916 >> 2]; + HEAP32[$0 + 8904 >> 2] = $1; + $2 = HEAP32[$0 + 8908 >> 2]; + $1 = HEAP32[$0 + 8904 >> 2]; + HEAP32[$0 + 1128 >> 2] = $1; + HEAP32[$0 + 1132 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28float_2c_20bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28float_2c_20bool_29_29($4, $0 + 1128 | 0); + HEAP32[$0 + 3192 >> 2] = 0; + HEAP32[$0 + 3188 >> 2] = 184; + $1 = HEAP32[$0 + 3192 >> 2]; + $2 = HEAP32[$0 + 3188 >> 2]; + HEAP32[$0 + 8736 >> 2] = $2; + HEAP32[$0 + 8740 >> 2] = $1; + $1 = HEAP32[$0 + 8736 >> 2]; + $2 = HEAP32[$0 + 8740 >> 2]; + HEAP32[$0 + 8764 >> 2] = $3; + HEAP32[$0 + 8760 >> 2] = 9044; + HEAP32[$0 + 8756 >> 2] = $2; + HEAP32[$0 + 8752 >> 2] = $1; + $3 = HEAP32[$0 + 8764 >> 2]; + $4 = HEAP32[$0 + 8760 >> 2]; + $1 = HEAP32[$0 + 8752 >> 2]; + HEAP32[$0 + 8748 >> 2] = HEAP32[$0 + 8756 >> 2]; + HEAP32[$0 + 8744 >> 2] = $1; + $2 = HEAP32[$0 + 8748 >> 2]; + $1 = HEAP32[$0 + 8744 >> 2]; + HEAP32[$0 + 1120 >> 2] = $1; + HEAP32[$0 + 1124 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29_29($4, $0 + 1120 | 0); + HEAP32[$0 + 3184 >> 2] = 0; + HEAP32[$0 + 3180 >> 2] = 185; + $1 = HEAP32[$0 + 3184 >> 2]; + $2 = HEAP32[$0 + 3180 >> 2]; + HEAP32[$0 + 8800 >> 2] = $2; + HEAP32[$0 + 8804 >> 2] = $1; + $1 = HEAP32[$0 + 8800 >> 2]; + $2 = HEAP32[$0 + 8804 >> 2]; + HEAP32[$0 + 8828 >> 2] = $3; + HEAP32[$0 + 8824 >> 2] = 3866; + HEAP32[$0 + 8820 >> 2] = $2; + HEAP32[$0 + 8816 >> 2] = $1; + $3 = HEAP32[$0 + 8828 >> 2]; + $4 = HEAP32[$0 + 8824 >> 2]; + $1 = HEAP32[$0 + 8816 >> 2]; + HEAP32[$0 + 8812 >> 2] = HEAP32[$0 + 8820 >> 2]; + HEAP32[$0 + 8808 >> 2] = $1; + $2 = HEAP32[$0 + 8812 >> 2]; + $1 = HEAP32[$0 + 8808 >> 2]; + HEAP32[$0 + 1112 >> 2] = $1; + HEAP32[$0 + 1116 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Vec2_20const__2c_20bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2Vec2_20const__2c_20bool_29_29($4, $0 + 1112 | 0); + HEAP32[$0 + 3176 >> 2] = 0; + HEAP32[$0 + 3172 >> 2] = 186; + $1 = HEAP32[$0 + 3176 >> 2]; + $2 = HEAP32[$0 + 3172 >> 2]; + HEAP32[$0 + 8864 >> 2] = $2; + HEAP32[$0 + 8868 >> 2] = $1; + $1 = HEAP32[$0 + 8864 >> 2]; + $2 = HEAP32[$0 + 8868 >> 2]; + HEAP32[$0 + 8892 >> 2] = $3; + HEAP32[$0 + 8888 >> 2] = 9024; + HEAP32[$0 + 8884 >> 2] = $2; + HEAP32[$0 + 8880 >> 2] = $1; + $3 = HEAP32[$0 + 8892 >> 2]; + $4 = HEAP32[$0 + 8888 >> 2]; + $1 = HEAP32[$0 + 8880 >> 2]; + HEAP32[$0 + 8876 >> 2] = HEAP32[$0 + 8884 >> 2]; + HEAP32[$0 + 8872 >> 2] = $1; + $2 = HEAP32[$0 + 8876 >> 2]; + $1 = HEAP32[$0 + 8872 >> 2]; + HEAP32[$0 + 1104 >> 2] = $1; + HEAP32[$0 + 1108 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28float_2c_20bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28float_2c_20bool_29_29($4, $0 + 1104 | 0); + HEAP32[$0 + 3168 >> 2] = 0; + HEAP32[$0 + 3164 >> 2] = 187; + $1 = HEAP32[$0 + 3168 >> 2]; + $2 = HEAP32[$0 + 3164 >> 2]; + HEAP32[$0 + 8480 >> 2] = $2; + HEAP32[$0 + 8484 >> 2] = $1; + $1 = HEAP32[$0 + 8480 >> 2]; + $2 = HEAP32[$0 + 8484 >> 2]; + HEAP32[$0 + 8508 >> 2] = $3; + HEAP32[$0 + 8504 >> 2] = 3428; + HEAP32[$0 + 8500 >> 2] = $2; + HEAP32[$0 + 8496 >> 2] = $1; + $3 = HEAP32[$0 + 8508 >> 2]; + $4 = HEAP32[$0 + 8504 >> 2]; + $1 = HEAP32[$0 + 8496 >> 2]; + HEAP32[$0 + 8492 >> 2] = HEAP32[$0 + 8500 >> 2]; + HEAP32[$0 + 8488 >> 2] = $1; + $2 = HEAP32[$0 + 8492 >> 2]; + $1 = HEAP32[$0 + 8488 >> 2]; + HEAP32[$0 + 1096 >> 2] = $1; + HEAP32[$0 + 1100 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20float_20_28b2Body____29_28_29_20const_29($4, $0 + 1096 | 0); + HEAP32[$0 + 3160 >> 2] = 0; + HEAP32[$0 + 3156 >> 2] = 188; + $1 = HEAP32[$0 + 3160 >> 2]; + $2 = HEAP32[$0 + 3156 >> 2]; + HEAP32[$0 + 8448 >> 2] = $2; + HEAP32[$0 + 8452 >> 2] = $1; + $1 = HEAP32[$0 + 8448 >> 2]; + $2 = HEAP32[$0 + 8452 >> 2]; + HEAP32[$0 + 8476 >> 2] = $3; + HEAP32[$0 + 8472 >> 2] = 10503; + HEAP32[$0 + 8468 >> 2] = $2; + HEAP32[$0 + 8464 >> 2] = $1; + $3 = HEAP32[$0 + 8476 >> 2]; + $4 = HEAP32[$0 + 8472 >> 2]; + $1 = HEAP32[$0 + 8464 >> 2]; + HEAP32[$0 + 8460 >> 2] = HEAP32[$0 + 8468 >> 2]; + HEAP32[$0 + 8456 >> 2] = $1; + $2 = HEAP32[$0 + 8460 >> 2]; + $1 = HEAP32[$0 + 8456 >> 2]; + HEAP32[$0 + 1088 >> 2] = $1; + HEAP32[$0 + 1092 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20float_20_28b2Body____29_28_29_20const_29($4, $0 + 1088 | 0); + HEAP32[$0 + 3148 >> 2] = 0; + HEAP32[$0 + 3144 >> 2] = 189; + $1 = HEAP32[$0 + 3148 >> 2]; + $2 = HEAP32[$0 + 3144 >> 2]; + HEAP32[$0 + 8928 >> 2] = $2; + HEAP32[$0 + 8932 >> 2] = $1; + $1 = HEAP32[$0 + 8928 >> 2]; + $2 = HEAP32[$0 + 8932 >> 2]; + HEAP32[$0 + 8960 >> 2] = $3; + HEAP32[$0 + 8956 >> 2] = 10451; + HEAP32[$0 + 8952 >> 2] = $2; + HEAP32[$0 + 8948 >> 2] = $1; + $3 = HEAP32[$0 + 8960 >> 2]; + $4 = HEAP32[$0 + 8956 >> 2]; + $1 = HEAP32[$0 + 8948 >> 2]; + HEAP32[$0 + 8944 >> 2] = HEAP32[$0 + 8952 >> 2]; + HEAP32[$0 + 8940 >> 2] = $1; + $2 = HEAP32[$0 + 8944 >> 2]; + $1 = HEAP32[$0 + 8940 >> 2]; + HEAP32[$0 + 1080 >> 2] = $1; + HEAP32[$0 + 1084 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2MassData__29_20const___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Body____29_28b2MassData__29_20const_29($4, $0 + 1080 | 0); + $1 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_7__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_7__28embind_init_b2_28_29__$_7_20const__29($0 + 3143 | 0); + HEAP32[$0 + 8972 >> 2] = $3; + HEAP32[$0 + 8968 >> 2] = 10439; + HEAP32[$0 + 8964 >> 2] = $1; + $3 = HEAP32[$0 + 8972 >> 2]; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2Body__2c_20b2MassData_20const__29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2Body__2c_20b2MassData_20const__29_29(HEAP32[$0 + 8968 >> 2], HEAP32[$0 + 8964 >> 2]); + HEAP32[$0 + 3136 >> 2] = 0; + HEAP32[$0 + 3132 >> 2] = 190; + $1 = HEAP32[$0 + 3136 >> 2]; + $2 = HEAP32[$0 + 3132 >> 2]; + HEAP32[$0 + 9008 >> 2] = $2; + HEAP32[$0 + 9012 >> 2] = $1; + $1 = HEAP32[$0 + 9008 >> 2]; + $2 = HEAP32[$0 + 9012 >> 2]; + HEAP32[$0 + 9036 >> 2] = $3; + HEAP32[$0 + 9032 >> 2] = 10425; + HEAP32[$0 + 9028 >> 2] = $2; + HEAP32[$0 + 9024 >> 2] = $1; + $3 = HEAP32[$0 + 9036 >> 2]; + $4 = HEAP32[$0 + 9032 >> 2]; + $1 = HEAP32[$0 + 9024 >> 2]; + HEAP32[$0 + 9020 >> 2] = HEAP32[$0 + 9028 >> 2]; + HEAP32[$0 + 9016 >> 2] = $1; + $2 = HEAP32[$0 + 9020 >> 2]; + $1 = HEAP32[$0 + 9016 >> 2]; + HEAP32[$0 + 1072 >> 2] = $1; + HEAP32[$0 + 1076 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28_29_29($4, $0 + 1072 | 0); + HEAP32[$0 + 3128 >> 2] = 0; + HEAP32[$0 + 3124 >> 2] = 191; + $1 = HEAP32[$0 + 3128 >> 2]; + $2 = HEAP32[$0 + 3124 >> 2]; + HEAP32[$0 + 9200 >> 2] = $2; + HEAP32[$0 + 9204 >> 2] = $1; + $1 = HEAP32[$0 + 9200 >> 2]; + $2 = HEAP32[$0 + 9204 >> 2]; + HEAP32[$0 + 9228 >> 2] = $3; + HEAP32[$0 + 9224 >> 2] = 2465; + HEAP32[$0 + 9220 >> 2] = $2; + HEAP32[$0 + 9216 >> 2] = $1; + $3 = HEAP32[$0 + 9228 >> 2]; + $4 = HEAP32[$0 + 9224 >> 2]; + $1 = HEAP32[$0 + 9216 >> 2]; + HEAP32[$0 + 9212 >> 2] = HEAP32[$0 + 9220 >> 2]; + HEAP32[$0 + 9208 >> 2] = $1; + $2 = HEAP32[$0 + 9212 >> 2]; + $1 = HEAP32[$0 + 9208 >> 2]; + HEAP32[$0 + 1064 >> 2] = $1; + HEAP32[$0 + 1068 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const_29($4, $0 + 1064 | 0); + HEAP32[$0 + 3120 >> 2] = 0; + HEAP32[$0 + 3116 >> 2] = 192; + $1 = HEAP32[$0 + 3120 >> 2]; + $2 = HEAP32[$0 + 3116 >> 2]; + HEAP32[$0 + 9168 >> 2] = $2; + HEAP32[$0 + 9172 >> 2] = $1; + $1 = HEAP32[$0 + 9168 >> 2]; + $2 = HEAP32[$0 + 9172 >> 2]; + HEAP32[$0 + 9196 >> 2] = $3; + HEAP32[$0 + 9192 >> 2] = 3686; + HEAP32[$0 + 9188 >> 2] = $2; + HEAP32[$0 + 9184 >> 2] = $1; + $3 = HEAP32[$0 + 9196 >> 2]; + $4 = HEAP32[$0 + 9192 >> 2]; + $1 = HEAP32[$0 + 9184 >> 2]; + HEAP32[$0 + 9180 >> 2] = HEAP32[$0 + 9188 >> 2]; + HEAP32[$0 + 9176 >> 2] = $1; + $2 = HEAP32[$0 + 9180 >> 2]; + $1 = HEAP32[$0 + 9176 >> 2]; + HEAP32[$0 + 1056 >> 2] = $1; + HEAP32[$0 + 1060 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const_29($4, $0 + 1056 | 0); + HEAP32[$0 + 3112 >> 2] = 0; + HEAP32[$0 + 3108 >> 2] = 193; + $1 = HEAP32[$0 + 3112 >> 2]; + $2 = HEAP32[$0 + 3108 >> 2]; + HEAP32[$0 + 9136 >> 2] = $2; + HEAP32[$0 + 9140 >> 2] = $1; + $1 = HEAP32[$0 + 9136 >> 2]; + $2 = HEAP32[$0 + 9140 >> 2]; + HEAP32[$0 + 9164 >> 2] = $3; + HEAP32[$0 + 9160 >> 2] = 2419; + HEAP32[$0 + 9156 >> 2] = $2; + HEAP32[$0 + 9152 >> 2] = $1; + $3 = HEAP32[$0 + 9164 >> 2]; + $4 = HEAP32[$0 + 9160 >> 2]; + $1 = HEAP32[$0 + 9152 >> 2]; + HEAP32[$0 + 9148 >> 2] = HEAP32[$0 + 9156 >> 2]; + HEAP32[$0 + 9144 >> 2] = $1; + $2 = HEAP32[$0 + 9148 >> 2]; + $1 = HEAP32[$0 + 9144 >> 2]; + HEAP32[$0 + 1048 >> 2] = $1; + HEAP32[$0 + 1052 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const_29($4, $0 + 1048 | 0); + HEAP32[$0 + 3104 >> 2] = 0; + HEAP32[$0 + 3100 >> 2] = 194; + $1 = HEAP32[$0 + 3104 >> 2]; + $2 = HEAP32[$0 + 3100 >> 2]; + HEAP32[$0 + 9104 >> 2] = $2; + HEAP32[$0 + 9108 >> 2] = $1; + $1 = HEAP32[$0 + 9104 >> 2]; + $2 = HEAP32[$0 + 9108 >> 2]; + HEAP32[$0 + 9132 >> 2] = $3; + HEAP32[$0 + 9128 >> 2] = 3671; + HEAP32[$0 + 9124 >> 2] = $2; + HEAP32[$0 + 9120 >> 2] = $1; + $3 = HEAP32[$0 + 9132 >> 2]; + $4 = HEAP32[$0 + 9128 >> 2]; + $1 = HEAP32[$0 + 9120 >> 2]; + HEAP32[$0 + 9116 >> 2] = HEAP32[$0 + 9124 >> 2]; + HEAP32[$0 + 9112 >> 2] = $1; + $2 = HEAP32[$0 + 9116 >> 2]; + $1 = HEAP32[$0 + 9112 >> 2]; + HEAP32[$0 + 1040 >> 2] = $1; + HEAP32[$0 + 1044 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const_29($4, $0 + 1040 | 0); + HEAP32[$0 + 3096 >> 2] = 0; + HEAP32[$0 + 3092 >> 2] = 195; + $1 = HEAP32[$0 + 3096 >> 2]; + $2 = HEAP32[$0 + 3092 >> 2]; + HEAP32[$0 + 9072 >> 2] = $2; + HEAP32[$0 + 9076 >> 2] = $1; + $1 = HEAP32[$0 + 9072 >> 2]; + $2 = HEAP32[$0 + 9076 >> 2]; + HEAP32[$0 + 9100 >> 2] = $3; + HEAP32[$0 + 9096 >> 2] = 2479; + HEAP32[$0 + 9092 >> 2] = $2; + HEAP32[$0 + 9088 >> 2] = $1; + $3 = HEAP32[$0 + 9100 >> 2]; + $4 = HEAP32[$0 + 9096 >> 2]; + $1 = HEAP32[$0 + 9088 >> 2]; + HEAP32[$0 + 9084 >> 2] = HEAP32[$0 + 9092 >> 2]; + HEAP32[$0 + 9080 >> 2] = $1; + $2 = HEAP32[$0 + 9084 >> 2]; + $1 = HEAP32[$0 + 9080 >> 2]; + HEAP32[$0 + 1032 >> 2] = $1; + HEAP32[$0 + 1036 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const_29($4, $0 + 1032 | 0); + HEAP32[$0 + 3088 >> 2] = 0; + HEAP32[$0 + 3084 >> 2] = 196; + $1 = HEAP32[$0 + 3088 >> 2]; + $2 = HEAP32[$0 + 3084 >> 2]; + HEAP32[$0 + 9040 >> 2] = $2; + HEAP32[$0 + 9044 >> 2] = $1; + $1 = HEAP32[$0 + 9040 >> 2]; + $2 = HEAP32[$0 + 9044 >> 2]; + HEAP32[$0 + 9068 >> 2] = $3; + HEAP32[$0 + 9064 >> 2] = 2433; + HEAP32[$0 + 9060 >> 2] = $2; + HEAP32[$0 + 9056 >> 2] = $1; + $3 = HEAP32[$0 + 9068 >> 2]; + $4 = HEAP32[$0 + 9064 >> 2]; + $1 = HEAP32[$0 + 9056 >> 2]; + HEAP32[$0 + 9052 >> 2] = HEAP32[$0 + 9060 >> 2]; + HEAP32[$0 + 9048 >> 2] = $1; + $2 = HEAP32[$0 + 9052 >> 2]; + $1 = HEAP32[$0 + 9048 >> 2]; + HEAP32[$0 + 1024 >> 2] = $1; + HEAP32[$0 + 1028 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const_29($4, $0 + 1024 | 0); + HEAP32[$0 + 3080 >> 2] = 0; + HEAP32[$0 + 3076 >> 2] = 197; + $1 = HEAP32[$0 + 3080 >> 2]; + $2 = HEAP32[$0 + 3076 >> 2]; + HEAP32[$0 + 8416 >> 2] = $2; + HEAP32[$0 + 8420 >> 2] = $1; + $1 = HEAP32[$0 + 8416 >> 2]; + $2 = HEAP32[$0 + 8420 >> 2]; + HEAP32[$0 + 8444 >> 2] = $3; + HEAP32[$0 + 8440 >> 2] = 7806; + HEAP32[$0 + 8436 >> 2] = $2; + HEAP32[$0 + 8432 >> 2] = $1; + $3 = HEAP32[$0 + 8444 >> 2]; + $4 = HEAP32[$0 + 8440 >> 2]; + $1 = HEAP32[$0 + 8432 >> 2]; + HEAP32[$0 + 8428 >> 2] = HEAP32[$0 + 8436 >> 2]; + HEAP32[$0 + 8424 >> 2] = $1; + $2 = HEAP32[$0 + 8428 >> 2]; + $1 = HEAP32[$0 + 8424 >> 2]; + HEAP32[$0 + 1016 >> 2] = $1; + HEAP32[$0 + 1020 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20float_20_28b2Body____29_28_29_20const_29($4, $0 + 1016 | 0); + HEAP32[$0 + 3072 >> 2] = 0; + HEAP32[$0 + 3068 >> 2] = 198; + $1 = HEAP32[$0 + 3072 >> 2]; + $2 = HEAP32[$0 + 3068 >> 2]; + HEAP32[$0 + 8672 >> 2] = $2; + HEAP32[$0 + 8676 >> 2] = $1; + $1 = HEAP32[$0 + 8672 >> 2]; + $2 = HEAP32[$0 + 8676 >> 2]; + HEAP32[$0 + 8700 >> 2] = $3; + HEAP32[$0 + 8696 >> 2] = 7789; + HEAP32[$0 + 8692 >> 2] = $2; + HEAP32[$0 + 8688 >> 2] = $1; + $3 = HEAP32[$0 + 8700 >> 2]; + $4 = HEAP32[$0 + 8696 >> 2]; + $1 = HEAP32[$0 + 8688 >> 2]; + HEAP32[$0 + 8684 >> 2] = HEAP32[$0 + 8692 >> 2]; + HEAP32[$0 + 8680 >> 2] = $1; + $2 = HEAP32[$0 + 8684 >> 2]; + $1 = HEAP32[$0 + 8680 >> 2]; + HEAP32[$0 + 1008 >> 2] = $1; + HEAP32[$0 + 1012 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28float_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28float_29_29($4, $0 + 1008 | 0); + HEAP32[$0 + 3064 >> 2] = 0; + HEAP32[$0 + 3060 >> 2] = 199; + $1 = HEAP32[$0 + 3064 >> 2]; + $2 = HEAP32[$0 + 3060 >> 2]; + HEAP32[$0 + 8384 >> 2] = $2; + HEAP32[$0 + 8388 >> 2] = $1; + $1 = HEAP32[$0 + 8384 >> 2]; + $2 = HEAP32[$0 + 8388 >> 2]; + HEAP32[$0 + 8412 >> 2] = $3; + HEAP32[$0 + 8408 >> 2] = 7757; + HEAP32[$0 + 8404 >> 2] = $2; + HEAP32[$0 + 8400 >> 2] = $1; + $3 = HEAP32[$0 + 8412 >> 2]; + $4 = HEAP32[$0 + 8408 >> 2]; + $1 = HEAP32[$0 + 8400 >> 2]; + HEAP32[$0 + 8396 >> 2] = HEAP32[$0 + 8404 >> 2]; + HEAP32[$0 + 8392 >> 2] = $1; + $2 = HEAP32[$0 + 8396 >> 2]; + $1 = HEAP32[$0 + 8392 >> 2]; + HEAP32[$0 + 1e3 >> 2] = $1; + HEAP32[$0 + 1004 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20float_20_28b2Body____29_28_29_20const_29($4, $0 + 1e3 | 0); + HEAP32[$0 + 3056 >> 2] = 0; + HEAP32[$0 + 3052 >> 2] = 200; + $1 = HEAP32[$0 + 3056 >> 2]; + $2 = HEAP32[$0 + 3052 >> 2]; + HEAP32[$0 + 8640 >> 2] = $2; + HEAP32[$0 + 8644 >> 2] = $1; + $1 = HEAP32[$0 + 8640 >> 2]; + $2 = HEAP32[$0 + 8644 >> 2]; + HEAP32[$0 + 8668 >> 2] = $3; + HEAP32[$0 + 8664 >> 2] = 7739; + HEAP32[$0 + 8660 >> 2] = $2; + HEAP32[$0 + 8656 >> 2] = $1; + $3 = HEAP32[$0 + 8668 >> 2]; + $4 = HEAP32[$0 + 8664 >> 2]; + $1 = HEAP32[$0 + 8656 >> 2]; + HEAP32[$0 + 8652 >> 2] = HEAP32[$0 + 8660 >> 2]; + HEAP32[$0 + 8648 >> 2] = $1; + $2 = HEAP32[$0 + 8652 >> 2]; + $1 = HEAP32[$0 + 8648 >> 2]; + HEAP32[$0 + 992 >> 2] = $1; + HEAP32[$0 + 996 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28float_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28float_29_29($4, $0 + 992 | 0); + HEAP32[$0 + 3048 >> 2] = 0; + HEAP32[$0 + 3044 >> 2] = 201; + $1 = HEAP32[$0 + 3048 >> 2]; + $2 = HEAP32[$0 + 3044 >> 2]; + HEAP32[$0 + 8352 >> 2] = $2; + HEAP32[$0 + 8356 >> 2] = $1; + $1 = HEAP32[$0 + 8352 >> 2]; + $2 = HEAP32[$0 + 8356 >> 2]; + HEAP32[$0 + 8380 >> 2] = $3; + HEAP32[$0 + 8376 >> 2] = 9703; + HEAP32[$0 + 8372 >> 2] = $2; + HEAP32[$0 + 8368 >> 2] = $1; + $3 = HEAP32[$0 + 8380 >> 2]; + $4 = HEAP32[$0 + 8376 >> 2]; + $1 = HEAP32[$0 + 8368 >> 2]; + HEAP32[$0 + 8364 >> 2] = HEAP32[$0 + 8372 >> 2]; + HEAP32[$0 + 8360 >> 2] = $1; + $2 = HEAP32[$0 + 8364 >> 2]; + $1 = HEAP32[$0 + 8360 >> 2]; + HEAP32[$0 + 984 >> 2] = $1; + HEAP32[$0 + 988 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20float_20_28b2Body____29_28_29_20const_29($4, $0 + 984 | 0); + HEAP32[$0 + 3040 >> 2] = 0; + HEAP32[$0 + 3036 >> 2] = 202; + $1 = HEAP32[$0 + 3040 >> 2]; + $2 = HEAP32[$0 + 3036 >> 2]; + HEAP32[$0 + 8608 >> 2] = $2; + HEAP32[$0 + 8612 >> 2] = $1; + $1 = HEAP32[$0 + 8608 >> 2]; + $2 = HEAP32[$0 + 8612 >> 2]; + HEAP32[$0 + 8636 >> 2] = $3; + HEAP32[$0 + 8632 >> 2] = 9687; + HEAP32[$0 + 8628 >> 2] = $2; + HEAP32[$0 + 8624 >> 2] = $1; + $3 = HEAP32[$0 + 8636 >> 2]; + $4 = HEAP32[$0 + 8632 >> 2]; + $1 = HEAP32[$0 + 8624 >> 2]; + HEAP32[$0 + 8620 >> 2] = HEAP32[$0 + 8628 >> 2]; + HEAP32[$0 + 8616 >> 2] = $1; + $2 = HEAP32[$0 + 8620 >> 2]; + $1 = HEAP32[$0 + 8616 >> 2]; + HEAP32[$0 + 976 >> 2] = $1; + HEAP32[$0 + 980 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28float_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28float_29_29($4, $0 + 976 | 0); + HEAP32[$0 + 3032 >> 2] = 0; + HEAP32[$0 + 3028 >> 2] = 203; + $1 = HEAP32[$0 + 3032 >> 2]; + $2 = HEAP32[$0 + 3028 >> 2]; + HEAP32[$0 + 9232 >> 2] = $2; + HEAP32[$0 + 9236 >> 2] = $1; + $1 = HEAP32[$0 + 9232 >> 2]; + $2 = HEAP32[$0 + 9236 >> 2]; + HEAP32[$0 + 9260 >> 2] = $3; + HEAP32[$0 + 9256 >> 2] = 9237; + HEAP32[$0 + 9252 >> 2] = $2; + HEAP32[$0 + 9248 >> 2] = $1; + $3 = HEAP32[$0 + 9260 >> 2]; + $4 = HEAP32[$0 + 9256 >> 2]; + $1 = HEAP32[$0 + 9248 >> 2]; + HEAP32[$0 + 9244 >> 2] = HEAP32[$0 + 9252 >> 2]; + HEAP32[$0 + 9240 >> 2] = $1; + $2 = HEAP32[$0 + 9244 >> 2]; + $1 = HEAP32[$0 + 9240 >> 2]; + HEAP32[$0 + 968 >> 2] = $1; + HEAP32[$0 + 972 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2BodyType_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2BodyType_29_29($4, $0 + 968 | 0); + HEAP32[$0 + 3024 >> 2] = 0; + HEAP32[$0 + 3020 >> 2] = 204; + $1 = HEAP32[$0 + 3024 >> 2]; + $2 = HEAP32[$0 + 3020 >> 2]; + HEAP32[$0 + 9264 >> 2] = $2; + HEAP32[$0 + 9268 >> 2] = $1; + $1 = HEAP32[$0 + 9264 >> 2]; + $2 = HEAP32[$0 + 9268 >> 2]; + HEAP32[$0 + 9292 >> 2] = $3; + HEAP32[$0 + 9288 >> 2] = 9253; + HEAP32[$0 + 9284 >> 2] = $2; + HEAP32[$0 + 9280 >> 2] = $1; + $3 = HEAP32[$0 + 9292 >> 2]; + $4 = HEAP32[$0 + 9288 >> 2]; + $1 = HEAP32[$0 + 9280 >> 2]; + HEAP32[$0 + 9276 >> 2] = HEAP32[$0 + 9284 >> 2]; + HEAP32[$0 + 9272 >> 2] = $1; + $2 = HEAP32[$0 + 9276 >> 2]; + $1 = HEAP32[$0 + 9272 >> 2]; + HEAP32[$0 + 960 >> 2] = $1; + HEAP32[$0 + 964 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2BodyType_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20b2BodyType_20_28b2Body____29_28_29_20const_29($4, $0 + 960 | 0); + HEAP32[$0 + 3016 >> 2] = 0; + HEAP32[$0 + 3012 >> 2] = 205; + $1 = HEAP32[$0 + 3016 >> 2]; + $2 = HEAP32[$0 + 3012 >> 2]; + HEAP32[$0 + 9424 >> 2] = $2; + HEAP32[$0 + 9428 >> 2] = $1; + $1 = HEAP32[$0 + 9424 >> 2]; + $2 = HEAP32[$0 + 9428 >> 2]; + HEAP32[$0 + 9452 >> 2] = $3; + HEAP32[$0 + 9448 >> 2] = 2973; + HEAP32[$0 + 9444 >> 2] = $2; + HEAP32[$0 + 9440 >> 2] = $1; + $3 = HEAP32[$0 + 9452 >> 2]; + $4 = HEAP32[$0 + 9448 >> 2]; + $1 = HEAP32[$0 + 9440 >> 2]; + HEAP32[$0 + 9436 >> 2] = HEAP32[$0 + 9444 >> 2]; + HEAP32[$0 + 9432 >> 2] = $1; + $2 = HEAP32[$0 + 9436 >> 2]; + $1 = HEAP32[$0 + 9432 >> 2]; + HEAP32[$0 + 952 >> 2] = $1; + HEAP32[$0 + 956 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28bool_29_29($4, $0 + 952 | 0); + HEAP32[$0 + 3008 >> 2] = 0; + HEAP32[$0 + 3004 >> 2] = 206; + $1 = HEAP32[$0 + 3008 >> 2]; + $2 = HEAP32[$0 + 3004 >> 2]; + HEAP32[$0 + 9584 >> 2] = $2; + HEAP32[$0 + 9588 >> 2] = $1; + $1 = HEAP32[$0 + 9584 >> 2]; + $2 = HEAP32[$0 + 9588 >> 2]; + HEAP32[$0 + 9612 >> 2] = $3; + HEAP32[$0 + 9608 >> 2] = 2983; + HEAP32[$0 + 9604 >> 2] = $2; + HEAP32[$0 + 9600 >> 2] = $1; + $3 = HEAP32[$0 + 9612 >> 2]; + $4 = HEAP32[$0 + 9608 >> 2]; + $1 = HEAP32[$0 + 9600 >> 2]; + HEAP32[$0 + 9596 >> 2] = HEAP32[$0 + 9604 >> 2]; + HEAP32[$0 + 9592 >> 2] = $1; + $2 = HEAP32[$0 + 9596 >> 2]; + $1 = HEAP32[$0 + 9592 >> 2]; + HEAP32[$0 + 944 >> 2] = $1; + HEAP32[$0 + 948 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20bool_20_28b2Body____29_28_29_20const_29($4, $0 + 944 | 0); + HEAP32[$0 + 3e3 >> 2] = 0; + HEAP32[$0 + 2996 >> 2] = 207; + $1 = HEAP32[$0 + 3e3 >> 2]; + $2 = HEAP32[$0 + 2996 >> 2]; + HEAP32[$0 + 9392 >> 2] = $2; + HEAP32[$0 + 9396 >> 2] = $1; + $1 = HEAP32[$0 + 9392 >> 2]; + $2 = HEAP32[$0 + 9396 >> 2]; + HEAP32[$0 + 9420 >> 2] = $3; + HEAP32[$0 + 9416 >> 2] = 10137; + HEAP32[$0 + 9412 >> 2] = $2; + HEAP32[$0 + 9408 >> 2] = $1; + $3 = HEAP32[$0 + 9420 >> 2]; + $4 = HEAP32[$0 + 9416 >> 2]; + $1 = HEAP32[$0 + 9408 >> 2]; + HEAP32[$0 + 9404 >> 2] = HEAP32[$0 + 9412 >> 2]; + HEAP32[$0 + 9400 >> 2] = $1; + $2 = HEAP32[$0 + 9404 >> 2]; + $1 = HEAP32[$0 + 9400 >> 2]; + HEAP32[$0 + 936 >> 2] = $1; + HEAP32[$0 + 940 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28bool_29_29($4, $0 + 936 | 0); + HEAP32[$0 + 2992 >> 2] = 0; + HEAP32[$0 + 2988 >> 2] = 208; + $1 = HEAP32[$0 + 2992 >> 2]; + $2 = HEAP32[$0 + 2988 >> 2]; + HEAP32[$0 + 9552 >> 2] = $2; + HEAP32[$0 + 9556 >> 2] = $1; + $1 = HEAP32[$0 + 9552 >> 2]; + $2 = HEAP32[$0 + 9556 >> 2]; + HEAP32[$0 + 9580 >> 2] = $3; + HEAP32[$0 + 9576 >> 2] = 10156; + HEAP32[$0 + 9572 >> 2] = $2; + HEAP32[$0 + 9568 >> 2] = $1; + $3 = HEAP32[$0 + 9580 >> 2]; + $4 = HEAP32[$0 + 9576 >> 2]; + $1 = HEAP32[$0 + 9568 >> 2]; + HEAP32[$0 + 9564 >> 2] = HEAP32[$0 + 9572 >> 2]; + HEAP32[$0 + 9560 >> 2] = $1; + $2 = HEAP32[$0 + 9564 >> 2]; + $1 = HEAP32[$0 + 9560 >> 2]; + HEAP32[$0 + 928 >> 2] = $1; + HEAP32[$0 + 932 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20bool_20_28b2Body____29_28_29_20const_29($4, $0 + 928 | 0); + HEAP32[$0 + 2984 >> 2] = 0; + HEAP32[$0 + 2980 >> 2] = 209; + $1 = HEAP32[$0 + 2984 >> 2]; + $2 = HEAP32[$0 + 2980 >> 2]; + HEAP32[$0 + 9360 >> 2] = $2; + HEAP32[$0 + 9364 >> 2] = $1; + $1 = HEAP32[$0 + 9360 >> 2]; + $2 = HEAP32[$0 + 9364 >> 2]; + HEAP32[$0 + 9388 >> 2] = $3; + HEAP32[$0 + 9384 >> 2] = 9725; + HEAP32[$0 + 9380 >> 2] = $2; + HEAP32[$0 + 9376 >> 2] = $1; + $3 = HEAP32[$0 + 9388 >> 2]; + $4 = HEAP32[$0 + 9384 >> 2]; + $1 = HEAP32[$0 + 9376 >> 2]; + HEAP32[$0 + 9372 >> 2] = HEAP32[$0 + 9380 >> 2]; + HEAP32[$0 + 9368 >> 2] = $1; + $2 = HEAP32[$0 + 9372 >> 2]; + $1 = HEAP32[$0 + 9368 >> 2]; + HEAP32[$0 + 920 >> 2] = $1; + HEAP32[$0 + 924 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28bool_29_29($4, $0 + 920 | 0); + HEAP32[$0 + 2976 >> 2] = 0; + HEAP32[$0 + 2972 >> 2] = 210; + $1 = HEAP32[$0 + 2976 >> 2]; + $2 = HEAP32[$0 + 2972 >> 2]; + HEAP32[$0 + 9520 >> 2] = $2; + HEAP32[$0 + 9524 >> 2] = $1; + $1 = HEAP32[$0 + 9520 >> 2]; + $2 = HEAP32[$0 + 9524 >> 2]; + HEAP32[$0 + 9548 >> 2] = $3; + HEAP32[$0 + 9544 >> 2] = 9734; + HEAP32[$0 + 9540 >> 2] = $2; + HEAP32[$0 + 9536 >> 2] = $1; + $3 = HEAP32[$0 + 9548 >> 2]; + $4 = HEAP32[$0 + 9544 >> 2]; + $1 = HEAP32[$0 + 9536 >> 2]; + HEAP32[$0 + 9532 >> 2] = HEAP32[$0 + 9540 >> 2]; + HEAP32[$0 + 9528 >> 2] = $1; + $2 = HEAP32[$0 + 9532 >> 2]; + $1 = HEAP32[$0 + 9528 >> 2]; + HEAP32[$0 + 912 >> 2] = $1; + HEAP32[$0 + 916 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20bool_20_28b2Body____29_28_29_20const_29($4, $0 + 912 | 0); + HEAP32[$0 + 2968 >> 2] = 0; + HEAP32[$0 + 2964 >> 2] = 211; + $1 = HEAP32[$0 + 2968 >> 2]; + $2 = HEAP32[$0 + 2964 >> 2]; + HEAP32[$0 + 9328 >> 2] = $2; + HEAP32[$0 + 9332 >> 2] = $1; + $1 = HEAP32[$0 + 9328 >> 2]; + $2 = HEAP32[$0 + 9332 >> 2]; + HEAP32[$0 + 9356 >> 2] = $3; + HEAP32[$0 + 9352 >> 2] = 10253; + HEAP32[$0 + 9348 >> 2] = $2; + HEAP32[$0 + 9344 >> 2] = $1; + $3 = HEAP32[$0 + 9356 >> 2]; + $4 = HEAP32[$0 + 9352 >> 2]; + $1 = HEAP32[$0 + 9344 >> 2]; + HEAP32[$0 + 9340 >> 2] = HEAP32[$0 + 9348 >> 2]; + HEAP32[$0 + 9336 >> 2] = $1; + $2 = HEAP32[$0 + 9340 >> 2]; + $1 = HEAP32[$0 + 9336 >> 2]; + HEAP32[$0 + 904 >> 2] = $1; + HEAP32[$0 + 908 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28bool_29_29($4, $0 + 904 | 0); + HEAP32[$0 + 2960 >> 2] = 0; + HEAP32[$0 + 2956 >> 2] = 212; + $1 = HEAP32[$0 + 2960 >> 2]; + $2 = HEAP32[$0 + 2956 >> 2]; + HEAP32[$0 + 9488 >> 2] = $2; + HEAP32[$0 + 9492 >> 2] = $1; + $1 = HEAP32[$0 + 9488 >> 2]; + $2 = HEAP32[$0 + 9492 >> 2]; + HEAP32[$0 + 9516 >> 2] = $3; + HEAP32[$0 + 9512 >> 2] = 10264; + HEAP32[$0 + 9508 >> 2] = $2; + HEAP32[$0 + 9504 >> 2] = $1; + $3 = HEAP32[$0 + 9516 >> 2]; + $4 = HEAP32[$0 + 9512 >> 2]; + $1 = HEAP32[$0 + 9504 >> 2]; + HEAP32[$0 + 9500 >> 2] = HEAP32[$0 + 9508 >> 2]; + HEAP32[$0 + 9496 >> 2] = $1; + $2 = HEAP32[$0 + 9500 >> 2]; + $1 = HEAP32[$0 + 9496 >> 2]; + HEAP32[$0 + 896 >> 2] = $1; + HEAP32[$0 + 900 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20bool_20_28b2Body____29_28_29_20const_29($4, $0 + 896 | 0); + HEAP32[$0 + 2952 >> 2] = 0; + HEAP32[$0 + 2948 >> 2] = 213; + $1 = HEAP32[$0 + 2952 >> 2]; + $2 = HEAP32[$0 + 2948 >> 2]; + HEAP32[$0 + 9296 >> 2] = $2; + HEAP32[$0 + 9300 >> 2] = $1; + $1 = HEAP32[$0 + 9296 >> 2]; + $2 = HEAP32[$0 + 9300 >> 2]; + HEAP32[$0 + 9324 >> 2] = $3; + HEAP32[$0 + 9320 >> 2] = 6632; + HEAP32[$0 + 9316 >> 2] = $2; + HEAP32[$0 + 9312 >> 2] = $1; + $3 = HEAP32[$0 + 9324 >> 2]; + $4 = HEAP32[$0 + 9320 >> 2]; + $1 = HEAP32[$0 + 9312 >> 2]; + HEAP32[$0 + 9308 >> 2] = HEAP32[$0 + 9316 >> 2]; + HEAP32[$0 + 9304 >> 2] = $1; + $2 = HEAP32[$0 + 9308 >> 2]; + $1 = HEAP32[$0 + 9304 >> 2]; + HEAP32[$0 + 888 >> 2] = $1; + HEAP32[$0 + 892 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28bool_29_29($4, $0 + 888 | 0); + HEAP32[$0 + 2944 >> 2] = 0; + HEAP32[$0 + 2940 >> 2] = 214; + $1 = HEAP32[$0 + 2944 >> 2]; + $2 = HEAP32[$0 + 2940 >> 2]; + HEAP32[$0 + 9456 >> 2] = $2; + HEAP32[$0 + 9460 >> 2] = $1; + $1 = HEAP32[$0 + 9456 >> 2]; + $2 = HEAP32[$0 + 9460 >> 2]; + HEAP32[$0 + 9484 >> 2] = $3; + HEAP32[$0 + 9480 >> 2] = 6649; + HEAP32[$0 + 9476 >> 2] = $2; + HEAP32[$0 + 9472 >> 2] = $1; + $3 = HEAP32[$0 + 9484 >> 2]; + $4 = HEAP32[$0 + 9480 >> 2]; + $1 = HEAP32[$0 + 9472 >> 2]; + HEAP32[$0 + 9468 >> 2] = HEAP32[$0 + 9476 >> 2]; + HEAP32[$0 + 9464 >> 2] = $1; + $2 = HEAP32[$0 + 9468 >> 2]; + $1 = HEAP32[$0 + 9464 >> 2]; + HEAP32[$0 + 880 >> 2] = $1; + HEAP32[$0 + 884 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20bool_20_28b2Body____29_28_29_20const_29($4, $0 + 880 | 0); + HEAP32[$0 + 2932 >> 2] = 0; + HEAP32[$0 + 2928 >> 2] = 215; + $1 = HEAP32[$0 + 2932 >> 2]; + $2 = HEAP32[$0 + 2928 >> 2]; + HEAP32[$0 + 9616 >> 2] = $2; + HEAP32[$0 + 9620 >> 2] = $1; + $1 = HEAP32[$0 + 9616 >> 2]; + $2 = HEAP32[$0 + 9620 >> 2]; + HEAP32[$0 + 9644 >> 2] = $3; + HEAP32[$0 + 9640 >> 2] = 1851; + HEAP32[$0 + 9636 >> 2] = $2; + HEAP32[$0 + 9632 >> 2] = $1; + $3 = HEAP32[$0 + 9644 >> 2]; + $4 = HEAP32[$0 + 9640 >> 2]; + $1 = HEAP32[$0 + 9632 >> 2]; + HEAP32[$0 + 9628 >> 2] = HEAP32[$0 + 9636 >> 2]; + HEAP32[$0 + 9624 >> 2] = $1; + $2 = HEAP32[$0 + 9628 >> 2]; + $1 = HEAP32[$0 + 9624 >> 2]; + HEAP32[$0 + 872 >> 2] = $1; + HEAP32[$0 + 876 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Fixture__20_28b2Body____29_28_29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Fixture__20_28b2Body____29_28_29_29($4, $0 + 872 | 0); + HEAP32[$0 + 2920 >> 2] = 0; + HEAP32[$0 + 2916 >> 2] = 216; + $1 = HEAP32[$0 + 2920 >> 2]; + $2 = HEAP32[$0 + 2916 >> 2]; + HEAP32[$0 + 9648 >> 2] = $2; + HEAP32[$0 + 9652 >> 2] = $1; + $1 = HEAP32[$0 + 9648 >> 2]; + $2 = HEAP32[$0 + 9652 >> 2]; + HEAP32[$0 + 9680 >> 2] = $3; + HEAP32[$0 + 9676 >> 2] = 10056; + HEAP32[$0 + 9672 >> 2] = $2; + HEAP32[$0 + 9668 >> 2] = $1; + $3 = HEAP32[$0 + 9680 >> 2]; + $4 = HEAP32[$0 + 9676 >> 2]; + $1 = HEAP32[$0 + 9668 >> 2]; + HEAP32[$0 + 9664 >> 2] = HEAP32[$0 + 9672 >> 2]; + HEAP32[$0 + 9660 >> 2] = $1; + $2 = HEAP32[$0 + 9664 >> 2]; + $1 = HEAP32[$0 + 9660 >> 2]; + HEAP32[$0 + 864 >> 2] = $1; + HEAP32[$0 + 868 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2World__20_28b2Body____29_28_29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2World__20_28b2Body____29_28_29_29($4, $0 + 864 | 0); + HEAP32[$0 + 2912 >> 2] = 0; + HEAP32[$0 + 2908 >> 2] = 217; + $1 = HEAP32[$0 + 2912 >> 2]; + $2 = HEAP32[$0 + 2908 >> 2]; + HEAP32[$0 + 8976 >> 2] = $2; + HEAP32[$0 + 8980 >> 2] = $1; + $1 = HEAP32[$0 + 8976 >> 2]; + $2 = HEAP32[$0 + 8980 >> 2]; + HEAP32[$0 + 9004 >> 2] = $3; + HEAP32[$0 + 9e3 >> 2] = 6232; + HEAP32[$0 + 8996 >> 2] = $2; + HEAP32[$0 + 8992 >> 2] = $1; + $3 = HEAP32[$0 + 9e3 >> 2]; + $1 = HEAP32[$0 + 8992 >> 2]; + HEAP32[$0 + 8988 >> 2] = HEAP32[$0 + 8996 >> 2]; + HEAP32[$0 + 8984 >> 2] = $1; + $2 = HEAP32[$0 + 8988 >> 2]; + $1 = HEAP32[$0 + 8984 >> 2]; + HEAP32[$0 + 856 >> 2] = $1; + HEAP32[$0 + 860 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28_29_29($3, $0 + 856 | 0); + HEAP32[$0 + 9704 >> 2] = $0 + 2907; + HEAP32[$0 + 9700 >> 2] = 7998; + void_20emscripten__internal__NoBaseClass__verify_b2JointDef__28_29(); + HEAP32[$0 + 9696 >> 2] = 218; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2JointDef__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 9692 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2JointDef__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 9688 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 9684 >> 2] = 219; + $1 = emscripten__internal__TypeID_b2JointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2JointDef__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2JointDef_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 15576 >> 2] = HEAP32[$0 + 9696 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 9696 >> 2]; + HEAP32[$0 + 14724 >> 2] = HEAP32[$0 + 9692 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 9692 >> 2]; + HEAP32[$0 + 14720 >> 2] = HEAP32[$0 + 9688 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 9688 >> 2]; + $11 = HEAP32[$0 + 9700 >> 2]; + HEAP32[$0 + 15580 >> 2] = HEAP32[$0 + 9684 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 9684 >> 2]); + HEAP32[$0 + 9708 >> 2] = $0 + 2907; + HEAP32[$0 + 15588 >> 2] = HEAP32[$0 + 9708 >> 2]; + HEAP32[$0 + 15584 >> 2] = 220; + $1 = HEAP32[$0 + 15588 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2JointDef__20_28__29_28_29___invoke_b2JointDef__28b2JointDef__20_28__29_28_29_29(HEAP32[$0 + 15584 >> 2]); + HEAP32[$0 + 9728 >> 2] = $1; + HEAP32[$0 + 9724 >> 2] = 9223; + HEAP32[$0 + 9720 >> 2] = 0; + $1 = HEAP32[$0 + 9728 >> 2]; + HEAP32[$0 + 9716 >> 2] = 221; + HEAP32[$0 + 9712 >> 2] = 222; + $2 = emscripten__internal__TypeID_b2JointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 9724 >> 2]; + $4 = emscripten__internal__TypeID_b2JointType_2c_20void___get_28_29(); + HEAP32[$0 + 15592 >> 2] = HEAP32[$0 + 9716 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 9716 >> 2]; + $7 = b2JointType_20b2JointDef_____20emscripten__internal__getContext_b2JointType_20b2JointDef_____28b2JointType_20b2JointDef____20const__29($0 + 9720 | 0); + $8 = emscripten__internal__TypeID_b2JointType_2c_20void___get_28_29(); + HEAP32[$0 + 15596 >> 2] = HEAP32[$0 + 9712 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 9712 >> 2], b2JointType_20b2JointDef_____20emscripten__internal__getContext_b2JointType_20b2JointDef_____28b2JointType_20b2JointDef____20const__29($0 + 9720 | 0) | 0); + $2 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_8__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_8__28embind_init_b2_28_29__$_8_20const__29($0 + 2906 | 0); + HEAP32[$0 + 9752 >> 2] = $1; + HEAP32[$0 + 9748 >> 2] = 11104; + HEAP32[$0 + 9744 >> 2] = $2; + $1 = HEAP32[$0 + 9752 >> 2]; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2JointDef__2c_20b2Body__29___invoke_b2JointDef_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2JointDef__2c_20b2Body__29_29(HEAP32[$0 + 9748 >> 2], HEAP32[$0 + 9744 >> 2]); + $2 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_9__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_9__28embind_init_b2_28_29__$_9_20const__29($0 + 2904 | 0); + HEAP32[$0 + 9776 >> 2] = $1; + HEAP32[$0 + 9772 >> 2] = 11113; + HEAP32[$0 + 9768 >> 2] = $2; + $1 = HEAP32[$0 + 9776 >> 2]; + void_20emscripten__internal__RegisterClassMethod_b2Body__20_28__29_28b2JointDef__29___invoke_b2JointDef_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Body__20_28__29_28b2JointDef__29_29(HEAP32[$0 + 9772 >> 2], HEAP32[$0 + 9768 >> 2]); + $2 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_10__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_10__28embind_init_b2_28_29__$_10_20const__29($0 + 2902 | 0); + HEAP32[$0 + 9740 >> 2] = $1; + HEAP32[$0 + 9736 >> 2] = 10986; + HEAP32[$0 + 9732 >> 2] = $2; + $1 = HEAP32[$0 + 9740 >> 2]; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2JointDef__2c_20b2Body__29___invoke_b2JointDef_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2JointDef__2c_20b2Body__29_29(HEAP32[$0 + 9736 >> 2], HEAP32[$0 + 9732 >> 2]); + $2 = emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_11__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_11__28embind_init_b2_28_29__$_11_20const__29($0 + 2900 | 0); + HEAP32[$0 + 9764 >> 2] = $1; + HEAP32[$0 + 9760 >> 2] = 10995; + HEAP32[$0 + 9756 >> 2] = $2; + $1 = HEAP32[$0 + 9764 >> 2]; + void_20emscripten__internal__RegisterClassMethod_b2Body__20_28__29_28b2JointDef__29___invoke_b2JointDef_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Body__20_28__29_28b2JointDef__29_29(HEAP32[$0 + 9760 >> 2], HEAP32[$0 + 9756 >> 2]); + HEAP32[$0 + 9796 >> 2] = $1; + HEAP32[$0 + 9792 >> 2] = 10194; + HEAP32[$0 + 9788 >> 2] = 16; + HEAP32[$0 + 9784 >> 2] = 223; + HEAP32[$0 + 9780 >> 2] = 224; + $1 = emscripten__internal__TypeID_b2JointDef_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 9792 >> 2]; + $3 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15600 >> 2] = HEAP32[$0 + 9784 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 9784 >> 2]; + $6 = bool_20b2JointDef_____20emscripten__internal__getContext_bool_20b2JointDef_____28bool_20b2JointDef____20const__29($0 + 9788 | 0); + $7 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15604 >> 2] = HEAP32[$0 + 9780 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 9780 >> 2], bool_20b2JointDef_____20emscripten__internal__getContext_bool_20b2JointDef_____28bool_20b2JointDef____20const__29($0 + 9788 | 0) | 0); + HEAP32[$0 + 9820 >> 2] = $0 + 2898; + HEAP32[$0 + 9816 >> 2] = 2780; + void_20emscripten__internal__NoBaseClass__verify_b2Joint__28_29(); + HEAP32[$0 + 9812 >> 2] = 225; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2Joint__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 9808 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2Joint__28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 9804 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 9800 >> 2] = 226; + $1 = emscripten__internal__TypeID_b2Joint_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Joint__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$0 + 15608 >> 2] = HEAP32[$0 + 9812 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 9812 >> 2]; + HEAP32[$0 + 14716 >> 2] = HEAP32[$0 + 9808 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$0 + 9808 >> 2]; + HEAP32[$0 + 14712 >> 2] = HEAP32[$0 + 9804 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$0 + 9804 >> 2]; + $11 = HEAP32[$0 + 9816 >> 2]; + HEAP32[$0 + 15612 >> 2] = HEAP32[$0 + 9800 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 9800 >> 2]); + HEAP32[$0 + 2892 >> 2] = 0; + HEAP32[$0 + 2888 >> 2] = 227; + $1 = HEAP32[$0 + 2892 >> 2]; + $2 = HEAP32[$0 + 2888 >> 2]; + HEAP32[$0 + 9824 >> 2] = $2; + HEAP32[$0 + 9828 >> 2] = $1; + $1 = HEAP32[$0 + 9824 >> 2]; + $2 = HEAP32[$0 + 9828 >> 2]; + HEAP32[$0 + 9852 >> 2] = $0 + 2898; + HEAP32[$0 + 9848 >> 2] = 9253; + HEAP32[$0 + 9844 >> 2] = $2; + HEAP32[$0 + 9840 >> 2] = $1; + $3 = HEAP32[$0 + 9852 >> 2]; + $4 = HEAP32[$0 + 9848 >> 2]; + $1 = HEAP32[$0 + 9840 >> 2]; + HEAP32[$0 + 9836 >> 2] = HEAP32[$0 + 9844 >> 2]; + HEAP32[$0 + 9832 >> 2] = $1; + $2 = HEAP32[$0 + 9836 >> 2]; + $1 = HEAP32[$0 + 9832 >> 2]; + HEAP32[$0 + 848 >> 2] = $1; + HEAP32[$0 + 852 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2JointType_20_28b2Joint____29_28_29_20const___invoke_b2Joint__28char_20const__2c_20b2JointType_20_28b2Joint____29_28_29_20const_29($4, $0 + 848 | 0); + HEAP32[$0 + 2880 >> 2] = 0; + HEAP32[$0 + 2876 >> 2] = 228; + $1 = HEAP32[$0 + 2880 >> 2]; + $2 = HEAP32[$0 + 2876 >> 2]; + HEAP32[$0 + 9888 >> 2] = $2; + HEAP32[$0 + 9892 >> 2] = $1; + $1 = HEAP32[$0 + 9888 >> 2]; + $2 = HEAP32[$0 + 9892 >> 2]; + HEAP32[$0 + 9916 >> 2] = $3; + HEAP32[$0 + 9912 >> 2] = 11113; + HEAP32[$0 + 9908 >> 2] = $2; + HEAP32[$0 + 9904 >> 2] = $1; + $3 = HEAP32[$0 + 9916 >> 2]; + $4 = HEAP32[$0 + 9912 >> 2]; + $1 = HEAP32[$0 + 9904 >> 2]; + HEAP32[$0 + 9900 >> 2] = HEAP32[$0 + 9908 >> 2]; + HEAP32[$0 + 9896 >> 2] = $1; + $2 = HEAP32[$0 + 9900 >> 2]; + $1 = HEAP32[$0 + 9896 >> 2]; + HEAP32[$0 + 840 >> 2] = $1; + HEAP32[$0 + 844 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Body__20_28b2Joint____29_28_29___invoke_b2Joint_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Body__20_28b2Joint____29_28_29_29($4, $0 + 840 | 0); + HEAP32[$0 + 2868 >> 2] = 0; + HEAP32[$0 + 2864 >> 2] = 229; + $1 = HEAP32[$0 + 2868 >> 2]; + $2 = HEAP32[$0 + 2864 >> 2]; + HEAP32[$0 + 9856 >> 2] = $2; + HEAP32[$0 + 9860 >> 2] = $1; + $1 = HEAP32[$0 + 9856 >> 2]; + $2 = HEAP32[$0 + 9860 >> 2]; + HEAP32[$0 + 9884 >> 2] = $3; + HEAP32[$0 + 9880 >> 2] = 10995; + HEAP32[$0 + 9876 >> 2] = $2; + HEAP32[$0 + 9872 >> 2] = $1; + $3 = HEAP32[$0 + 9884 >> 2]; + $4 = HEAP32[$0 + 9880 >> 2]; + $1 = HEAP32[$0 + 9872 >> 2]; + HEAP32[$0 + 9868 >> 2] = HEAP32[$0 + 9876 >> 2]; + HEAP32[$0 + 9864 >> 2] = $1; + $2 = HEAP32[$0 + 9868 >> 2]; + $1 = HEAP32[$0 + 9864 >> 2]; + HEAP32[$0 + 832 >> 2] = $1; + HEAP32[$0 + 836 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Body__20_28b2Joint____29_28_29___invoke_b2Joint_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Body__20_28b2Joint____29_28_29_29($4, $0 + 832 | 0); + HEAP32[$0 + 2856 >> 2] = 1; + HEAP32[$0 + 2852 >> 2] = 0; + $1 = HEAP32[$0 + 2856 >> 2]; + $2 = HEAP32[$0 + 2852 >> 2]; + HEAP32[$0 + 9952 >> 2] = $2; + HEAP32[$0 + 9956 >> 2] = $1; + $1 = HEAP32[$0 + 9952 >> 2]; + $2 = HEAP32[$0 + 9956 >> 2]; + HEAP32[$0 + 9980 >> 2] = $3; + HEAP32[$0 + 9976 >> 2] = 11147; + HEAP32[$0 + 9972 >> 2] = $2; + HEAP32[$0 + 9968 >> 2] = $1; + $3 = HEAP32[$0 + 9980 >> 2]; + $4 = HEAP32[$0 + 9976 >> 2]; + $1 = HEAP32[$0 + 9968 >> 2]; + HEAP32[$0 + 9964 >> 2] = HEAP32[$0 + 9972 >> 2]; + HEAP32[$0 + 9960 >> 2] = $1; + $2 = HEAP32[$0 + 9964 >> 2]; + $1 = HEAP32[$0 + 9960 >> 2]; + HEAP32[$0 + 824 >> 2] = $1; + HEAP32[$0 + 828 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Joint____29_28_29_20const___invoke_b2Joint_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Vec2_20_28b2Joint____29_28_29_20const_29($4, $0 + 824 | 0); + HEAP32[$0 + 2844 >> 2] = 1; + HEAP32[$0 + 2840 >> 2] = 4; + $1 = HEAP32[$0 + 2844 >> 2]; + $2 = HEAP32[$0 + 2840 >> 2]; + HEAP32[$0 + 9920 >> 2] = $2; + HEAP32[$0 + 9924 >> 2] = $1; + $1 = HEAP32[$0 + 9920 >> 2]; + $2 = HEAP32[$0 + 9924 >> 2]; + HEAP32[$0 + 9948 >> 2] = $3; + HEAP32[$0 + 9944 >> 2] = 11004; + HEAP32[$0 + 9940 >> 2] = $2; + HEAP32[$0 + 9936 >> 2] = $1; + $3 = HEAP32[$0 + 9948 >> 2]; + $4 = HEAP32[$0 + 9944 >> 2]; + $1 = HEAP32[$0 + 9936 >> 2]; + HEAP32[$0 + 9932 >> 2] = HEAP32[$0 + 9940 >> 2]; + HEAP32[$0 + 9928 >> 2] = $1; + $2 = HEAP32[$0 + 9932 >> 2]; + $1 = HEAP32[$0 + 9928 >> 2]; + HEAP32[$0 + 816 >> 2] = $1; + HEAP32[$0 + 820 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Joint____29_28_29_20const___invoke_b2Joint_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Vec2_20_28b2Joint____29_28_29_20const_29($4, $0 + 816 | 0); + HEAP32[$0 + 2836 >> 2] = 1; + HEAP32[$0 + 2832 >> 2] = 8; + $1 = HEAP32[$0 + 2836 >> 2]; + $2 = HEAP32[$0 + 2832 >> 2]; + HEAP32[$0 + 9984 >> 2] = $2; + HEAP32[$0 + 9988 >> 2] = $1; + $1 = HEAP32[$0 + 9984 >> 2]; + $2 = HEAP32[$0 + 9988 >> 2]; + HEAP32[$0 + 10012 >> 2] = $3; + HEAP32[$0 + 10008 >> 2] = 9958; + HEAP32[$0 + 10004 >> 2] = $2; + HEAP32[$0 + 1e4 >> 2] = $1; + $3 = HEAP32[$0 + 10012 >> 2]; + $4 = HEAP32[$0 + 10008 >> 2]; + $1 = HEAP32[$0 + 1e4 >> 2]; + HEAP32[$0 + 9996 >> 2] = HEAP32[$0 + 10004 >> 2]; + HEAP32[$0 + 9992 >> 2] = $1; + $2 = HEAP32[$0 + 9996 >> 2]; + $1 = HEAP32[$0 + 9992 >> 2]; + HEAP32[$0 + 808 >> 2] = $1; + HEAP32[$0 + 812 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Joint____29_28float_29_20const___invoke_b2Joint__28char_20const__2c_20b2Vec2_20_28b2Joint____29_28float_29_20const_29($4, $0 + 808 | 0); + HEAP32[$0 + 2828 >> 2] = 1; + HEAP32[$0 + 2824 >> 2] = 12; + $1 = HEAP32[$0 + 2828 >> 2]; + $2 = HEAP32[$0 + 2824 >> 2]; + HEAP32[$0 + 10016 >> 2] = $2; + HEAP32[$0 + 10020 >> 2] = $1; + $1 = HEAP32[$0 + 10016 >> 2]; + $2 = HEAP32[$0 + 10020 >> 2]; + HEAP32[$0 + 10044 >> 2] = $3; + HEAP32[$0 + 10040 >> 2] = 8857; + HEAP32[$0 + 10036 >> 2] = $2; + HEAP32[$0 + 10032 >> 2] = $1; + $3 = HEAP32[$0 + 10044 >> 2]; + $4 = HEAP32[$0 + 10040 >> 2]; + $1 = HEAP32[$0 + 10032 >> 2]; + HEAP32[$0 + 10028 >> 2] = HEAP32[$0 + 10036 >> 2]; + HEAP32[$0 + 10024 >> 2] = $1; + $2 = HEAP32[$0 + 10028 >> 2]; + $1 = HEAP32[$0 + 10024 >> 2]; + HEAP32[$0 + 800 >> 2] = $1; + HEAP32[$0 + 804 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2Joint____29_28float_29_20const___invoke_b2Joint__28char_20const__2c_20float_20_28b2Joint____29_28float_29_20const_29($4, $0 + 800 | 0); + HEAP32[$0 + 2820 >> 2] = 0; + HEAP32[$0 + 2816 >> 2] = 230; + $1 = HEAP32[$0 + 2820 >> 2]; + $2 = HEAP32[$0 + 2816 >> 2]; + HEAP32[$0 + 10048 >> 2] = $2; + HEAP32[$0 + 10052 >> 2] = $1; + $1 = HEAP32[$0 + 10048 >> 2]; + $2 = HEAP32[$0 + 10052 >> 2]; + HEAP32[$0 + 10076 >> 2] = $3; + HEAP32[$0 + 10072 >> 2] = 10211; + HEAP32[$0 + 10068 >> 2] = $2; + HEAP32[$0 + 10064 >> 2] = $1; + $3 = HEAP32[$0 + 10076 >> 2]; + $4 = HEAP32[$0 + 10072 >> 2]; + $1 = HEAP32[$0 + 10064 >> 2]; + HEAP32[$0 + 10060 >> 2] = HEAP32[$0 + 10068 >> 2]; + HEAP32[$0 + 10056 >> 2] = $1; + $2 = HEAP32[$0 + 10060 >> 2]; + $1 = HEAP32[$0 + 10056 >> 2]; + HEAP32[$0 + 792 >> 2] = $1; + HEAP32[$0 + 796 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Joint____29_28_29_20const___invoke_b2Joint__28char_20const__2c_20bool_20_28b2Joint____29_28_29_20const_29($4, $0 + 792 | 0); + HEAP32[$0 + 2812 >> 2] = 1; + HEAP32[$0 + 2808 >> 2] = 16; + $1 = HEAP32[$0 + 2812 >> 2]; + $2 = HEAP32[$0 + 2808 >> 2]; + HEAP32[$0 + 10080 >> 2] = $2; + HEAP32[$0 + 10084 >> 2] = $1; + $1 = HEAP32[$0 + 10080 >> 2]; + $2 = HEAP32[$0 + 10084 >> 2]; + HEAP32[$0 + 10108 >> 2] = $3; + HEAP32[$0 + 10104 >> 2] = 6232; + HEAP32[$0 + 10100 >> 2] = $2; + HEAP32[$0 + 10096 >> 2] = $1; + $3 = HEAP32[$0 + 10104 >> 2]; + $1 = HEAP32[$0 + 10096 >> 2]; + HEAP32[$0 + 10092 >> 2] = HEAP32[$0 + 10100 >> 2]; + HEAP32[$0 + 10088 >> 2] = $1; + $2 = HEAP32[$0 + 10092 >> 2]; + $1 = HEAP32[$0 + 10088 >> 2]; + HEAP32[$0 + 784 >> 2] = $1; + HEAP32[$0 + 788 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2Joint____29_28_29___invoke_b2Joint__28char_20const__2c_20void_20_28b2Joint____29_28_29_29($3, $0 + 784 | 0); + HEAP32[$0 + 10132 >> 2] = $0 + 2807; + HEAP32[$0 + 10128 >> 2] = 7959; + void_20emscripten__base_b2JointDef___verify_b2DistanceJointDef__28_29(); + HEAP32[$0 + 10124 >> 2] = 231; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2DistanceJointDef__28_29_29_28b2DistanceJointDef__29(), + HEAP32[wasm2js_i32$0 + 10120 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2DistanceJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2DistanceJointDef__28_29_29_28b2JointDef__29(), + HEAP32[wasm2js_i32$0 + 10116 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 10112 >> 2] = 232; + $1 = emscripten__internal__TypeID_b2DistanceJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DistanceJointDef__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DistanceJointDef_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2JointDef___get_28_29(); + HEAP32[$0 + 15616 >> 2] = HEAP32[$0 + 10124 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10124 >> 2]; + HEAP32[$0 + 15620 >> 2] = HEAP32[$0 + 10120 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 10120 >> 2]; + HEAP32[$0 + 15624 >> 2] = HEAP32[$0 + 10116 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 10116 >> 2]; + $11 = HEAP32[$0 + 10128 >> 2]; + HEAP32[$0 + 15628 >> 2] = HEAP32[$0 + 10112 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 10112 >> 2]); + HEAP32[$0 + 10136 >> 2] = $0 + 2807; + HEAP32[$0 + 15636 >> 2] = HEAP32[$0 + 10136 >> 2]; + HEAP32[$0 + 15632 >> 2] = 233; + $1 = HEAP32[$0 + 15636 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2DistanceJointDef__20_28__29_28_29___invoke_b2DistanceJointDef__28b2DistanceJointDef__20_28__29_28_29_29(HEAP32[$0 + 15632 >> 2]); + HEAP32[$0 + 10176 >> 2] = $1; + HEAP32[$0 + 10172 >> 2] = 11158; + HEAP32[$0 + 10168 >> 2] = 20; + $1 = HEAP32[$0 + 10176 >> 2]; + HEAP32[$0 + 10164 >> 2] = 234; + HEAP32[$0 + 10160 >> 2] = 235; + $2 = emscripten__internal__TypeID_b2DistanceJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 10172 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15640 >> 2] = HEAP32[$0 + 10164 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10164 >> 2]; + $7 = b2Vec2_20b2DistanceJointDef_____20emscripten__internal__getContext_b2Vec2_20b2DistanceJointDef_____28b2Vec2_20b2DistanceJointDef____20const__29($0 + 10168 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15648 >> 2] = HEAP32[$0 + 10160 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 10160 >> 2], b2Vec2_20b2DistanceJointDef_____20emscripten__internal__getContext_b2Vec2_20b2DistanceJointDef_____28b2Vec2_20b2DistanceJointDef____20const__29($0 + 10168 | 0) | 0); + HEAP32[$0 + 10156 >> 2] = $1; + HEAP32[$0 + 10152 >> 2] = 11015; + HEAP32[$0 + 10148 >> 2] = 28; + $1 = HEAP32[$0 + 10156 >> 2]; + HEAP32[$0 + 10144 >> 2] = 234; + HEAP32[$0 + 10140 >> 2] = 235; + $2 = emscripten__internal__TypeID_b2DistanceJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 10152 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15644 >> 2] = HEAP32[$0 + 10144 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10144 >> 2]; + $7 = b2Vec2_20b2DistanceJointDef_____20emscripten__internal__getContext_b2Vec2_20b2DistanceJointDef_____28b2Vec2_20b2DistanceJointDef____20const__29($0 + 10148 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15652 >> 2] = HEAP32[$0 + 10140 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 10140 >> 2], b2Vec2_20b2DistanceJointDef_____20emscripten__internal__getContext_b2Vec2_20b2DistanceJointDef_____28b2Vec2_20b2DistanceJointDef____20const__29($0 + 10148 | 0) | 0); + HEAP32[$0 + 10236 >> 2] = $1; + HEAP32[$0 + 10232 >> 2] = 7047; + HEAP32[$0 + 10228 >> 2] = 36; + $1 = HEAP32[$0 + 10236 >> 2]; + HEAP32[$0 + 10224 >> 2] = 236; + HEAP32[$0 + 10220 >> 2] = 237; + $2 = emscripten__internal__TypeID_b2DistanceJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 10232 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15656 >> 2] = HEAP32[$0 + 10224 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10224 >> 2]; + $7 = float_20b2DistanceJointDef_____20emscripten__internal__getContext_float_20b2DistanceJointDef_____28float_20b2DistanceJointDef____20const__29($0 + 10228 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15668 >> 2] = HEAP32[$0 + 10220 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 10220 >> 2], float_20b2DistanceJointDef_____20emscripten__internal__getContext_float_20b2DistanceJointDef_____28float_20b2DistanceJointDef____20const__29($0 + 10228 | 0) | 0); + HEAP32[$0 + 10216 >> 2] = $1; + HEAP32[$0 + 10212 >> 2] = 3387; + HEAP32[$0 + 10208 >> 2] = 40; + $1 = HEAP32[$0 + 10216 >> 2]; + HEAP32[$0 + 10204 >> 2] = 236; + HEAP32[$0 + 10200 >> 2] = 237; + $2 = emscripten__internal__TypeID_b2DistanceJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 10212 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15660 >> 2] = HEAP32[$0 + 10204 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10204 >> 2]; + $7 = float_20b2DistanceJointDef_____20emscripten__internal__getContext_float_20b2DistanceJointDef_____28float_20b2DistanceJointDef____20const__29($0 + 10208 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15672 >> 2] = HEAP32[$0 + 10200 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 10200 >> 2], float_20b2DistanceJointDef_____20emscripten__internal__getContext_float_20b2DistanceJointDef_____28float_20b2DistanceJointDef____20const__29($0 + 10208 | 0) | 0); + HEAP32[$0 + 10196 >> 2] = $1; + HEAP32[$0 + 10192 >> 2] = 7694; + HEAP32[$0 + 10188 >> 2] = 44; + HEAP32[$0 + 10184 >> 2] = 236; + HEAP32[$0 + 10180 >> 2] = 237; + $1 = emscripten__internal__TypeID_b2DistanceJointDef_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 10192 >> 2]; + $3 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15664 >> 2] = HEAP32[$0 + 10184 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 10184 >> 2]; + $6 = float_20b2DistanceJointDef_____20emscripten__internal__getContext_float_20b2DistanceJointDef_____28float_20b2DistanceJointDef____20const__29($0 + 10188 | 0); + $7 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15676 >> 2] = HEAP32[$0 + 10180 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 10180 >> 2], float_20b2DistanceJointDef_____20emscripten__internal__getContext_float_20b2DistanceJointDef_____28float_20b2DistanceJointDef____20const__29($0 + 10188 | 0) | 0); + HEAP32[$0 + 10260 >> 2] = $0 + 2806; + HEAP32[$0 + 10256 >> 2] = 2621; + void_20emscripten__base_b2Joint___verify_b2DistanceJoint__28_29(); + HEAP32[$0 + 10252 >> 2] = 238; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2DistanceJoint__28_29_29_28b2DistanceJoint__29(), + HEAP32[wasm2js_i32$0 + 10248 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2DistanceJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2DistanceJoint__28_29_29_28b2Joint__29(), + HEAP32[wasm2js_i32$0 + 10244 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 10240 >> 2] = 239; + $1 = emscripten__internal__TypeID_b2DistanceJoint_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DistanceJoint__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2Joint___get_28_29(); + HEAP32[$0 + 15680 >> 2] = HEAP32[$0 + 10252 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10252 >> 2]; + HEAP32[$0 + 15684 >> 2] = HEAP32[$0 + 10248 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 10248 >> 2]; + HEAP32[$0 + 15688 >> 2] = HEAP32[$0 + 10244 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 10244 >> 2]; + $11 = HEAP32[$0 + 10256 >> 2]; + HEAP32[$0 + 15692 >> 2] = HEAP32[$0 + 10240 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 10240 >> 2]); + HEAP32[$0 + 2800 >> 2] = 0; + HEAP32[$0 + 2796 >> 2] = 240; + $1 = HEAP32[$0 + 2800 >> 2]; + $2 = HEAP32[$0 + 2796 >> 2]; + HEAP32[$0 + 10296 >> 2] = $2; + HEAP32[$0 + 10300 >> 2] = $1; + $1 = HEAP32[$0 + 10296 >> 2]; + $2 = HEAP32[$0 + 10300 >> 2]; + HEAP32[$0 + 10324 >> 2] = $0 + 2806; + HEAP32[$0 + 10320 >> 2] = 11171; + HEAP32[$0 + 10316 >> 2] = $2; + HEAP32[$0 + 10312 >> 2] = $1; + $3 = HEAP32[$0 + 10324 >> 2]; + $4 = HEAP32[$0 + 10320 >> 2]; + $1 = HEAP32[$0 + 10312 >> 2]; + HEAP32[$0 + 10308 >> 2] = HEAP32[$0 + 10316 >> 2]; + HEAP32[$0 + 10304 >> 2] = $1; + $2 = HEAP32[$0 + 10308 >> 2]; + $1 = HEAP32[$0 + 10304 >> 2]; + HEAP32[$0 + 776 >> 2] = $1; + HEAP32[$0 + 780 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2DistanceJoint____29_28_29_20const___invoke_b2DistanceJoint__28char_20const__2c_20b2Vec2_20const__20_28b2DistanceJoint____29_28_29_20const_29($4, $0 + 776 | 0); + HEAP32[$0 + 2792 >> 2] = 0; + HEAP32[$0 + 2788 >> 2] = 241; + $1 = HEAP32[$0 + 2792 >> 2]; + $2 = HEAP32[$0 + 2788 >> 2]; + HEAP32[$0 + 10264 >> 2] = $2; + HEAP32[$0 + 10268 >> 2] = $1; + $1 = HEAP32[$0 + 10264 >> 2]; + $2 = HEAP32[$0 + 10268 >> 2]; + HEAP32[$0 + 10292 >> 2] = $3; + HEAP32[$0 + 10288 >> 2] = 11028; + HEAP32[$0 + 10284 >> 2] = $2; + HEAP32[$0 + 10280 >> 2] = $1; + $3 = HEAP32[$0 + 10292 >> 2]; + $4 = HEAP32[$0 + 10288 >> 2]; + $1 = HEAP32[$0 + 10280 >> 2]; + HEAP32[$0 + 10276 >> 2] = HEAP32[$0 + 10284 >> 2]; + HEAP32[$0 + 10272 >> 2] = $1; + $2 = HEAP32[$0 + 10276 >> 2]; + $1 = HEAP32[$0 + 10272 >> 2]; + HEAP32[$0 + 768 >> 2] = $1; + HEAP32[$0 + 772 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2DistanceJoint____29_28_29_20const___invoke_b2DistanceJoint__28char_20const__2c_20b2Vec2_20const__20_28b2DistanceJoint____29_28_29_20const_29($4, $0 + 768 | 0); + HEAP32[$0 + 2784 >> 2] = 0; + HEAP32[$0 + 2780 >> 2] = 242; + $1 = HEAP32[$0 + 2784 >> 2]; + $2 = HEAP32[$0 + 2780 >> 2]; + HEAP32[$0 + 10392 >> 2] = $2; + HEAP32[$0 + 10396 >> 2] = $1; + $1 = HEAP32[$0 + 10392 >> 2]; + $2 = HEAP32[$0 + 10396 >> 2]; + HEAP32[$0 + 10420 >> 2] = $3; + HEAP32[$0 + 10416 >> 2] = 7090; + HEAP32[$0 + 10412 >> 2] = $2; + HEAP32[$0 + 10408 >> 2] = $1; + $3 = HEAP32[$0 + 10420 >> 2]; + $4 = HEAP32[$0 + 10416 >> 2]; + $1 = HEAP32[$0 + 10408 >> 2]; + HEAP32[$0 + 10404 >> 2] = HEAP32[$0 + 10412 >> 2]; + HEAP32[$0 + 10400 >> 2] = $1; + $2 = HEAP32[$0 + 10404 >> 2]; + $1 = HEAP32[$0 + 10400 >> 2]; + HEAP32[$0 + 760 >> 2] = $1; + HEAP32[$0 + 764 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2DistanceJoint____29_28float_29___invoke_b2DistanceJoint__28char_20const__2c_20void_20_28b2DistanceJoint____29_28float_29_29($4, $0 + 760 | 0); + HEAP32[$0 + 2776 >> 2] = 0; + HEAP32[$0 + 2772 >> 2] = 243; + $1 = HEAP32[$0 + 2776 >> 2]; + $2 = HEAP32[$0 + 2772 >> 2]; + HEAP32[$0 + 10488 >> 2] = $2; + HEAP32[$0 + 10492 >> 2] = $1; + $1 = HEAP32[$0 + 10488 >> 2]; + $2 = HEAP32[$0 + 10492 >> 2]; + HEAP32[$0 + 10516 >> 2] = $3; + HEAP32[$0 + 10512 >> 2] = 7100; + HEAP32[$0 + 10508 >> 2] = $2; + HEAP32[$0 + 10504 >> 2] = $1; + $3 = HEAP32[$0 + 10516 >> 2]; + $4 = HEAP32[$0 + 10512 >> 2]; + $1 = HEAP32[$0 + 10504 >> 2]; + HEAP32[$0 + 10500 >> 2] = HEAP32[$0 + 10508 >> 2]; + HEAP32[$0 + 10496 >> 2] = $1; + $2 = HEAP32[$0 + 10500 >> 2]; + $1 = HEAP32[$0 + 10496 >> 2]; + HEAP32[$0 + 752 >> 2] = $1; + HEAP32[$0 + 756 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2DistanceJoint____29_28_29_20const___invoke_b2DistanceJoint__28char_20const__2c_20float_20_28b2DistanceJoint____29_28_29_20const_29($4, $0 + 752 | 0); + HEAP32[$0 + 2768 >> 2] = 0; + HEAP32[$0 + 2764 >> 2] = 244; + $1 = HEAP32[$0 + 2768 >> 2]; + $2 = HEAP32[$0 + 2764 >> 2]; + HEAP32[$0 + 10360 >> 2] = $2; + HEAP32[$0 + 10364 >> 2] = $1; + $1 = HEAP32[$0 + 10360 >> 2]; + $2 = HEAP32[$0 + 10364 >> 2]; + HEAP32[$0 + 10388 >> 2] = $3; + HEAP32[$0 + 10384 >> 2] = 3397; + HEAP32[$0 + 10380 >> 2] = $2; + HEAP32[$0 + 10376 >> 2] = $1; + $3 = HEAP32[$0 + 10388 >> 2]; + $4 = HEAP32[$0 + 10384 >> 2]; + $1 = HEAP32[$0 + 10376 >> 2]; + HEAP32[$0 + 10372 >> 2] = HEAP32[$0 + 10380 >> 2]; + HEAP32[$0 + 10368 >> 2] = $1; + $2 = HEAP32[$0 + 10372 >> 2]; + $1 = HEAP32[$0 + 10368 >> 2]; + HEAP32[$0 + 744 >> 2] = $1; + HEAP32[$0 + 748 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2DistanceJoint____29_28float_29___invoke_b2DistanceJoint__28char_20const__2c_20void_20_28b2DistanceJoint____29_28float_29_29($4, $0 + 744 | 0); + HEAP32[$0 + 2760 >> 2] = 0; + HEAP32[$0 + 2756 >> 2] = 245; + $1 = HEAP32[$0 + 2760 >> 2]; + $2 = HEAP32[$0 + 2756 >> 2]; + HEAP32[$0 + 10456 >> 2] = $2; + HEAP32[$0 + 10460 >> 2] = $1; + $1 = HEAP32[$0 + 10456 >> 2]; + $2 = HEAP32[$0 + 10460 >> 2]; + HEAP32[$0 + 10484 >> 2] = $3; + HEAP32[$0 + 10480 >> 2] = 3410; + HEAP32[$0 + 10476 >> 2] = $2; + HEAP32[$0 + 10472 >> 2] = $1; + $3 = HEAP32[$0 + 10484 >> 2]; + $4 = HEAP32[$0 + 10480 >> 2]; + $1 = HEAP32[$0 + 10472 >> 2]; + HEAP32[$0 + 10468 >> 2] = HEAP32[$0 + 10476 >> 2]; + HEAP32[$0 + 10464 >> 2] = $1; + $2 = HEAP32[$0 + 10468 >> 2]; + $1 = HEAP32[$0 + 10464 >> 2]; + HEAP32[$0 + 736 >> 2] = $1; + HEAP32[$0 + 740 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2DistanceJoint____29_28_29_20const___invoke_b2DistanceJoint__28char_20const__2c_20float_20_28b2DistanceJoint____29_28_29_20const_29($4, $0 + 736 | 0); + HEAP32[$0 + 2752 >> 2] = 0; + HEAP32[$0 + 2748 >> 2] = 246; + $1 = HEAP32[$0 + 2752 >> 2]; + $2 = HEAP32[$0 + 2748 >> 2]; + HEAP32[$0 + 10328 >> 2] = $2; + HEAP32[$0 + 10332 >> 2] = $1; + $1 = HEAP32[$0 + 10328 >> 2]; + $2 = HEAP32[$0 + 10332 >> 2]; + HEAP32[$0 + 10356 >> 2] = $3; + HEAP32[$0 + 10352 >> 2] = 7702; + HEAP32[$0 + 10348 >> 2] = $2; + HEAP32[$0 + 10344 >> 2] = $1; + $3 = HEAP32[$0 + 10356 >> 2]; + $4 = HEAP32[$0 + 10352 >> 2]; + $1 = HEAP32[$0 + 10344 >> 2]; + HEAP32[$0 + 10340 >> 2] = HEAP32[$0 + 10348 >> 2]; + HEAP32[$0 + 10336 >> 2] = $1; + $2 = HEAP32[$0 + 10340 >> 2]; + $1 = HEAP32[$0 + 10336 >> 2]; + HEAP32[$0 + 728 >> 2] = $1; + HEAP32[$0 + 732 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2DistanceJoint____29_28float_29___invoke_b2DistanceJoint__28char_20const__2c_20void_20_28b2DistanceJoint____29_28float_29_29($4, $0 + 728 | 0); + HEAP32[$0 + 2744 >> 2] = 0; + HEAP32[$0 + 2740 >> 2] = 247; + $1 = HEAP32[$0 + 2744 >> 2]; + $2 = HEAP32[$0 + 2740 >> 2]; + HEAP32[$0 + 10424 >> 2] = $2; + HEAP32[$0 + 10428 >> 2] = $1; + $1 = HEAP32[$0 + 10424 >> 2]; + $2 = HEAP32[$0 + 10428 >> 2]; + HEAP32[$0 + 10452 >> 2] = $3; + HEAP32[$0 + 10448 >> 2] = 7713; + HEAP32[$0 + 10444 >> 2] = $2; + HEAP32[$0 + 10440 >> 2] = $1; + $3 = HEAP32[$0 + 10452 >> 2]; + $4 = HEAP32[$0 + 10448 >> 2]; + $1 = HEAP32[$0 + 10440 >> 2]; + HEAP32[$0 + 10436 >> 2] = HEAP32[$0 + 10444 >> 2]; + HEAP32[$0 + 10432 >> 2] = $1; + $2 = HEAP32[$0 + 10436 >> 2]; + $1 = HEAP32[$0 + 10432 >> 2]; + HEAP32[$0 + 720 >> 2] = $1; + HEAP32[$0 + 724 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2DistanceJoint____29_28_29_20const___invoke_b2DistanceJoint__28char_20const__2c_20float_20_28b2DistanceJoint____29_28_29_20const_29($4, $0 + 720 | 0); + HEAP32[$0 + 2736 >> 2] = 1; + HEAP32[$0 + 2732 >> 2] = 16; + $1 = HEAP32[$0 + 2736 >> 2]; + $2 = HEAP32[$0 + 2732 >> 2]; + HEAP32[$0 + 10520 >> 2] = $2; + HEAP32[$0 + 10524 >> 2] = $1; + $1 = HEAP32[$0 + 10520 >> 2]; + $2 = HEAP32[$0 + 10524 >> 2]; + HEAP32[$0 + 10548 >> 2] = $3; + HEAP32[$0 + 10544 >> 2] = 6232; + HEAP32[$0 + 10540 >> 2] = $2; + HEAP32[$0 + 10536 >> 2] = $1; + $3 = HEAP32[$0 + 10544 >> 2]; + $1 = HEAP32[$0 + 10536 >> 2]; + HEAP32[$0 + 10532 >> 2] = HEAP32[$0 + 10540 >> 2]; + HEAP32[$0 + 10528 >> 2] = $1; + $2 = HEAP32[$0 + 10532 >> 2]; + $1 = HEAP32[$0 + 10528 >> 2]; + HEAP32[$0 + 712 >> 2] = $1; + HEAP32[$0 + 716 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2DistanceJoint____29_28_29___invoke_b2DistanceJoint__28char_20const__2c_20void_20_28b2DistanceJoint____29_28_29_29($3, $0 + 712 | 0); + HEAP32[$0 + 10572 >> 2] = $0 + 2731; + HEAP32[$0 + 10568 >> 2] = 7887; + void_20emscripten__base_b2JointDef___verify_b2MotorJointDef__28_29(); + HEAP32[$0 + 10564 >> 2] = 248; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2MotorJointDef__28_29_29_28b2MotorJointDef__29(), + HEAP32[wasm2js_i32$0 + 10560 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2MotorJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2MotorJointDef__28_29_29_28b2JointDef__29(), + HEAP32[wasm2js_i32$0 + 10556 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 10552 >> 2] = 249; + $1 = emscripten__internal__TypeID_b2MotorJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MotorJointDef__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MotorJointDef_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2JointDef___get_28_29(); + HEAP32[$0 + 15696 >> 2] = HEAP32[$0 + 10564 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10564 >> 2]; + HEAP32[$0 + 15700 >> 2] = HEAP32[$0 + 10560 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 10560 >> 2]; + HEAP32[$0 + 15704 >> 2] = HEAP32[$0 + 10556 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 10556 >> 2]; + $11 = HEAP32[$0 + 10568 >> 2]; + HEAP32[$0 + 15708 >> 2] = HEAP32[$0 + 10552 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 10552 >> 2]); + HEAP32[$0 + 10576 >> 2] = $0 + 2731; + HEAP32[$0 + 15716 >> 2] = HEAP32[$0 + 10576 >> 2]; + HEAP32[$0 + 15712 >> 2] = 250; + $1 = HEAP32[$0 + 15716 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2MotorJointDef__20_28__29_28_29___invoke_b2MotorJointDef__28b2MotorJointDef__20_28__29_28_29_29(HEAP32[$0 + 15712 >> 2]); + HEAP32[$0 + 10596 >> 2] = $1; + HEAP32[$0 + 10592 >> 2] = 2921; + HEAP32[$0 + 10588 >> 2] = 20; + $1 = HEAP32[$0 + 10596 >> 2]; + HEAP32[$0 + 10584 >> 2] = 251; + HEAP32[$0 + 10580 >> 2] = 252; + $2 = emscripten__internal__TypeID_b2MotorJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 10592 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15720 >> 2] = HEAP32[$0 + 10584 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10584 >> 2]; + $7 = b2Vec2_20b2MotorJointDef_____20emscripten__internal__getContext_b2Vec2_20b2MotorJointDef_____28b2Vec2_20b2MotorJointDef____20const__29($0 + 10588 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15724 >> 2] = HEAP32[$0 + 10580 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 10580 >> 2], b2Vec2_20b2MotorJointDef_____20emscripten__internal__getContext_b2Vec2_20b2MotorJointDef_____28b2Vec2_20b2MotorJointDef____20const__29($0 + 10588 | 0) | 0); + HEAP32[$0 + 10676 >> 2] = $1; + HEAP32[$0 + 10672 >> 2] = 2873; + HEAP32[$0 + 10668 >> 2] = 28; + $1 = HEAP32[$0 + 10676 >> 2]; + HEAP32[$0 + 10664 >> 2] = 253; + HEAP32[$0 + 10660 >> 2] = 254; + $2 = emscripten__internal__TypeID_b2MotorJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 10672 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15728 >> 2] = HEAP32[$0 + 10664 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10664 >> 2]; + $7 = float_20b2MotorJointDef_____20emscripten__internal__getContext_float_20b2MotorJointDef_____28float_20b2MotorJointDef____20const__29($0 + 10668 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15744 >> 2] = HEAP32[$0 + 10660 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 10660 >> 2], float_20b2MotorJointDef_____20emscripten__internal__getContext_float_20b2MotorJointDef_____28float_20b2MotorJointDef____20const__29($0 + 10668 | 0) | 0); + HEAP32[$0 + 10656 >> 2] = $1; + HEAP32[$0 + 10652 >> 2] = 9863; + HEAP32[$0 + 10648 >> 2] = 32; + $1 = HEAP32[$0 + 10656 >> 2]; + HEAP32[$0 + 10644 >> 2] = 253; + HEAP32[$0 + 10640 >> 2] = 254; + $2 = emscripten__internal__TypeID_b2MotorJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 10652 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15732 >> 2] = HEAP32[$0 + 10644 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10644 >> 2]; + $7 = float_20b2MotorJointDef_____20emscripten__internal__getContext_float_20b2MotorJointDef_____28float_20b2MotorJointDef____20const__29($0 + 10648 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15748 >> 2] = HEAP32[$0 + 10640 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 10640 >> 2], float_20b2MotorJointDef_____20emscripten__internal__getContext_float_20b2MotorJointDef_____28float_20b2MotorJointDef____20const__29($0 + 10648 | 0) | 0); + HEAP32[$0 + 10636 >> 2] = $1; + HEAP32[$0 + 10632 >> 2] = 8755; + HEAP32[$0 + 10628 >> 2] = 36; + $1 = HEAP32[$0 + 10636 >> 2]; + HEAP32[$0 + 10624 >> 2] = 253; + HEAP32[$0 + 10620 >> 2] = 254; + $2 = emscripten__internal__TypeID_b2MotorJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 10632 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15736 >> 2] = HEAP32[$0 + 10624 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10624 >> 2]; + $7 = float_20b2MotorJointDef_____20emscripten__internal__getContext_float_20b2MotorJointDef_____28float_20b2MotorJointDef____20const__29($0 + 10628 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15752 >> 2] = HEAP32[$0 + 10620 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 10620 >> 2], float_20b2MotorJointDef_____20emscripten__internal__getContext_float_20b2MotorJointDef_____28float_20b2MotorJointDef____20const__29($0 + 10628 | 0) | 0); + HEAP32[$0 + 10616 >> 2] = $1; + HEAP32[$0 + 10612 >> 2] = 3724; + HEAP32[$0 + 10608 >> 2] = 40; + HEAP32[$0 + 10604 >> 2] = 253; + HEAP32[$0 + 10600 >> 2] = 254; + $1 = emscripten__internal__TypeID_b2MotorJointDef_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 10612 >> 2]; + $3 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15740 >> 2] = HEAP32[$0 + 10604 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 10604 >> 2]; + $6 = float_20b2MotorJointDef_____20emscripten__internal__getContext_float_20b2MotorJointDef_____28float_20b2MotorJointDef____20const__29($0 + 10608 | 0); + $7 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15756 >> 2] = HEAP32[$0 + 10600 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 10600 >> 2], float_20b2MotorJointDef_____20emscripten__internal__getContext_float_20b2MotorJointDef_____28float_20b2MotorJointDef____20const__29($0 + 10608 | 0) | 0); + HEAP32[$0 + 10700 >> 2] = $0 + 2730; + HEAP32[$0 + 10696 >> 2] = 2538; + void_20emscripten__base_b2Joint___verify_b2MotorJoint__28_29(); + HEAP32[$0 + 10692 >> 2] = 255; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2MotorJoint__28_29_29_28b2MotorJoint__29(), + HEAP32[wasm2js_i32$0 + 10688 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2MotorJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2MotorJoint__28_29_29_28b2Joint__29(), + HEAP32[wasm2js_i32$0 + 10684 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 10680 >> 2] = 256; + $1 = emscripten__internal__TypeID_b2MotorJoint_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MotorJoint_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2Joint___get_28_29(); + HEAP32[$0 + 15760 >> 2] = HEAP32[$0 + 10692 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 10692 >> 2]; + HEAP32[$0 + 15764 >> 2] = HEAP32[$0 + 10688 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 10688 >> 2]; + HEAP32[$0 + 15768 >> 2] = HEAP32[$0 + 10684 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 10684 >> 2]; + $11 = HEAP32[$0 + 10696 >> 2]; + HEAP32[$0 + 15772 >> 2] = HEAP32[$0 + 10680 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 10680 >> 2]); + HEAP32[$0 + 2724 >> 2] = 0; + HEAP32[$0 + 2720 >> 2] = 257; + $1 = HEAP32[$0 + 2724 >> 2]; + $2 = HEAP32[$0 + 2720 >> 2]; + HEAP32[$0 + 10704 >> 2] = $2; + HEAP32[$0 + 10708 >> 2] = $1; + $1 = HEAP32[$0 + 10704 >> 2]; + $2 = HEAP32[$0 + 10708 >> 2]; + HEAP32[$0 + 10732 >> 2] = $0 + 2730; + HEAP32[$0 + 10728 >> 2] = 2934; + HEAP32[$0 + 10724 >> 2] = $2; + HEAP32[$0 + 10720 >> 2] = $1; + $3 = HEAP32[$0 + 10732 >> 2]; + $4 = HEAP32[$0 + 10728 >> 2]; + $1 = HEAP32[$0 + 10720 >> 2]; + HEAP32[$0 + 10716 >> 2] = HEAP32[$0 + 10724 >> 2]; + HEAP32[$0 + 10712 >> 2] = $1; + $2 = HEAP32[$0 + 10716 >> 2]; + $1 = HEAP32[$0 + 10712 >> 2]; + HEAP32[$0 + 704 >> 2] = $1; + HEAP32[$0 + 708 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2MotorJoint____29_28b2Vec2_20const__29___invoke_b2MotorJoint__28char_20const__2c_20void_20_28b2MotorJoint____29_28b2Vec2_20const__29_29($4, $0 + 704 | 0); + HEAP32[$0 + 2716 >> 2] = 0; + HEAP32[$0 + 2712 >> 2] = 258; + $1 = HEAP32[$0 + 2716 >> 2]; + $2 = HEAP32[$0 + 2712 >> 2]; + HEAP32[$0 + 10736 >> 2] = $2; + HEAP32[$0 + 10740 >> 2] = $1; + $1 = HEAP32[$0 + 10736 >> 2]; + $2 = HEAP32[$0 + 10740 >> 2]; + HEAP32[$0 + 10764 >> 2] = $3; + HEAP32[$0 + 10760 >> 2] = 2950; + HEAP32[$0 + 10756 >> 2] = $2; + HEAP32[$0 + 10752 >> 2] = $1; + $3 = HEAP32[$0 + 10764 >> 2]; + $4 = HEAP32[$0 + 10760 >> 2]; + $1 = HEAP32[$0 + 10752 >> 2]; + HEAP32[$0 + 10748 >> 2] = HEAP32[$0 + 10756 >> 2]; + HEAP32[$0 + 10744 >> 2] = $1; + $2 = HEAP32[$0 + 10748 >> 2]; + $1 = HEAP32[$0 + 10744 >> 2]; + HEAP32[$0 + 696 >> 2] = $1; + HEAP32[$0 + 700 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2MotorJoint____29_28_29_20const___invoke_b2MotorJoint__28char_20const__2c_20b2Vec2_20const__20_28b2MotorJoint____29_28_29_20const_29($4, $0 + 696 | 0); + HEAP32[$0 + 2708 >> 2] = 0; + HEAP32[$0 + 2704 >> 2] = 259; + $1 = HEAP32[$0 + 2708 >> 2]; + $2 = HEAP32[$0 + 2704 >> 2]; + HEAP32[$0 + 10864 >> 2] = $2; + HEAP32[$0 + 10868 >> 2] = $1; + $1 = HEAP32[$0 + 10864 >> 2]; + $2 = HEAP32[$0 + 10868 >> 2]; + HEAP32[$0 + 10892 >> 2] = $3; + HEAP32[$0 + 10888 >> 2] = 2887; + HEAP32[$0 + 10884 >> 2] = $2; + HEAP32[$0 + 10880 >> 2] = $1; + $3 = HEAP32[$0 + 10892 >> 2]; + $4 = HEAP32[$0 + 10888 >> 2]; + $1 = HEAP32[$0 + 10880 >> 2]; + HEAP32[$0 + 10876 >> 2] = HEAP32[$0 + 10884 >> 2]; + HEAP32[$0 + 10872 >> 2] = $1; + $2 = HEAP32[$0 + 10876 >> 2]; + $1 = HEAP32[$0 + 10872 >> 2]; + HEAP32[$0 + 688 >> 2] = $1; + HEAP32[$0 + 692 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2MotorJoint____29_28float_29___invoke_b2MotorJoint__28char_20const__2c_20void_20_28b2MotorJoint____29_28float_29_29($4, $0 + 688 | 0); + HEAP32[$0 + 2700 >> 2] = 0; + HEAP32[$0 + 2696 >> 2] = 260; + $1 = HEAP32[$0 + 2700 >> 2]; + $2 = HEAP32[$0 + 2696 >> 2]; + HEAP32[$0 + 10992 >> 2] = $2; + HEAP32[$0 + 10996 >> 2] = $1; + $1 = HEAP32[$0 + 10992 >> 2]; + $2 = HEAP32[$0 + 10996 >> 2]; + HEAP32[$0 + 11020 >> 2] = $3; + HEAP32[$0 + 11016 >> 2] = 2904; + HEAP32[$0 + 11012 >> 2] = $2; + HEAP32[$0 + 11008 >> 2] = $1; + $3 = HEAP32[$0 + 11020 >> 2]; + $4 = HEAP32[$0 + 11016 >> 2]; + $1 = HEAP32[$0 + 11008 >> 2]; + HEAP32[$0 + 11004 >> 2] = HEAP32[$0 + 11012 >> 2]; + HEAP32[$0 + 11e3 >> 2] = $1; + $2 = HEAP32[$0 + 11004 >> 2]; + $1 = HEAP32[$0 + 11e3 >> 2]; + HEAP32[$0 + 680 >> 2] = $1; + HEAP32[$0 + 684 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2MotorJoint____29_28_29_20const___invoke_b2MotorJoint__28char_20const__2c_20float_20_28b2MotorJoint____29_28_29_20const_29($4, $0 + 680 | 0); + HEAP32[$0 + 2692 >> 2] = 0; + HEAP32[$0 + 2688 >> 2] = 261; + $1 = HEAP32[$0 + 2692 >> 2]; + $2 = HEAP32[$0 + 2688 >> 2]; + HEAP32[$0 + 10832 >> 2] = $2; + HEAP32[$0 + 10836 >> 2] = $1; + $1 = HEAP32[$0 + 10832 >> 2]; + $2 = HEAP32[$0 + 10836 >> 2]; + HEAP32[$0 + 10860 >> 2] = $3; + HEAP32[$0 + 10856 >> 2] = 9872; + HEAP32[$0 + 10852 >> 2] = $2; + HEAP32[$0 + 10848 >> 2] = $1; + $3 = HEAP32[$0 + 10860 >> 2]; + $4 = HEAP32[$0 + 10856 >> 2]; + $1 = HEAP32[$0 + 10848 >> 2]; + HEAP32[$0 + 10844 >> 2] = HEAP32[$0 + 10852 >> 2]; + HEAP32[$0 + 10840 >> 2] = $1; + $2 = HEAP32[$0 + 10844 >> 2]; + $1 = HEAP32[$0 + 10840 >> 2]; + HEAP32[$0 + 672 >> 2] = $1; + HEAP32[$0 + 676 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2MotorJoint____29_28float_29___invoke_b2MotorJoint__28char_20const__2c_20void_20_28b2MotorJoint____29_28float_29_29($4, $0 + 672 | 0); + HEAP32[$0 + 2684 >> 2] = 0; + HEAP32[$0 + 2680 >> 2] = 262; + $1 = HEAP32[$0 + 2684 >> 2]; + $2 = HEAP32[$0 + 2680 >> 2]; + HEAP32[$0 + 10960 >> 2] = $2; + HEAP32[$0 + 10964 >> 2] = $1; + $1 = HEAP32[$0 + 10960 >> 2]; + $2 = HEAP32[$0 + 10964 >> 2]; + HEAP32[$0 + 10988 >> 2] = $3; + HEAP32[$0 + 10984 >> 2] = 9884; + HEAP32[$0 + 10980 >> 2] = $2; + HEAP32[$0 + 10976 >> 2] = $1; + $3 = HEAP32[$0 + 10988 >> 2]; + $4 = HEAP32[$0 + 10984 >> 2]; + $1 = HEAP32[$0 + 10976 >> 2]; + HEAP32[$0 + 10972 >> 2] = HEAP32[$0 + 10980 >> 2]; + HEAP32[$0 + 10968 >> 2] = $1; + $2 = HEAP32[$0 + 10972 >> 2]; + $1 = HEAP32[$0 + 10968 >> 2]; + HEAP32[$0 + 664 >> 2] = $1; + HEAP32[$0 + 668 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2MotorJoint____29_28_29_20const___invoke_b2MotorJoint__28char_20const__2c_20float_20_28b2MotorJoint____29_28_29_20const_29($4, $0 + 664 | 0); + HEAP32[$0 + 2676 >> 2] = 0; + HEAP32[$0 + 2672 >> 2] = 263; + $1 = HEAP32[$0 + 2676 >> 2]; + $2 = HEAP32[$0 + 2672 >> 2]; + HEAP32[$0 + 10800 >> 2] = $2; + HEAP32[$0 + 10804 >> 2] = $1; + $1 = HEAP32[$0 + 10800 >> 2]; + $2 = HEAP32[$0 + 10804 >> 2]; + HEAP32[$0 + 10828 >> 2] = $3; + HEAP32[$0 + 10824 >> 2] = 8765; + HEAP32[$0 + 10820 >> 2] = $2; + HEAP32[$0 + 10816 >> 2] = $1; + $3 = HEAP32[$0 + 10828 >> 2]; + $4 = HEAP32[$0 + 10824 >> 2]; + $1 = HEAP32[$0 + 10816 >> 2]; + HEAP32[$0 + 10812 >> 2] = HEAP32[$0 + 10820 >> 2]; + HEAP32[$0 + 10808 >> 2] = $1; + $2 = HEAP32[$0 + 10812 >> 2]; + $1 = HEAP32[$0 + 10808 >> 2]; + HEAP32[$0 + 656 >> 2] = $1; + HEAP32[$0 + 660 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2MotorJoint____29_28float_29___invoke_b2MotorJoint__28char_20const__2c_20void_20_28b2MotorJoint____29_28float_29_29($4, $0 + 656 | 0); + HEAP32[$0 + 2668 >> 2] = 0; + HEAP32[$0 + 2664 >> 2] = 264; + $1 = HEAP32[$0 + 2668 >> 2]; + $2 = HEAP32[$0 + 2664 >> 2]; + HEAP32[$0 + 10928 >> 2] = $2; + HEAP32[$0 + 10932 >> 2] = $1; + $1 = HEAP32[$0 + 10928 >> 2]; + $2 = HEAP32[$0 + 10932 >> 2]; + HEAP32[$0 + 10956 >> 2] = $3; + HEAP32[$0 + 10952 >> 2] = 8778; + HEAP32[$0 + 10948 >> 2] = $2; + HEAP32[$0 + 10944 >> 2] = $1; + $3 = HEAP32[$0 + 10956 >> 2]; + $4 = HEAP32[$0 + 10952 >> 2]; + $1 = HEAP32[$0 + 10944 >> 2]; + HEAP32[$0 + 10940 >> 2] = HEAP32[$0 + 10948 >> 2]; + HEAP32[$0 + 10936 >> 2] = $1; + $2 = HEAP32[$0 + 10940 >> 2]; + $1 = HEAP32[$0 + 10936 >> 2]; + HEAP32[$0 + 648 >> 2] = $1; + HEAP32[$0 + 652 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2MotorJoint____29_28_29_20const___invoke_b2MotorJoint__28char_20const__2c_20float_20_28b2MotorJoint____29_28_29_20const_29($4, $0 + 648 | 0); + HEAP32[$0 + 2660 >> 2] = 0; + HEAP32[$0 + 2656 >> 2] = 265; + $1 = HEAP32[$0 + 2660 >> 2]; + $2 = HEAP32[$0 + 2656 >> 2]; + HEAP32[$0 + 10768 >> 2] = $2; + HEAP32[$0 + 10772 >> 2] = $1; + $1 = HEAP32[$0 + 10768 >> 2]; + $2 = HEAP32[$0 + 10772 >> 2]; + HEAP32[$0 + 10796 >> 2] = $3; + HEAP32[$0 + 10792 >> 2] = 3741; + HEAP32[$0 + 10788 >> 2] = $2; + HEAP32[$0 + 10784 >> 2] = $1; + $3 = HEAP32[$0 + 10796 >> 2]; + $4 = HEAP32[$0 + 10792 >> 2]; + $1 = HEAP32[$0 + 10784 >> 2]; + HEAP32[$0 + 10780 >> 2] = HEAP32[$0 + 10788 >> 2]; + HEAP32[$0 + 10776 >> 2] = $1; + $2 = HEAP32[$0 + 10780 >> 2]; + $1 = HEAP32[$0 + 10776 >> 2]; + HEAP32[$0 + 640 >> 2] = $1; + HEAP32[$0 + 644 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2MotorJoint____29_28float_29___invoke_b2MotorJoint__28char_20const__2c_20void_20_28b2MotorJoint____29_28float_29_29($4, $0 + 640 | 0); + HEAP32[$0 + 2652 >> 2] = 0; + HEAP32[$0 + 2648 >> 2] = 266; + $1 = HEAP32[$0 + 2652 >> 2]; + $2 = HEAP32[$0 + 2648 >> 2]; + HEAP32[$0 + 10896 >> 2] = $2; + HEAP32[$0 + 10900 >> 2] = $1; + $1 = HEAP32[$0 + 10896 >> 2]; + $2 = HEAP32[$0 + 10900 >> 2]; + HEAP32[$0 + 10924 >> 2] = $3; + HEAP32[$0 + 10920 >> 2] = 3761; + HEAP32[$0 + 10916 >> 2] = $2; + HEAP32[$0 + 10912 >> 2] = $1; + $3 = HEAP32[$0 + 10924 >> 2]; + $4 = HEAP32[$0 + 10920 >> 2]; + $1 = HEAP32[$0 + 10912 >> 2]; + HEAP32[$0 + 10908 >> 2] = HEAP32[$0 + 10916 >> 2]; + HEAP32[$0 + 10904 >> 2] = $1; + $2 = HEAP32[$0 + 10908 >> 2]; + $1 = HEAP32[$0 + 10904 >> 2]; + HEAP32[$0 + 632 >> 2] = $1; + HEAP32[$0 + 636 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2MotorJoint____29_28_29_20const___invoke_b2MotorJoint__28char_20const__2c_20float_20_28b2MotorJoint____29_28_29_20const_29($4, $0 + 632 | 0); + HEAP32[$0 + 2644 >> 2] = 1; + HEAP32[$0 + 2640 >> 2] = 16; + $1 = HEAP32[$0 + 2644 >> 2]; + $2 = HEAP32[$0 + 2640 >> 2]; + HEAP32[$0 + 11024 >> 2] = $2; + HEAP32[$0 + 11028 >> 2] = $1; + $1 = HEAP32[$0 + 11024 >> 2]; + $2 = HEAP32[$0 + 11028 >> 2]; + HEAP32[$0 + 11056 >> 2] = $3; + HEAP32[$0 + 11052 >> 2] = 6232; + HEAP32[$0 + 11048 >> 2] = $2; + HEAP32[$0 + 11044 >> 2] = $1; + $3 = HEAP32[$0 + 11052 >> 2]; + $1 = HEAP32[$0 + 11044 >> 2]; + HEAP32[$0 + 11040 >> 2] = HEAP32[$0 + 11048 >> 2]; + HEAP32[$0 + 11036 >> 2] = $1; + $2 = HEAP32[$0 + 11040 >> 2]; + $1 = HEAP32[$0 + 11036 >> 2]; + HEAP32[$0 + 624 >> 2] = $1; + HEAP32[$0 + 628 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2MotorJoint____29_28_29___invoke_b2MotorJoint__28char_20const__2c_20void_20_28b2MotorJoint____29_28_29_29($3, $0 + 624 | 0); + HEAP32[$0 + 11080 >> 2] = $0 + 2639; + HEAP32[$0 + 11076 >> 2] = 7932; + void_20emscripten__base_b2JointDef___verify_b2MouseJointDef__28_29(); + HEAP32[$0 + 11072 >> 2] = 267; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2MouseJointDef__28_29_29_28b2MouseJointDef__29(), + HEAP32[wasm2js_i32$0 + 11068 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2MouseJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2MouseJointDef__28_29_29_28b2JointDef__29(), + HEAP32[wasm2js_i32$0 + 11064 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 11060 >> 2] = 268; + $1 = emscripten__internal__TypeID_b2MouseJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MouseJointDef__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MouseJointDef_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2JointDef___get_28_29(); + HEAP32[$0 + 15776 >> 2] = HEAP32[$0 + 11072 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11072 >> 2]; + HEAP32[$0 + 15780 >> 2] = HEAP32[$0 + 11068 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 11068 >> 2]; + HEAP32[$0 + 15784 >> 2] = HEAP32[$0 + 11064 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 11064 >> 2]; + $11 = HEAP32[$0 + 11076 >> 2]; + HEAP32[$0 + 15788 >> 2] = HEAP32[$0 + 11060 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 11060 >> 2]); + HEAP32[$0 + 11084 >> 2] = $0 + 2639; + HEAP32[$0 + 15796 >> 2] = HEAP32[$0 + 11084 >> 2]; + HEAP32[$0 + 15792 >> 2] = 269; + $1 = HEAP32[$0 + 15796 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2MouseJointDef__20_28__29_28_29___invoke_b2MouseJointDef__28b2MouseJointDef__20_28__29_28_29_29(HEAP32[$0 + 15792 >> 2]); + HEAP32[$0 + 11104 >> 2] = $1; + HEAP32[$0 + 11100 >> 2] = 2992; + HEAP32[$0 + 11096 >> 2] = 20; + $1 = HEAP32[$0 + 11104 >> 2]; + HEAP32[$0 + 11092 >> 2] = 270; + HEAP32[$0 + 11088 >> 2] = 271; + $2 = emscripten__internal__TypeID_b2MouseJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11100 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15800 >> 2] = HEAP32[$0 + 11092 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11092 >> 2]; + $7 = b2Vec2_20b2MouseJointDef_____20emscripten__internal__getContext_b2Vec2_20b2MouseJointDef_____28b2Vec2_20b2MouseJointDef____20const__29($0 + 11096 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15804 >> 2] = HEAP32[$0 + 11088 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 11088 >> 2], b2Vec2_20b2MouseJointDef_____20emscripten__internal__getContext_b2Vec2_20b2MouseJointDef_____28b2Vec2_20b2MouseJointDef____20const__29($0 + 11096 | 0) | 0); + HEAP32[$0 + 11164 >> 2] = $1; + HEAP32[$0 + 11160 >> 2] = 9863; + HEAP32[$0 + 11156 >> 2] = 28; + $1 = HEAP32[$0 + 11164 >> 2]; + HEAP32[$0 + 11152 >> 2] = 272; + HEAP32[$0 + 11148 >> 2] = 273; + $2 = emscripten__internal__TypeID_b2MouseJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11160 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15808 >> 2] = HEAP32[$0 + 11152 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11152 >> 2]; + $7 = float_20b2MouseJointDef_____20emscripten__internal__getContext_float_20b2MouseJointDef_____28float_20b2MouseJointDef____20const__29($0 + 11156 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15820 >> 2] = HEAP32[$0 + 11148 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 11148 >> 2], float_20b2MouseJointDef_____20emscripten__internal__getContext_float_20b2MouseJointDef_____28float_20b2MouseJointDef____20const__29($0 + 11156 | 0) | 0); + HEAP32[$0 + 11144 >> 2] = $1; + HEAP32[$0 + 11140 >> 2] = 1024; + HEAP32[$0 + 11136 >> 2] = 32; + $1 = HEAP32[$0 + 11144 >> 2]; + HEAP32[$0 + 11132 >> 2] = 272; + HEAP32[$0 + 11128 >> 2] = 273; + $2 = emscripten__internal__TypeID_b2MouseJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11140 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15812 >> 2] = HEAP32[$0 + 11132 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11132 >> 2]; + $7 = float_20b2MouseJointDef_____20emscripten__internal__getContext_float_20b2MouseJointDef_____28float_20b2MouseJointDef____20const__29($0 + 11136 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15824 >> 2] = HEAP32[$0 + 11128 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 11128 >> 2], float_20b2MouseJointDef_____20emscripten__internal__getContext_float_20b2MouseJointDef_____28float_20b2MouseJointDef____20const__29($0 + 11136 | 0) | 0); + HEAP32[$0 + 11124 >> 2] = $1; + HEAP32[$0 + 11120 >> 2] = 6278; + HEAP32[$0 + 11116 >> 2] = 36; + HEAP32[$0 + 11112 >> 2] = 272; + HEAP32[$0 + 11108 >> 2] = 273; + $1 = emscripten__internal__TypeID_b2MouseJointDef_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 11120 >> 2]; + $3 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15816 >> 2] = HEAP32[$0 + 11112 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 11112 >> 2]; + $6 = float_20b2MouseJointDef_____20emscripten__internal__getContext_float_20b2MouseJointDef_____28float_20b2MouseJointDef____20const__29($0 + 11116 | 0); + $7 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15828 >> 2] = HEAP32[$0 + 11108 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 11108 >> 2], float_20b2MouseJointDef_____20emscripten__internal__getContext_float_20b2MouseJointDef_____28float_20b2MouseJointDef____20const__29($0 + 11116 | 0) | 0); + HEAP32[$0 + 11188 >> 2] = $0 + 2638; + HEAP32[$0 + 11184 >> 2] = 2600; + void_20emscripten__base_b2Joint___verify_b2MouseJoint__28_29(); + HEAP32[$0 + 11180 >> 2] = 274; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2MouseJoint__28_29_29_28b2MouseJoint__29(), + HEAP32[wasm2js_i32$0 + 11176 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2MouseJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2MouseJoint__28_29_29_28b2Joint__29(), + HEAP32[wasm2js_i32$0 + 11172 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 11168 >> 2] = 275; + $1 = emscripten__internal__TypeID_b2MouseJoint_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MouseJoint_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2Joint___get_28_29(); + HEAP32[$0 + 15832 >> 2] = HEAP32[$0 + 11180 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11180 >> 2]; + HEAP32[$0 + 15836 >> 2] = HEAP32[$0 + 11176 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 11176 >> 2]; + HEAP32[$0 + 15840 >> 2] = HEAP32[$0 + 11172 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 11172 >> 2]; + $11 = HEAP32[$0 + 11184 >> 2]; + HEAP32[$0 + 15844 >> 2] = HEAP32[$0 + 11168 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 11168 >> 2]); + HEAP32[$0 + 2632 >> 2] = 0; + HEAP32[$0 + 2628 >> 2] = 276; + $1 = HEAP32[$0 + 2632 >> 2]; + $2 = HEAP32[$0 + 2628 >> 2]; + HEAP32[$0 + 11192 >> 2] = $2; + HEAP32[$0 + 11196 >> 2] = $1; + $1 = HEAP32[$0 + 11192 >> 2]; + $2 = HEAP32[$0 + 11196 >> 2]; + HEAP32[$0 + 11220 >> 2] = $0 + 2638; + HEAP32[$0 + 11216 >> 2] = 2999; + HEAP32[$0 + 11212 >> 2] = $2; + HEAP32[$0 + 11208 >> 2] = $1; + $3 = HEAP32[$0 + 11220 >> 2]; + $4 = HEAP32[$0 + 11216 >> 2]; + $1 = HEAP32[$0 + 11208 >> 2]; + HEAP32[$0 + 11204 >> 2] = HEAP32[$0 + 11212 >> 2]; + HEAP32[$0 + 11200 >> 2] = $1; + $2 = HEAP32[$0 + 11204 >> 2]; + $1 = HEAP32[$0 + 11200 >> 2]; + HEAP32[$0 + 616 >> 2] = $1; + HEAP32[$0 + 620 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2MouseJoint____29_28b2Vec2_20const__29___invoke_b2MouseJoint__28char_20const__2c_20void_20_28b2MouseJoint____29_28b2Vec2_20const__29_29($4, $0 + 616 | 0); + HEAP32[$0 + 2624 >> 2] = 0; + HEAP32[$0 + 2620 >> 2] = 277; + $1 = HEAP32[$0 + 2624 >> 2]; + $2 = HEAP32[$0 + 2620 >> 2]; + HEAP32[$0 + 11224 >> 2] = $2; + HEAP32[$0 + 11228 >> 2] = $1; + $1 = HEAP32[$0 + 11224 >> 2]; + $2 = HEAP32[$0 + 11228 >> 2]; + HEAP32[$0 + 11252 >> 2] = $3; + HEAP32[$0 + 11248 >> 2] = 3009; + HEAP32[$0 + 11244 >> 2] = $2; + HEAP32[$0 + 11240 >> 2] = $1; + $3 = HEAP32[$0 + 11252 >> 2]; + $4 = HEAP32[$0 + 11248 >> 2]; + $1 = HEAP32[$0 + 11240 >> 2]; + HEAP32[$0 + 11236 >> 2] = HEAP32[$0 + 11244 >> 2]; + HEAP32[$0 + 11232 >> 2] = $1; + $2 = HEAP32[$0 + 11236 >> 2]; + $1 = HEAP32[$0 + 11232 >> 2]; + HEAP32[$0 + 608 >> 2] = $1; + HEAP32[$0 + 612 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2MouseJoint____29_28_29_20const___invoke_b2MouseJoint__28char_20const__2c_20b2Vec2_20const__20_28b2MouseJoint____29_28_29_20const_29($4, $0 + 608 | 0); + HEAP32[$0 + 2616 >> 2] = 0; + HEAP32[$0 + 2612 >> 2] = 278; + $1 = HEAP32[$0 + 2616 >> 2]; + $2 = HEAP32[$0 + 2612 >> 2]; + HEAP32[$0 + 11320 >> 2] = $2; + HEAP32[$0 + 11324 >> 2] = $1; + $1 = HEAP32[$0 + 11320 >> 2]; + $2 = HEAP32[$0 + 11324 >> 2]; + HEAP32[$0 + 11348 >> 2] = $3; + HEAP32[$0 + 11344 >> 2] = 9872; + HEAP32[$0 + 11340 >> 2] = $2; + HEAP32[$0 + 11336 >> 2] = $1; + $3 = HEAP32[$0 + 11348 >> 2]; + $4 = HEAP32[$0 + 11344 >> 2]; + $1 = HEAP32[$0 + 11336 >> 2]; + HEAP32[$0 + 11332 >> 2] = HEAP32[$0 + 11340 >> 2]; + HEAP32[$0 + 11328 >> 2] = $1; + $2 = HEAP32[$0 + 11332 >> 2]; + $1 = HEAP32[$0 + 11328 >> 2]; + HEAP32[$0 + 600 >> 2] = $1; + HEAP32[$0 + 604 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2MouseJoint____29_28float_29___invoke_b2MouseJoint__28char_20const__2c_20void_20_28b2MouseJoint____29_28float_29_29($4, $0 + 600 | 0); + HEAP32[$0 + 2608 >> 2] = 0; + HEAP32[$0 + 2604 >> 2] = 279; + $1 = HEAP32[$0 + 2608 >> 2]; + $2 = HEAP32[$0 + 2604 >> 2]; + HEAP32[$0 + 11416 >> 2] = $2; + HEAP32[$0 + 11420 >> 2] = $1; + $1 = HEAP32[$0 + 11416 >> 2]; + $2 = HEAP32[$0 + 11420 >> 2]; + HEAP32[$0 + 11444 >> 2] = $3; + HEAP32[$0 + 11440 >> 2] = 9884; + HEAP32[$0 + 11436 >> 2] = $2; + HEAP32[$0 + 11432 >> 2] = $1; + $3 = HEAP32[$0 + 11444 >> 2]; + $4 = HEAP32[$0 + 11440 >> 2]; + $1 = HEAP32[$0 + 11432 >> 2]; + HEAP32[$0 + 11428 >> 2] = HEAP32[$0 + 11436 >> 2]; + HEAP32[$0 + 11424 >> 2] = $1; + $2 = HEAP32[$0 + 11428 >> 2]; + $1 = HEAP32[$0 + 11424 >> 2]; + HEAP32[$0 + 592 >> 2] = $1; + HEAP32[$0 + 596 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2MouseJoint____29_28_29_20const___invoke_b2MouseJoint__28char_20const__2c_20float_20_28b2MouseJoint____29_28_29_20const_29($4, $0 + 592 | 0); + HEAP32[$0 + 2600 >> 2] = 0; + HEAP32[$0 + 2596 >> 2] = 280; + $1 = HEAP32[$0 + 2600 >> 2]; + $2 = HEAP32[$0 + 2596 >> 2]; + HEAP32[$0 + 11288 >> 2] = $2; + HEAP32[$0 + 11292 >> 2] = $1; + $1 = HEAP32[$0 + 11288 >> 2]; + $2 = HEAP32[$0 + 11292 >> 2]; + HEAP32[$0 + 11316 >> 2] = $3; + HEAP32[$0 + 11312 >> 2] = 1709; + HEAP32[$0 + 11308 >> 2] = $2; + HEAP32[$0 + 11304 >> 2] = $1; + $3 = HEAP32[$0 + 11316 >> 2]; + $4 = HEAP32[$0 + 11312 >> 2]; + $1 = HEAP32[$0 + 11304 >> 2]; + HEAP32[$0 + 11300 >> 2] = HEAP32[$0 + 11308 >> 2]; + HEAP32[$0 + 11296 >> 2] = $1; + $2 = HEAP32[$0 + 11300 >> 2]; + $1 = HEAP32[$0 + 11296 >> 2]; + HEAP32[$0 + 584 >> 2] = $1; + HEAP32[$0 + 588 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2MouseJoint____29_28float_29___invoke_b2MouseJoint__28char_20const__2c_20void_20_28b2MouseJoint____29_28float_29_29($4, $0 + 584 | 0); + HEAP32[$0 + 2592 >> 2] = 0; + HEAP32[$0 + 2588 >> 2] = 281; + $1 = HEAP32[$0 + 2592 >> 2]; + $2 = HEAP32[$0 + 2588 >> 2]; + HEAP32[$0 + 11384 >> 2] = $2; + HEAP32[$0 + 11388 >> 2] = $1; + $1 = HEAP32[$0 + 11384 >> 2]; + $2 = HEAP32[$0 + 11388 >> 2]; + HEAP32[$0 + 11412 >> 2] = $3; + HEAP32[$0 + 11408 >> 2] = 1722; + HEAP32[$0 + 11404 >> 2] = $2; + HEAP32[$0 + 11400 >> 2] = $1; + $3 = HEAP32[$0 + 11412 >> 2]; + $4 = HEAP32[$0 + 11408 >> 2]; + $1 = HEAP32[$0 + 11400 >> 2]; + HEAP32[$0 + 11396 >> 2] = HEAP32[$0 + 11404 >> 2]; + HEAP32[$0 + 11392 >> 2] = $1; + $2 = HEAP32[$0 + 11396 >> 2]; + $1 = HEAP32[$0 + 11392 >> 2]; + HEAP32[$0 + 576 >> 2] = $1; + HEAP32[$0 + 580 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2MouseJoint____29_28_29_20const___invoke_b2MouseJoint__28char_20const__2c_20float_20_28b2MouseJoint____29_28_29_20const_29($4, $0 + 576 | 0); + HEAP32[$0 + 2584 >> 2] = 0; + HEAP32[$0 + 2580 >> 2] = 282; + $1 = HEAP32[$0 + 2584 >> 2]; + $2 = HEAP32[$0 + 2580 >> 2]; + HEAP32[$0 + 11256 >> 2] = $2; + HEAP32[$0 + 11260 >> 2] = $1; + $1 = HEAP32[$0 + 11256 >> 2]; + $2 = HEAP32[$0 + 11260 >> 2]; + HEAP32[$0 + 11284 >> 2] = $3; + HEAP32[$0 + 11280 >> 2] = 6291; + HEAP32[$0 + 11276 >> 2] = $2; + HEAP32[$0 + 11272 >> 2] = $1; + $3 = HEAP32[$0 + 11284 >> 2]; + $4 = HEAP32[$0 + 11280 >> 2]; + $1 = HEAP32[$0 + 11272 >> 2]; + HEAP32[$0 + 11268 >> 2] = HEAP32[$0 + 11276 >> 2]; + HEAP32[$0 + 11264 >> 2] = $1; + $2 = HEAP32[$0 + 11268 >> 2]; + $1 = HEAP32[$0 + 11264 >> 2]; + HEAP32[$0 + 568 >> 2] = $1; + HEAP32[$0 + 572 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2MouseJoint____29_28float_29___invoke_b2MouseJoint__28char_20const__2c_20void_20_28b2MouseJoint____29_28float_29_29($4, $0 + 568 | 0); + HEAP32[$0 + 2576 >> 2] = 0; + HEAP32[$0 + 2572 >> 2] = 283; + $1 = HEAP32[$0 + 2576 >> 2]; + $2 = HEAP32[$0 + 2572 >> 2]; + HEAP32[$0 + 11352 >> 2] = $2; + HEAP32[$0 + 11356 >> 2] = $1; + $1 = HEAP32[$0 + 11352 >> 2]; + $2 = HEAP32[$0 + 11356 >> 2]; + HEAP32[$0 + 11380 >> 2] = $3; + HEAP32[$0 + 11376 >> 2] = 6307; + HEAP32[$0 + 11372 >> 2] = $2; + HEAP32[$0 + 11368 >> 2] = $1; + $3 = HEAP32[$0 + 11380 >> 2]; + $4 = HEAP32[$0 + 11376 >> 2]; + $1 = HEAP32[$0 + 11368 >> 2]; + HEAP32[$0 + 11364 >> 2] = HEAP32[$0 + 11372 >> 2]; + HEAP32[$0 + 11360 >> 2] = $1; + $2 = HEAP32[$0 + 11364 >> 2]; + $1 = HEAP32[$0 + 11360 >> 2]; + HEAP32[$0 + 560 >> 2] = $1; + HEAP32[$0 + 564 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2MouseJoint____29_28_29_20const___invoke_b2MouseJoint__28char_20const__2c_20float_20_28b2MouseJoint____29_28_29_20const_29($4, $0 + 560 | 0); + HEAP32[$0 + 2568 >> 2] = 1; + HEAP32[$0 + 2564 >> 2] = 16; + $1 = HEAP32[$0 + 2568 >> 2]; + $2 = HEAP32[$0 + 2564 >> 2]; + HEAP32[$0 + 11448 >> 2] = $2; + HEAP32[$0 + 11452 >> 2] = $1; + $1 = HEAP32[$0 + 11448 >> 2]; + $2 = HEAP32[$0 + 11452 >> 2]; + HEAP32[$0 + 11480 >> 2] = $3; + HEAP32[$0 + 11476 >> 2] = 6232; + HEAP32[$0 + 11472 >> 2] = $2; + HEAP32[$0 + 11468 >> 2] = $1; + $3 = HEAP32[$0 + 11476 >> 2]; + $1 = HEAP32[$0 + 11468 >> 2]; + HEAP32[$0 + 11464 >> 2] = HEAP32[$0 + 11472 >> 2]; + HEAP32[$0 + 11460 >> 2] = $1; + $2 = HEAP32[$0 + 11464 >> 2]; + $1 = HEAP32[$0 + 11460 >> 2]; + HEAP32[$0 + 552 >> 2] = $1; + HEAP32[$0 + 556 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2MouseJoint____29_28_29___invoke_b2MouseJoint__28char_20const__2c_20void_20_28b2MouseJoint____29_28_29_29($3, $0 + 552 | 0); + HEAP32[$0 + 11504 >> 2] = $0 + 2563; + HEAP32[$0 + 11500 >> 2] = 7989; + void_20emscripten__base_b2JointDef___verify_b2PrismaticJointDef__28_29(); + HEAP32[$0 + 11496 >> 2] = 284; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2PrismaticJointDef__28_29_29_28b2PrismaticJointDef__29(), + HEAP32[wasm2js_i32$0 + 11492 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2PrismaticJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2PrismaticJointDef__28_29_29_28b2JointDef__29(), + HEAP32[wasm2js_i32$0 + 11488 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 11484 >> 2] = 285; + $1 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PrismaticJointDef__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PrismaticJointDef_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2JointDef___get_28_29(); + HEAP32[$0 + 15848 >> 2] = HEAP32[$0 + 11496 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11496 >> 2]; + HEAP32[$0 + 15852 >> 2] = HEAP32[$0 + 11492 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 11492 >> 2]; + HEAP32[$0 + 15856 >> 2] = HEAP32[$0 + 11488 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 11488 >> 2]; + $11 = HEAP32[$0 + 11500 >> 2]; + HEAP32[$0 + 15860 >> 2] = HEAP32[$0 + 11484 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 11484 >> 2]); + HEAP32[$0 + 11508 >> 2] = $0 + 2563; + HEAP32[$0 + 15868 >> 2] = HEAP32[$0 + 11508 >> 2]; + HEAP32[$0 + 15864 >> 2] = 286; + $1 = HEAP32[$0 + 15868 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2PrismaticJointDef__20_28__29_28_29___invoke_b2PrismaticJointDef__28b2PrismaticJointDef__20_28__29_28_29_29(HEAP32[$0 + 15864 >> 2]); + HEAP32[$0 + 11568 >> 2] = $1; + HEAP32[$0 + 11564 >> 2] = 11158; + HEAP32[$0 + 11560 >> 2] = 20; + $1 = HEAP32[$0 + 11568 >> 2]; + HEAP32[$0 + 11556 >> 2] = 287; + HEAP32[$0 + 11552 >> 2] = 288; + $2 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11564 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15872 >> 2] = HEAP32[$0 + 11556 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11556 >> 2]; + $7 = b2Vec2_20b2PrismaticJointDef_____20emscripten__internal__getContext_b2Vec2_20b2PrismaticJointDef_____28b2Vec2_20b2PrismaticJointDef____20const__29($0 + 11560 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15884 >> 2] = HEAP32[$0 + 11552 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 11552 >> 2], b2Vec2_20b2PrismaticJointDef_____20emscripten__internal__getContext_b2Vec2_20b2PrismaticJointDef_____28b2Vec2_20b2PrismaticJointDef____20const__29($0 + 11560 | 0) | 0); + HEAP32[$0 + 11548 >> 2] = $1; + HEAP32[$0 + 11544 >> 2] = 11015; + HEAP32[$0 + 11540 >> 2] = 28; + $1 = HEAP32[$0 + 11548 >> 2]; + HEAP32[$0 + 11536 >> 2] = 287; + HEAP32[$0 + 11532 >> 2] = 288; + $2 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11544 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15876 >> 2] = HEAP32[$0 + 11536 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11536 >> 2]; + $7 = b2Vec2_20b2PrismaticJointDef_____20emscripten__internal__getContext_b2Vec2_20b2PrismaticJointDef_____28b2Vec2_20b2PrismaticJointDef____20const__29($0 + 11540 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15888 >> 2] = HEAP32[$0 + 11532 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 11532 >> 2], b2Vec2_20b2PrismaticJointDef_____20emscripten__internal__getContext_b2Vec2_20b2PrismaticJointDef_____28b2Vec2_20b2PrismaticJointDef____20const__29($0 + 11540 | 0) | 0); + HEAP32[$0 + 11528 >> 2] = $1; + HEAP32[$0 + 11524 >> 2] = 11122; + HEAP32[$0 + 11520 >> 2] = 36; + $1 = HEAP32[$0 + 11528 >> 2]; + HEAP32[$0 + 11516 >> 2] = 287; + HEAP32[$0 + 11512 >> 2] = 288; + $2 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11524 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15880 >> 2] = HEAP32[$0 + 11516 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11516 >> 2]; + $7 = b2Vec2_20b2PrismaticJointDef_____20emscripten__internal__getContext_b2Vec2_20b2PrismaticJointDef_____28b2Vec2_20b2PrismaticJointDef____20const__29($0 + 11520 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15892 >> 2] = HEAP32[$0 + 11512 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 11512 >> 2], b2Vec2_20b2PrismaticJointDef_____20emscripten__internal__getContext_b2Vec2_20b2PrismaticJointDef_____28b2Vec2_20b2PrismaticJointDef____20const__29($0 + 11520 | 0) | 0); + HEAP32[$0 + 11668 >> 2] = $1; + HEAP32[$0 + 11664 >> 2] = 9471; + HEAP32[$0 + 11660 >> 2] = 44; + $1 = HEAP32[$0 + 11668 >> 2]; + HEAP32[$0 + 11656 >> 2] = 289; + HEAP32[$0 + 11652 >> 2] = 290; + $2 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11664 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15896 >> 2] = HEAP32[$0 + 11656 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11656 >> 2]; + $7 = float_20b2PrismaticJointDef_____20emscripten__internal__getContext_float_20b2PrismaticJointDef_____28float_20b2PrismaticJointDef____20const__29($0 + 11660 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15916 >> 2] = HEAP32[$0 + 11652 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 11652 >> 2], float_20b2PrismaticJointDef_____20emscripten__internal__getContext_float_20b2PrismaticJointDef_____28float_20b2PrismaticJointDef____20const__29($0 + 11660 | 0) | 0); + HEAP32[$0 + 11708 >> 2] = $1; + HEAP32[$0 + 11704 >> 2] = 2849; + HEAP32[$0 + 11700 >> 2] = 48; + $1 = HEAP32[$0 + 11708 >> 2]; + HEAP32[$0 + 11696 >> 2] = 291; + HEAP32[$0 + 11692 >> 2] = 292; + $2 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11704 >> 2]; + $4 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15936 >> 2] = HEAP32[$0 + 11696 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11696 >> 2]; + $7 = bool_20b2PrismaticJointDef_____20emscripten__internal__getContext_bool_20b2PrismaticJointDef_____28bool_20b2PrismaticJointDef____20const__29($0 + 11700 | 0); + $8 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15944 >> 2] = HEAP32[$0 + 11692 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 11692 >> 2], bool_20b2PrismaticJointDef_____20emscripten__internal__getContext_bool_20b2PrismaticJointDef_____28bool_20b2PrismaticJointDef____20const__29($0 + 11700 | 0) | 0); + HEAP32[$0 + 11648 >> 2] = $1; + HEAP32[$0 + 11644 >> 2] = 6703; + HEAP32[$0 + 11640 >> 2] = 52; + $1 = HEAP32[$0 + 11648 >> 2]; + HEAP32[$0 + 11636 >> 2] = 289; + HEAP32[$0 + 11632 >> 2] = 290; + $2 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11644 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15900 >> 2] = HEAP32[$0 + 11636 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11636 >> 2]; + $7 = float_20b2PrismaticJointDef_____20emscripten__internal__getContext_float_20b2PrismaticJointDef_____28float_20b2PrismaticJointDef____20const__29($0 + 11640 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15920 >> 2] = HEAP32[$0 + 11632 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 11632 >> 2], float_20b2PrismaticJointDef_____20emscripten__internal__getContext_float_20b2PrismaticJointDef_____28float_20b2PrismaticJointDef____20const__29($0 + 11640 | 0) | 0); + HEAP32[$0 + 11628 >> 2] = $1; + HEAP32[$0 + 11624 >> 2] = 6744; + HEAP32[$0 + 11620 >> 2] = 56; + $1 = HEAP32[$0 + 11628 >> 2]; + HEAP32[$0 + 11616 >> 2] = 289; + HEAP32[$0 + 11612 >> 2] = 290; + $2 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11624 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15904 >> 2] = HEAP32[$0 + 11616 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11616 >> 2]; + $7 = float_20b2PrismaticJointDef_____20emscripten__internal__getContext_float_20b2PrismaticJointDef_____28float_20b2PrismaticJointDef____20const__29($0 + 11620 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15924 >> 2] = HEAP32[$0 + 11612 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 11612 >> 2], float_20b2PrismaticJointDef_____20emscripten__internal__getContext_float_20b2PrismaticJointDef_____28float_20b2PrismaticJointDef____20const__29($0 + 11620 | 0) | 0); + HEAP32[$0 + 11688 >> 2] = $1; + HEAP32[$0 + 11684 >> 2] = 3640; + HEAP32[$0 + 11680 >> 2] = 60; + $1 = HEAP32[$0 + 11688 >> 2]; + HEAP32[$0 + 11676 >> 2] = 291; + HEAP32[$0 + 11672 >> 2] = 292; + $2 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11684 >> 2]; + $4 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15940 >> 2] = HEAP32[$0 + 11676 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11676 >> 2]; + $7 = bool_20b2PrismaticJointDef_____20emscripten__internal__getContext_bool_20b2PrismaticJointDef_____28bool_20b2PrismaticJointDef____20const__29($0 + 11680 | 0); + $8 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 15948 >> 2] = HEAP32[$0 + 11672 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 11672 >> 2], bool_20b2PrismaticJointDef_____20emscripten__internal__getContext_bool_20b2PrismaticJointDef_____28bool_20b2PrismaticJointDef____20const__29($0 + 11680 | 0) | 0); + HEAP32[$0 + 11608 >> 2] = $1; + HEAP32[$0 + 11604 >> 2] = 10349; + HEAP32[$0 + 11600 >> 2] = 68; + $1 = HEAP32[$0 + 11608 >> 2]; + HEAP32[$0 + 11596 >> 2] = 289; + HEAP32[$0 + 11592 >> 2] = 290; + $2 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 11604 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15908 >> 2] = HEAP32[$0 + 11596 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11596 >> 2]; + $7 = float_20b2PrismaticJointDef_____20emscripten__internal__getContext_float_20b2PrismaticJointDef_____28float_20b2PrismaticJointDef____20const__29($0 + 11600 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15928 >> 2] = HEAP32[$0 + 11592 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 11592 >> 2], float_20b2PrismaticJointDef_____20emscripten__internal__getContext_float_20b2PrismaticJointDef_____28float_20b2PrismaticJointDef____20const__29($0 + 11600 | 0) | 0); + HEAP32[$0 + 11588 >> 2] = $1; + HEAP32[$0 + 11584 >> 2] = 9896; + HEAP32[$0 + 11580 >> 2] = 64; + HEAP32[$0 + 11576 >> 2] = 289; + HEAP32[$0 + 11572 >> 2] = 290; + $1 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 11584 >> 2]; + $3 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15912 >> 2] = HEAP32[$0 + 11576 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 11576 >> 2]; + $6 = float_20b2PrismaticJointDef_____20emscripten__internal__getContext_float_20b2PrismaticJointDef_____28float_20b2PrismaticJointDef____20const__29($0 + 11580 | 0); + $7 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 15932 >> 2] = HEAP32[$0 + 11572 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 11572 >> 2], float_20b2PrismaticJointDef_____20emscripten__internal__getContext_float_20b2PrismaticJointDef_____28float_20b2PrismaticJointDef____20const__29($0 + 11580 | 0) | 0); + HEAP32[$0 + 11732 >> 2] = $0 + 2562; + HEAP32[$0 + 11728 >> 2] = 2763; + void_20emscripten__base_b2Joint___verify_b2PrismaticJoint__28_29(); + HEAP32[$0 + 11724 >> 2] = 293; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2PrismaticJoint__28_29_29_28b2PrismaticJoint__29(), + HEAP32[wasm2js_i32$0 + 11720 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2PrismaticJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2PrismaticJoint__28_29_29_28b2Joint__29(), + HEAP32[wasm2js_i32$0 + 11716 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 11712 >> 2] = 294; + $1 = emscripten__internal__TypeID_b2PrismaticJoint_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2Joint___get_28_29(); + HEAP32[$0 + 15952 >> 2] = HEAP32[$0 + 11724 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 11724 >> 2]; + HEAP32[$0 + 15956 >> 2] = HEAP32[$0 + 11720 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 11720 >> 2]; + HEAP32[$0 + 15960 >> 2] = HEAP32[$0 + 11716 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 11716 >> 2]; + $11 = HEAP32[$0 + 11728 >> 2]; + HEAP32[$0 + 15964 >> 2] = HEAP32[$0 + 11712 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 11712 >> 2]); + HEAP32[$0 + 2556 >> 2] = 0; + HEAP32[$0 + 2552 >> 2] = 295; + $1 = HEAP32[$0 + 2556 >> 2]; + $2 = HEAP32[$0 + 2552 >> 2]; + HEAP32[$0 + 11800 >> 2] = $2; + HEAP32[$0 + 11804 >> 2] = $1; + $1 = HEAP32[$0 + 11800 >> 2]; + $2 = HEAP32[$0 + 11804 >> 2]; + HEAP32[$0 + 11828 >> 2] = $0 + 2562; + HEAP32[$0 + 11824 >> 2] = 11171; + HEAP32[$0 + 11820 >> 2] = $2; + HEAP32[$0 + 11816 >> 2] = $1; + $3 = HEAP32[$0 + 11828 >> 2]; + $4 = HEAP32[$0 + 11824 >> 2]; + $1 = HEAP32[$0 + 11816 >> 2]; + HEAP32[$0 + 11812 >> 2] = HEAP32[$0 + 11820 >> 2]; + HEAP32[$0 + 11808 >> 2] = $1; + $2 = HEAP32[$0 + 11812 >> 2]; + $1 = HEAP32[$0 + 11808 >> 2]; + HEAP32[$0 + 544 >> 2] = $1; + HEAP32[$0 + 548 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 544 | 0); + HEAP32[$0 + 2548 >> 2] = 0; + HEAP32[$0 + 2544 >> 2] = 296; + $1 = HEAP32[$0 + 2548 >> 2]; + $2 = HEAP32[$0 + 2544 >> 2]; + HEAP32[$0 + 11768 >> 2] = $2; + HEAP32[$0 + 11772 >> 2] = $1; + $1 = HEAP32[$0 + 11768 >> 2]; + $2 = HEAP32[$0 + 11772 >> 2]; + HEAP32[$0 + 11796 >> 2] = $3; + HEAP32[$0 + 11792 >> 2] = 11028; + HEAP32[$0 + 11788 >> 2] = $2; + HEAP32[$0 + 11784 >> 2] = $1; + $3 = HEAP32[$0 + 11796 >> 2]; + $4 = HEAP32[$0 + 11792 >> 2]; + $1 = HEAP32[$0 + 11784 >> 2]; + HEAP32[$0 + 11780 >> 2] = HEAP32[$0 + 11788 >> 2]; + HEAP32[$0 + 11776 >> 2] = $1; + $2 = HEAP32[$0 + 11780 >> 2]; + $1 = HEAP32[$0 + 11776 >> 2]; + HEAP32[$0 + 536 >> 2] = $1; + HEAP32[$0 + 540 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 536 | 0); + HEAP32[$0 + 2540 >> 2] = 0; + HEAP32[$0 + 2536 >> 2] = 297; + $1 = HEAP32[$0 + 2540 >> 2]; + $2 = HEAP32[$0 + 2536 >> 2]; + HEAP32[$0 + 11736 >> 2] = $2; + HEAP32[$0 + 11740 >> 2] = $1; + $1 = HEAP32[$0 + 11736 >> 2]; + $2 = HEAP32[$0 + 11740 >> 2]; + HEAP32[$0 + 11764 >> 2] = $3; + HEAP32[$0 + 11760 >> 2] = 11133; + HEAP32[$0 + 11756 >> 2] = $2; + HEAP32[$0 + 11752 >> 2] = $1; + $3 = HEAP32[$0 + 11764 >> 2]; + $4 = HEAP32[$0 + 11760 >> 2]; + $1 = HEAP32[$0 + 11752 >> 2]; + HEAP32[$0 + 11748 >> 2] = HEAP32[$0 + 11756 >> 2]; + HEAP32[$0 + 11744 >> 2] = $1; + $2 = HEAP32[$0 + 11748 >> 2]; + $1 = HEAP32[$0 + 11744 >> 2]; + HEAP32[$0 + 528 >> 2] = $1; + HEAP32[$0 + 532 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 528 | 0); + HEAP32[$0 + 2532 >> 2] = 0; + HEAP32[$0 + 2528 >> 2] = 298; + $1 = HEAP32[$0 + 2532 >> 2]; + $2 = HEAP32[$0 + 2528 >> 2]; + HEAP32[$0 + 12024 >> 2] = $2; + HEAP32[$0 + 12028 >> 2] = $1; + $1 = HEAP32[$0 + 12024 >> 2]; + $2 = HEAP32[$0 + 12028 >> 2]; + HEAP32[$0 + 12052 >> 2] = $3; + HEAP32[$0 + 12048 >> 2] = 9486; + HEAP32[$0 + 12044 >> 2] = $2; + HEAP32[$0 + 12040 >> 2] = $1; + $3 = HEAP32[$0 + 12052 >> 2]; + $4 = HEAP32[$0 + 12048 >> 2]; + $1 = HEAP32[$0 + 12040 >> 2]; + HEAP32[$0 + 12036 >> 2] = HEAP32[$0 + 12044 >> 2]; + HEAP32[$0 + 12032 >> 2] = $1; + $2 = HEAP32[$0 + 12036 >> 2]; + $1 = HEAP32[$0 + 12032 >> 2]; + HEAP32[$0 + 520 >> 2] = $1; + HEAP32[$0 + 524 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20float_20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 520 | 0); + HEAP32[$0 + 2524 >> 2] = 0; + HEAP32[$0 + 2520 >> 2] = 299; + $1 = HEAP32[$0 + 2524 >> 2]; + $2 = HEAP32[$0 + 2520 >> 2]; + HEAP32[$0 + 11992 >> 2] = $2; + HEAP32[$0 + 11996 >> 2] = $1; + $1 = HEAP32[$0 + 11992 >> 2]; + $2 = HEAP32[$0 + 11996 >> 2]; + HEAP32[$0 + 12020 >> 2] = $3; + HEAP32[$0 + 12016 >> 2] = 6683; + HEAP32[$0 + 12012 >> 2] = $2; + HEAP32[$0 + 12008 >> 2] = $1; + $3 = HEAP32[$0 + 12020 >> 2]; + $4 = HEAP32[$0 + 12016 >> 2]; + $1 = HEAP32[$0 + 12008 >> 2]; + HEAP32[$0 + 12004 >> 2] = HEAP32[$0 + 12012 >> 2]; + HEAP32[$0 + 12e3 >> 2] = $1; + $2 = HEAP32[$0 + 12004 >> 2]; + $1 = HEAP32[$0 + 12e3 >> 2]; + HEAP32[$0 + 512 >> 2] = $1; + HEAP32[$0 + 516 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20float_20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 512 | 0); + HEAP32[$0 + 2516 >> 2] = 0; + HEAP32[$0 + 2512 >> 2] = 300; + $1 = HEAP32[$0 + 2516 >> 2]; + $2 = HEAP32[$0 + 2512 >> 2]; + HEAP32[$0 + 11960 >> 2] = $2; + HEAP32[$0 + 11964 >> 2] = $1; + $1 = HEAP32[$0 + 11960 >> 2]; + $2 = HEAP32[$0 + 11964 >> 2]; + HEAP32[$0 + 11988 >> 2] = $3; + HEAP32[$0 + 11984 >> 2] = 10289; + HEAP32[$0 + 11980 >> 2] = $2; + HEAP32[$0 + 11976 >> 2] = $1; + $3 = HEAP32[$0 + 11988 >> 2]; + $4 = HEAP32[$0 + 11984 >> 2]; + $1 = HEAP32[$0 + 11976 >> 2]; + HEAP32[$0 + 11972 >> 2] = HEAP32[$0 + 11980 >> 2]; + HEAP32[$0 + 11968 >> 2] = $1; + $2 = HEAP32[$0 + 11972 >> 2]; + $1 = HEAP32[$0 + 11968 >> 2]; + HEAP32[$0 + 504 >> 2] = $1; + HEAP32[$0 + 508 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20float_20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 504 | 0); + HEAP32[$0 + 2508 >> 2] = 0; + HEAP32[$0 + 2504 >> 2] = 301; + $1 = HEAP32[$0 + 2508 >> 2]; + $2 = HEAP32[$0 + 2504 >> 2]; + HEAP32[$0 + 12088 >> 2] = $2; + HEAP32[$0 + 12092 >> 2] = $1; + $1 = HEAP32[$0 + 12088 >> 2]; + $2 = HEAP32[$0 + 12092 >> 2]; + HEAP32[$0 + 12116 >> 2] = $3; + HEAP32[$0 + 12112 >> 2] = 10231; + HEAP32[$0 + 12108 >> 2] = $2; + HEAP32[$0 + 12104 >> 2] = $1; + $3 = HEAP32[$0 + 12116 >> 2]; + $4 = HEAP32[$0 + 12112 >> 2]; + $1 = HEAP32[$0 + 12104 >> 2]; + HEAP32[$0 + 12100 >> 2] = HEAP32[$0 + 12108 >> 2]; + HEAP32[$0 + 12096 >> 2] = $1; + $2 = HEAP32[$0 + 12100 >> 2]; + $1 = HEAP32[$0 + 12096 >> 2]; + HEAP32[$0 + 496 >> 2] = $1; + HEAP32[$0 + 500 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20bool_20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 496 | 0); + HEAP32[$0 + 2500 >> 2] = 0; + HEAP32[$0 + 2496 >> 2] = 302; + $1 = HEAP32[$0 + 2500 >> 2]; + $2 = HEAP32[$0 + 2496 >> 2]; + HEAP32[$0 + 12152 >> 2] = $2; + HEAP32[$0 + 12156 >> 2] = $1; + $1 = HEAP32[$0 + 12152 >> 2]; + $2 = HEAP32[$0 + 12156 >> 2]; + HEAP32[$0 + 12180 >> 2] = $3; + HEAP32[$0 + 12176 >> 2] = 2861; + HEAP32[$0 + 12172 >> 2] = $2; + HEAP32[$0 + 12168 >> 2] = $1; + $3 = HEAP32[$0 + 12180 >> 2]; + $4 = HEAP32[$0 + 12176 >> 2]; + $1 = HEAP32[$0 + 12168 >> 2]; + HEAP32[$0 + 12164 >> 2] = HEAP32[$0 + 12172 >> 2]; + HEAP32[$0 + 12160 >> 2] = $1; + $2 = HEAP32[$0 + 12164 >> 2]; + $1 = HEAP32[$0 + 12160 >> 2]; + HEAP32[$0 + 488 >> 2] = $1; + HEAP32[$0 + 492 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2PrismaticJoint____29_28bool_29___invoke_b2PrismaticJoint__28char_20const__2c_20void_20_28b2PrismaticJoint____29_28bool_29_29($4, $0 + 488 | 0); + HEAP32[$0 + 2492 >> 2] = 0; + HEAP32[$0 + 2488 >> 2] = 303; + $1 = HEAP32[$0 + 2492 >> 2]; + $2 = HEAP32[$0 + 2488 >> 2]; + HEAP32[$0 + 11928 >> 2] = $2; + HEAP32[$0 + 11932 >> 2] = $1; + $1 = HEAP32[$0 + 11928 >> 2]; + $2 = HEAP32[$0 + 11932 >> 2]; + HEAP32[$0 + 11956 >> 2] = $3; + HEAP32[$0 + 11952 >> 2] = 2821; + HEAP32[$0 + 11948 >> 2] = $2; + HEAP32[$0 + 11944 >> 2] = $1; + $3 = HEAP32[$0 + 11956 >> 2]; + $4 = HEAP32[$0 + 11952 >> 2]; + $1 = HEAP32[$0 + 11944 >> 2]; + HEAP32[$0 + 11940 >> 2] = HEAP32[$0 + 11948 >> 2]; + HEAP32[$0 + 11936 >> 2] = $1; + $2 = HEAP32[$0 + 11940 >> 2]; + $1 = HEAP32[$0 + 11936 >> 2]; + HEAP32[$0 + 480 >> 2] = $1; + HEAP32[$0 + 484 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20float_20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 480 | 0); + HEAP32[$0 + 2484 >> 2] = 0; + HEAP32[$0 + 2480 >> 2] = 304; + $1 = HEAP32[$0 + 2484 >> 2]; + $2 = HEAP32[$0 + 2480 >> 2]; + HEAP32[$0 + 11896 >> 2] = $2; + HEAP32[$0 + 11900 >> 2] = $1; + $1 = HEAP32[$0 + 11896 >> 2]; + $2 = HEAP32[$0 + 11900 >> 2]; + HEAP32[$0 + 11924 >> 2] = $3; + HEAP32[$0 + 11920 >> 2] = 2835; + HEAP32[$0 + 11916 >> 2] = $2; + HEAP32[$0 + 11912 >> 2] = $1; + $3 = HEAP32[$0 + 11924 >> 2]; + $4 = HEAP32[$0 + 11920 >> 2]; + $1 = HEAP32[$0 + 11912 >> 2]; + HEAP32[$0 + 11908 >> 2] = HEAP32[$0 + 11916 >> 2]; + HEAP32[$0 + 11904 >> 2] = $1; + $2 = HEAP32[$0 + 11908 >> 2]; + $1 = HEAP32[$0 + 11904 >> 2]; + HEAP32[$0 + 472 >> 2] = $1; + HEAP32[$0 + 476 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20float_20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 472 | 0); + HEAP32[$0 + 2476 >> 2] = 0; + HEAP32[$0 + 2472 >> 2] = 305; + $1 = HEAP32[$0 + 2476 >> 2]; + $2 = HEAP32[$0 + 2472 >> 2]; + HEAP32[$0 + 12184 >> 2] = $2; + HEAP32[$0 + 12188 >> 2] = $1; + $1 = HEAP32[$0 + 12184 >> 2]; + $2 = HEAP32[$0 + 12188 >> 2]; + HEAP32[$0 + 12212 >> 2] = $3; + HEAP32[$0 + 12208 >> 2] = 3355; + HEAP32[$0 + 12204 >> 2] = $2; + HEAP32[$0 + 12200 >> 2] = $1; + $3 = HEAP32[$0 + 12212 >> 2]; + $4 = HEAP32[$0 + 12208 >> 2]; + $1 = HEAP32[$0 + 12200 >> 2]; + HEAP32[$0 + 12196 >> 2] = HEAP32[$0 + 12204 >> 2]; + HEAP32[$0 + 12192 >> 2] = $1; + $2 = HEAP32[$0 + 12196 >> 2]; + $1 = HEAP32[$0 + 12192 >> 2]; + HEAP32[$0 + 464 >> 2] = $1; + HEAP32[$0 + 468 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2PrismaticJoint____29_28float_2c_20float_29___invoke_b2PrismaticJoint__28char_20const__2c_20void_20_28b2PrismaticJoint____29_28float_2c_20float_29_29($4, $0 + 464 | 0); + HEAP32[$0 + 2468 >> 2] = 0; + HEAP32[$0 + 2464 >> 2] = 306; + $1 = HEAP32[$0 + 2468 >> 2]; + $2 = HEAP32[$0 + 2464 >> 2]; + HEAP32[$0 + 12056 >> 2] = $2; + HEAP32[$0 + 12060 >> 2] = $1; + $1 = HEAP32[$0 + 12056 >> 2]; + $2 = HEAP32[$0 + 12060 >> 2]; + HEAP32[$0 + 12084 >> 2] = $3; + HEAP32[$0 + 12080 >> 2] = 10274; + HEAP32[$0 + 12076 >> 2] = $2; + HEAP32[$0 + 12072 >> 2] = $1; + $3 = HEAP32[$0 + 12084 >> 2]; + $4 = HEAP32[$0 + 12080 >> 2]; + $1 = HEAP32[$0 + 12072 >> 2]; + HEAP32[$0 + 12068 >> 2] = HEAP32[$0 + 12076 >> 2]; + HEAP32[$0 + 12064 >> 2] = $1; + $2 = HEAP32[$0 + 12068 >> 2]; + $1 = HEAP32[$0 + 12064 >> 2]; + HEAP32[$0 + 456 >> 2] = $1; + HEAP32[$0 + 460 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20bool_20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 456 | 0); + HEAP32[$0 + 2460 >> 2] = 0; + HEAP32[$0 + 2456 >> 2] = 307; + $1 = HEAP32[$0 + 2460 >> 2]; + $2 = HEAP32[$0 + 2456 >> 2]; + HEAP32[$0 + 12120 >> 2] = $2; + HEAP32[$0 + 12124 >> 2] = $1; + $1 = HEAP32[$0 + 12120 >> 2]; + $2 = HEAP32[$0 + 12124 >> 2]; + HEAP32[$0 + 12148 >> 2] = $3; + HEAP32[$0 + 12144 >> 2] = 3652; + HEAP32[$0 + 12140 >> 2] = $2; + HEAP32[$0 + 12136 >> 2] = $1; + $3 = HEAP32[$0 + 12148 >> 2]; + $4 = HEAP32[$0 + 12144 >> 2]; + $1 = HEAP32[$0 + 12136 >> 2]; + HEAP32[$0 + 12132 >> 2] = HEAP32[$0 + 12140 >> 2]; + HEAP32[$0 + 12128 >> 2] = $1; + $2 = HEAP32[$0 + 12132 >> 2]; + $1 = HEAP32[$0 + 12128 >> 2]; + HEAP32[$0 + 448 >> 2] = $1; + HEAP32[$0 + 452 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2PrismaticJoint____29_28bool_29___invoke_b2PrismaticJoint__28char_20const__2c_20void_20_28b2PrismaticJoint____29_28bool_29_29($4, $0 + 448 | 0); + HEAP32[$0 + 2452 >> 2] = 0; + HEAP32[$0 + 2448 >> 2] = 308; + $1 = HEAP32[$0 + 2452 >> 2]; + $2 = HEAP32[$0 + 2448 >> 2]; + HEAP32[$0 + 12248 >> 2] = $2; + HEAP32[$0 + 12252 >> 2] = $1; + $1 = HEAP32[$0 + 12248 >> 2]; + $2 = HEAP32[$0 + 12252 >> 2]; + HEAP32[$0 + 12276 >> 2] = $3; + HEAP32[$0 + 12272 >> 2] = 10360; + HEAP32[$0 + 12268 >> 2] = $2; + HEAP32[$0 + 12264 >> 2] = $1; + $3 = HEAP32[$0 + 12276 >> 2]; + $4 = HEAP32[$0 + 12272 >> 2]; + $1 = HEAP32[$0 + 12264 >> 2]; + HEAP32[$0 + 12260 >> 2] = HEAP32[$0 + 12268 >> 2]; + HEAP32[$0 + 12256 >> 2] = $1; + $2 = HEAP32[$0 + 12260 >> 2]; + $1 = HEAP32[$0 + 12256 >> 2]; + HEAP32[$0 + 440 >> 2] = $1; + HEAP32[$0 + 444 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2PrismaticJoint____29_28float_29___invoke_b2PrismaticJoint__28char_20const__2c_20void_20_28b2PrismaticJoint____29_28float_29_29($4, $0 + 440 | 0); + HEAP32[$0 + 2444 >> 2] = 0; + HEAP32[$0 + 2440 >> 2] = 309; + $1 = HEAP32[$0 + 2444 >> 2]; + $2 = HEAP32[$0 + 2440 >> 2]; + HEAP32[$0 + 11864 >> 2] = $2; + HEAP32[$0 + 11868 >> 2] = $1; + $1 = HEAP32[$0 + 11864 >> 2]; + $2 = HEAP32[$0 + 11868 >> 2]; + HEAP32[$0 + 11892 >> 2] = $3; + HEAP32[$0 + 11888 >> 2] = 10374; + HEAP32[$0 + 11884 >> 2] = $2; + HEAP32[$0 + 11880 >> 2] = $1; + $3 = HEAP32[$0 + 11892 >> 2]; + $4 = HEAP32[$0 + 11888 >> 2]; + $1 = HEAP32[$0 + 11880 >> 2]; + HEAP32[$0 + 11876 >> 2] = HEAP32[$0 + 11884 >> 2]; + HEAP32[$0 + 11872 >> 2] = $1; + $2 = HEAP32[$0 + 11876 >> 2]; + $1 = HEAP32[$0 + 11872 >> 2]; + HEAP32[$0 + 432 >> 2] = $1; + HEAP32[$0 + 436 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20float_20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 432 | 0); + HEAP32[$0 + 2436 >> 2] = 0; + HEAP32[$0 + 2432 >> 2] = 310; + $1 = HEAP32[$0 + 2436 >> 2]; + $2 = HEAP32[$0 + 2432 >> 2]; + HEAP32[$0 + 12216 >> 2] = $2; + HEAP32[$0 + 12220 >> 2] = $1; + $1 = HEAP32[$0 + 12216 >> 2]; + $2 = HEAP32[$0 + 12220 >> 2]; + HEAP32[$0 + 12244 >> 2] = $3; + HEAP32[$0 + 12240 >> 2] = 9910; + HEAP32[$0 + 12236 >> 2] = $2; + HEAP32[$0 + 12232 >> 2] = $1; + $3 = HEAP32[$0 + 12244 >> 2]; + $4 = HEAP32[$0 + 12240 >> 2]; + $1 = HEAP32[$0 + 12232 >> 2]; + HEAP32[$0 + 12228 >> 2] = HEAP32[$0 + 12236 >> 2]; + HEAP32[$0 + 12224 >> 2] = $1; + $2 = HEAP32[$0 + 12228 >> 2]; + $1 = HEAP32[$0 + 12224 >> 2]; + HEAP32[$0 + 424 >> 2] = $1; + HEAP32[$0 + 428 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2PrismaticJoint____29_28float_29___invoke_b2PrismaticJoint__28char_20const__2c_20void_20_28b2PrismaticJoint____29_28float_29_29($4, $0 + 424 | 0); + HEAP32[$0 + 2428 >> 2] = 0; + HEAP32[$0 + 2424 >> 2] = 311; + $1 = HEAP32[$0 + 2428 >> 2]; + $2 = HEAP32[$0 + 2424 >> 2]; + HEAP32[$0 + 11832 >> 2] = $2; + HEAP32[$0 + 11836 >> 2] = $1; + $1 = HEAP32[$0 + 11832 >> 2]; + $2 = HEAP32[$0 + 11836 >> 2]; + HEAP32[$0 + 11860 >> 2] = $3; + HEAP32[$0 + 11856 >> 2] = 9927; + HEAP32[$0 + 11852 >> 2] = $2; + HEAP32[$0 + 11848 >> 2] = $1; + $3 = HEAP32[$0 + 11860 >> 2]; + $4 = HEAP32[$0 + 11856 >> 2]; + $1 = HEAP32[$0 + 11848 >> 2]; + HEAP32[$0 + 11844 >> 2] = HEAP32[$0 + 11852 >> 2]; + HEAP32[$0 + 11840 >> 2] = $1; + $2 = HEAP32[$0 + 11844 >> 2]; + $1 = HEAP32[$0 + 11840 >> 2]; + HEAP32[$0 + 416 >> 2] = $1; + HEAP32[$0 + 420 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20float_20_28b2PrismaticJoint____29_28_29_20const_29($4, $0 + 416 | 0); + HEAP32[$0 + 2420 >> 2] = 0; + HEAP32[$0 + 2416 >> 2] = 312; + $1 = HEAP32[$0 + 2420 >> 2]; + $2 = HEAP32[$0 + 2416 >> 2]; + HEAP32[$0 + 12280 >> 2] = $2; + HEAP32[$0 + 12284 >> 2] = $1; + $1 = HEAP32[$0 + 12280 >> 2]; + $2 = HEAP32[$0 + 12284 >> 2]; + HEAP32[$0 + 12308 >> 2] = $3; + HEAP32[$0 + 12304 >> 2] = 9944; + HEAP32[$0 + 12300 >> 2] = $2; + HEAP32[$0 + 12296 >> 2] = $1; + $3 = HEAP32[$0 + 12308 >> 2]; + $4 = HEAP32[$0 + 12304 >> 2]; + $1 = HEAP32[$0 + 12296 >> 2]; + HEAP32[$0 + 12292 >> 2] = HEAP32[$0 + 12300 >> 2]; + HEAP32[$0 + 12288 >> 2] = $1; + $2 = HEAP32[$0 + 12292 >> 2]; + $1 = HEAP32[$0 + 12288 >> 2]; + HEAP32[$0 + 408 >> 2] = $1; + HEAP32[$0 + 412 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2PrismaticJoint____29_28float_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20float_20_28b2PrismaticJoint____29_28float_29_20const_29($4, $0 + 408 | 0); + HEAP32[$0 + 2412 >> 2] = 1; + HEAP32[$0 + 2408 >> 2] = 16; + $1 = HEAP32[$0 + 2412 >> 2]; + $2 = HEAP32[$0 + 2408 >> 2]; + HEAP32[$0 + 12312 >> 2] = $2; + HEAP32[$0 + 12316 >> 2] = $1; + $1 = HEAP32[$0 + 12312 >> 2]; + $2 = HEAP32[$0 + 12316 >> 2]; + HEAP32[$0 + 12340 >> 2] = $3; + HEAP32[$0 + 12336 >> 2] = 6232; + HEAP32[$0 + 12332 >> 2] = $2; + HEAP32[$0 + 12328 >> 2] = $1; + $3 = HEAP32[$0 + 12336 >> 2]; + $1 = HEAP32[$0 + 12328 >> 2]; + HEAP32[$0 + 12324 >> 2] = HEAP32[$0 + 12332 >> 2]; + HEAP32[$0 + 12320 >> 2] = $1; + $2 = HEAP32[$0 + 12324 >> 2]; + $1 = HEAP32[$0 + 12320 >> 2]; + HEAP32[$0 + 400 >> 2] = $1; + HEAP32[$0 + 404 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2PrismaticJoint____29_28_29___invoke_b2PrismaticJoint__28char_20const__2c_20void_20_28b2PrismaticJoint____29_28_29_29($3, $0 + 400 | 0); + HEAP32[$0 + 12364 >> 2] = $0 + 2407; + HEAP32[$0 + 12360 >> 2] = 7915; + void_20emscripten__base_b2JointDef___verify_b2RevoluteJointDef__28_29(); + HEAP32[$0 + 12356 >> 2] = 313; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2RevoluteJointDef__28_29_29_28b2RevoluteJointDef__29(), + HEAP32[wasm2js_i32$0 + 12352 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2RevoluteJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2RevoluteJointDef__28_29_29_28b2JointDef__29(), + HEAP32[wasm2js_i32$0 + 12348 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 12344 >> 2] = 314; + $1 = emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RevoluteJointDef__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RevoluteJointDef_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2JointDef___get_28_29(); + HEAP32[$0 + 15968 >> 2] = HEAP32[$0 + 12356 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 12356 >> 2]; + HEAP32[$0 + 15972 >> 2] = HEAP32[$0 + 12352 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 12352 >> 2]; + HEAP32[$0 + 15976 >> 2] = HEAP32[$0 + 12348 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 12348 >> 2]; + $11 = HEAP32[$0 + 12360 >> 2]; + HEAP32[$0 + 15980 >> 2] = HEAP32[$0 + 12344 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 12344 >> 2]); + HEAP32[$0 + 12368 >> 2] = $0 + 2407; + HEAP32[$0 + 15988 >> 2] = HEAP32[$0 + 12368 >> 2]; + HEAP32[$0 + 15984 >> 2] = 315; + $1 = HEAP32[$0 + 15988 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2RevoluteJointDef__20_28__29_28_29___invoke_b2RevoluteJointDef__28b2RevoluteJointDef__20_28__29_28_29_29(HEAP32[$0 + 15984 >> 2]); + HEAP32[$0 + 12408 >> 2] = $1; + HEAP32[$0 + 12404 >> 2] = 11158; + HEAP32[$0 + 12400 >> 2] = 20; + $1 = HEAP32[$0 + 12408 >> 2]; + HEAP32[$0 + 12396 >> 2] = 316; + HEAP32[$0 + 12392 >> 2] = 317; + $2 = emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 12404 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15992 >> 2] = HEAP32[$0 + 12396 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 12396 >> 2]; + $7 = b2Vec2_20b2RevoluteJointDef_____20emscripten__internal__getContext_b2Vec2_20b2RevoluteJointDef_____28b2Vec2_20b2RevoluteJointDef____20const__29($0 + 12400 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16e3 >> 2] = HEAP32[$0 + 12392 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 12392 >> 2], b2Vec2_20b2RevoluteJointDef_____20emscripten__internal__getContext_b2Vec2_20b2RevoluteJointDef_____28b2Vec2_20b2RevoluteJointDef____20const__29($0 + 12400 | 0) | 0); + HEAP32[$0 + 12388 >> 2] = $1; + HEAP32[$0 + 12384 >> 2] = 11015; + HEAP32[$0 + 12380 >> 2] = 28; + $1 = HEAP32[$0 + 12388 >> 2]; + HEAP32[$0 + 12376 >> 2] = 316; + HEAP32[$0 + 12372 >> 2] = 317; + $2 = emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 12384 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 15996 >> 2] = HEAP32[$0 + 12376 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 12376 >> 2]; + $7 = b2Vec2_20b2RevoluteJointDef_____20emscripten__internal__getContext_b2Vec2_20b2RevoluteJointDef_____28b2Vec2_20b2RevoluteJointDef____20const__29($0 + 12380 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16004 >> 2] = HEAP32[$0 + 12372 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 12372 >> 2], b2Vec2_20b2RevoluteJointDef_____20emscripten__internal__getContext_b2Vec2_20b2RevoluteJointDef_____28b2Vec2_20b2RevoluteJointDef____20const__29($0 + 12380 | 0) | 0); + HEAP32[$0 + 12508 >> 2] = $1; + HEAP32[$0 + 12504 >> 2] = 9471; + HEAP32[$0 + 12500 >> 2] = 36; + $1 = HEAP32[$0 + 12508 >> 2]; + HEAP32[$0 + 12496 >> 2] = 318; + HEAP32[$0 + 12492 >> 2] = 319; + $2 = emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 12504 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16008 >> 2] = HEAP32[$0 + 12496 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 12496 >> 2]; + $7 = float_20b2RevoluteJointDef_____20emscripten__internal__getContext_float_20b2RevoluteJointDef_____28float_20b2RevoluteJointDef____20const__29($0 + 12500 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16028 >> 2] = HEAP32[$0 + 12492 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 12492 >> 2], float_20b2RevoluteJointDef_____20emscripten__internal__getContext_float_20b2RevoluteJointDef_____28float_20b2RevoluteJointDef____20const__29($0 + 12500 | 0) | 0); + HEAP32[$0 + 12548 >> 2] = $1; + HEAP32[$0 + 12544 >> 2] = 2849; + HEAP32[$0 + 12540 >> 2] = 40; + $1 = HEAP32[$0 + 12548 >> 2]; + HEAP32[$0 + 12536 >> 2] = 320; + HEAP32[$0 + 12532 >> 2] = 321; + $2 = emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 12544 >> 2]; + $4 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 16048 >> 2] = HEAP32[$0 + 12536 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 12536 >> 2]; + $7 = bool_20b2RevoluteJointDef_____20emscripten__internal__getContext_bool_20b2RevoluteJointDef_____28bool_20b2RevoluteJointDef____20const__29($0 + 12540 | 0); + $8 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 16056 >> 2] = HEAP32[$0 + 12532 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 12532 >> 2], bool_20b2RevoluteJointDef_____20emscripten__internal__getContext_bool_20b2RevoluteJointDef_____28bool_20b2RevoluteJointDef____20const__29($0 + 12540 | 0) | 0); + HEAP32[$0 + 12488 >> 2] = $1; + HEAP32[$0 + 12484 >> 2] = 9449; + HEAP32[$0 + 12480 >> 2] = 44; + $1 = HEAP32[$0 + 12488 >> 2]; + HEAP32[$0 + 12476 >> 2] = 318; + HEAP32[$0 + 12472 >> 2] = 319; + $2 = emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 12484 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16012 >> 2] = HEAP32[$0 + 12476 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 12476 >> 2]; + $7 = float_20b2RevoluteJointDef_____20emscripten__internal__getContext_float_20b2RevoluteJointDef_____28float_20b2RevoluteJointDef____20const__29($0 + 12480 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16032 >> 2] = HEAP32[$0 + 12472 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 12472 >> 2], float_20b2RevoluteJointDef_____20emscripten__internal__getContext_float_20b2RevoluteJointDef_____28float_20b2RevoluteJointDef____20const__29($0 + 12480 | 0) | 0); + HEAP32[$0 + 12468 >> 2] = $1; + HEAP32[$0 + 12464 >> 2] = 9460; + HEAP32[$0 + 12460 >> 2] = 48; + $1 = HEAP32[$0 + 12468 >> 2]; + HEAP32[$0 + 12456 >> 2] = 318; + HEAP32[$0 + 12452 >> 2] = 319; + $2 = emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 12464 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16016 >> 2] = HEAP32[$0 + 12456 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 12456 >> 2]; + $7 = float_20b2RevoluteJointDef_____20emscripten__internal__getContext_float_20b2RevoluteJointDef_____28float_20b2RevoluteJointDef____20const__29($0 + 12460 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16036 >> 2] = HEAP32[$0 + 12452 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 12452 >> 2], float_20b2RevoluteJointDef_____20emscripten__internal__getContext_float_20b2RevoluteJointDef_____28float_20b2RevoluteJointDef____20const__29($0 + 12460 | 0) | 0); + HEAP32[$0 + 12528 >> 2] = $1; + HEAP32[$0 + 12524 >> 2] = 3640; + HEAP32[$0 + 12520 >> 2] = 52; + $1 = HEAP32[$0 + 12528 >> 2]; + HEAP32[$0 + 12516 >> 2] = 320; + HEAP32[$0 + 12512 >> 2] = 321; + $2 = emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 12524 >> 2]; + $4 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 16052 >> 2] = HEAP32[$0 + 12516 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 12516 >> 2]; + $7 = bool_20b2RevoluteJointDef_____20emscripten__internal__getContext_bool_20b2RevoluteJointDef_____28bool_20b2RevoluteJointDef____20const__29($0 + 12520 | 0); + $8 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 16060 >> 2] = HEAP32[$0 + 12512 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 12512 >> 2], bool_20b2RevoluteJointDef_____20emscripten__internal__getContext_bool_20b2RevoluteJointDef_____28bool_20b2RevoluteJointDef____20const__29($0 + 12520 | 0) | 0); + HEAP32[$0 + 12448 >> 2] = $1; + HEAP32[$0 + 12444 >> 2] = 10349; + HEAP32[$0 + 12440 >> 2] = 56; + $1 = HEAP32[$0 + 12448 >> 2]; + HEAP32[$0 + 12436 >> 2] = 318; + HEAP32[$0 + 12432 >> 2] = 319; + $2 = emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 12444 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16020 >> 2] = HEAP32[$0 + 12436 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 12436 >> 2]; + $7 = float_20b2RevoluteJointDef_____20emscripten__internal__getContext_float_20b2RevoluteJointDef_____28float_20b2RevoluteJointDef____20const__29($0 + 12440 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16040 >> 2] = HEAP32[$0 + 12432 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 12432 >> 2], float_20b2RevoluteJointDef_____20emscripten__internal__getContext_float_20b2RevoluteJointDef_____28float_20b2RevoluteJointDef____20const__29($0 + 12440 | 0) | 0); + HEAP32[$0 + 12428 >> 2] = $1; + HEAP32[$0 + 12424 >> 2] = 8791; + HEAP32[$0 + 12420 >> 2] = 60; + HEAP32[$0 + 12416 >> 2] = 318; + HEAP32[$0 + 12412 >> 2] = 319; + $1 = emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 12424 >> 2]; + $3 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16024 >> 2] = HEAP32[$0 + 12416 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 12416 >> 2]; + $6 = float_20b2RevoluteJointDef_____20emscripten__internal__getContext_float_20b2RevoluteJointDef_____28float_20b2RevoluteJointDef____20const__29($0 + 12420 | 0); + $7 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16044 >> 2] = HEAP32[$0 + 12412 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 12412 >> 2], float_20b2RevoluteJointDef_____20emscripten__internal__getContext_float_20b2RevoluteJointDef_____28float_20b2RevoluteJointDef____20const__29($0 + 12420 | 0) | 0); + HEAP32[$0 + 12572 >> 2] = $0 + 2406; + HEAP32[$0 + 12568 >> 2] = 2572; + void_20emscripten__base_b2Joint___verify_b2RevoluteJoint__28_29(); + HEAP32[$0 + 12564 >> 2] = 322; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2RevoluteJoint__28_29_29_28b2RevoluteJoint__29(), + HEAP32[wasm2js_i32$0 + 12560 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2RevoluteJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2RevoluteJoint__28_29_29_28b2Joint__29(), + HEAP32[wasm2js_i32$0 + 12556 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 12552 >> 2] = 323; + $1 = emscripten__internal__TypeID_b2RevoluteJoint_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2Joint___get_28_29(); + HEAP32[$0 + 16064 >> 2] = HEAP32[$0 + 12564 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 12564 >> 2]; + HEAP32[$0 + 16068 >> 2] = HEAP32[$0 + 12560 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 12560 >> 2]; + HEAP32[$0 + 16072 >> 2] = HEAP32[$0 + 12556 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 12556 >> 2]; + $11 = HEAP32[$0 + 12568 >> 2]; + HEAP32[$0 + 16076 >> 2] = HEAP32[$0 + 12552 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 12552 >> 2]); + HEAP32[$0 + 2400 >> 2] = 0; + HEAP32[$0 + 2396 >> 2] = 324; + $1 = HEAP32[$0 + 2400 >> 2]; + $2 = HEAP32[$0 + 2396 >> 2]; + HEAP32[$0 + 12608 >> 2] = $2; + HEAP32[$0 + 12612 >> 2] = $1; + $1 = HEAP32[$0 + 12608 >> 2]; + $2 = HEAP32[$0 + 12612 >> 2]; + HEAP32[$0 + 12636 >> 2] = $0 + 2406; + HEAP32[$0 + 12632 >> 2] = 11171; + HEAP32[$0 + 12628 >> 2] = $2; + HEAP32[$0 + 12624 >> 2] = $1; + $3 = HEAP32[$0 + 12636 >> 2]; + $4 = HEAP32[$0 + 12632 >> 2]; + $1 = HEAP32[$0 + 12624 >> 2]; + HEAP32[$0 + 12620 >> 2] = HEAP32[$0 + 12628 >> 2]; + HEAP32[$0 + 12616 >> 2] = $1; + $2 = HEAP32[$0 + 12620 >> 2]; + $1 = HEAP32[$0 + 12616 >> 2]; + HEAP32[$0 + 392 >> 2] = $1; + HEAP32[$0 + 396 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20b2Vec2_20const__20_28b2RevoluteJoint____29_28_29_20const_29($4, $0 + 392 | 0); + HEAP32[$0 + 2392 >> 2] = 0; + HEAP32[$0 + 2388 >> 2] = 325; + $1 = HEAP32[$0 + 2392 >> 2]; + $2 = HEAP32[$0 + 2388 >> 2]; + HEAP32[$0 + 12576 >> 2] = $2; + HEAP32[$0 + 12580 >> 2] = $1; + $1 = HEAP32[$0 + 12576 >> 2]; + $2 = HEAP32[$0 + 12580 >> 2]; + HEAP32[$0 + 12604 >> 2] = $3; + HEAP32[$0 + 12600 >> 2] = 11028; + HEAP32[$0 + 12596 >> 2] = $2; + HEAP32[$0 + 12592 >> 2] = $1; + $3 = HEAP32[$0 + 12604 >> 2]; + $4 = HEAP32[$0 + 12600 >> 2]; + $1 = HEAP32[$0 + 12592 >> 2]; + HEAP32[$0 + 12588 >> 2] = HEAP32[$0 + 12596 >> 2]; + HEAP32[$0 + 12584 >> 2] = $1; + $2 = HEAP32[$0 + 12588 >> 2]; + $1 = HEAP32[$0 + 12584 >> 2]; + HEAP32[$0 + 384 >> 2] = $1; + HEAP32[$0 + 388 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20b2Vec2_20const__20_28b2RevoluteJoint____29_28_29_20const_29($4, $0 + 384 | 0); + HEAP32[$0 + 2384 >> 2] = 0; + HEAP32[$0 + 2380 >> 2] = 326; + $1 = HEAP32[$0 + 2384 >> 2]; + $2 = HEAP32[$0 + 2380 >> 2]; + HEAP32[$0 + 12832 >> 2] = $2; + HEAP32[$0 + 12836 >> 2] = $1; + $1 = HEAP32[$0 + 12832 >> 2]; + $2 = HEAP32[$0 + 12836 >> 2]; + HEAP32[$0 + 12860 >> 2] = $3; + HEAP32[$0 + 12856 >> 2] = 9486; + HEAP32[$0 + 12852 >> 2] = $2; + HEAP32[$0 + 12848 >> 2] = $1; + $3 = HEAP32[$0 + 12860 >> 2]; + $4 = HEAP32[$0 + 12856 >> 2]; + $1 = HEAP32[$0 + 12848 >> 2]; + HEAP32[$0 + 12844 >> 2] = HEAP32[$0 + 12852 >> 2]; + HEAP32[$0 + 12840 >> 2] = $1; + $2 = HEAP32[$0 + 12844 >> 2]; + $1 = HEAP32[$0 + 12840 >> 2]; + HEAP32[$0 + 376 >> 2] = $1; + HEAP32[$0 + 380 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20float_20_28b2RevoluteJoint____29_28_29_20const_29($4, $0 + 376 | 0); + HEAP32[$0 + 2376 >> 2] = 0; + HEAP32[$0 + 2372 >> 2] = 327; + $1 = HEAP32[$0 + 2376 >> 2]; + $2 = HEAP32[$0 + 2372 >> 2]; + HEAP32[$0 + 12800 >> 2] = $2; + HEAP32[$0 + 12804 >> 2] = $1; + $1 = HEAP32[$0 + 12800 >> 2]; + $2 = HEAP32[$0 + 12804 >> 2]; + HEAP32[$0 + 12828 >> 2] = $3; + HEAP32[$0 + 12824 >> 2] = 9426; + HEAP32[$0 + 12820 >> 2] = $2; + HEAP32[$0 + 12816 >> 2] = $1; + $3 = HEAP32[$0 + 12828 >> 2]; + $4 = HEAP32[$0 + 12824 >> 2]; + $1 = HEAP32[$0 + 12816 >> 2]; + HEAP32[$0 + 12812 >> 2] = HEAP32[$0 + 12820 >> 2]; + HEAP32[$0 + 12808 >> 2] = $1; + $2 = HEAP32[$0 + 12812 >> 2]; + $1 = HEAP32[$0 + 12808 >> 2]; + HEAP32[$0 + 368 >> 2] = $1; + HEAP32[$0 + 372 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20float_20_28b2RevoluteJoint____29_28_29_20const_29($4, $0 + 368 | 0); + HEAP32[$0 + 2368 >> 2] = 0; + HEAP32[$0 + 2364 >> 2] = 328; + $1 = HEAP32[$0 + 2368 >> 2]; + $2 = HEAP32[$0 + 2364 >> 2]; + HEAP32[$0 + 12768 >> 2] = $2; + HEAP32[$0 + 12772 >> 2] = $1; + $1 = HEAP32[$0 + 12768 >> 2]; + $2 = HEAP32[$0 + 12772 >> 2]; + HEAP32[$0 + 12796 >> 2] = $3; + HEAP32[$0 + 12792 >> 2] = 10289; + HEAP32[$0 + 12788 >> 2] = $2; + HEAP32[$0 + 12784 >> 2] = $1; + $3 = HEAP32[$0 + 12796 >> 2]; + $4 = HEAP32[$0 + 12792 >> 2]; + $1 = HEAP32[$0 + 12784 >> 2]; + HEAP32[$0 + 12780 >> 2] = HEAP32[$0 + 12788 >> 2]; + HEAP32[$0 + 12776 >> 2] = $1; + $2 = HEAP32[$0 + 12780 >> 2]; + $1 = HEAP32[$0 + 12776 >> 2]; + HEAP32[$0 + 360 >> 2] = $1; + HEAP32[$0 + 364 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20float_20_28b2RevoluteJoint____29_28_29_20const_29($4, $0 + 360 | 0); + HEAP32[$0 + 2360 >> 2] = 0; + HEAP32[$0 + 2356 >> 2] = 329; + $1 = HEAP32[$0 + 2360 >> 2]; + $2 = HEAP32[$0 + 2356 >> 2]; + HEAP32[$0 + 12896 >> 2] = $2; + HEAP32[$0 + 12900 >> 2] = $1; + $1 = HEAP32[$0 + 12896 >> 2]; + $2 = HEAP32[$0 + 12900 >> 2]; + HEAP32[$0 + 12924 >> 2] = $3; + HEAP32[$0 + 12920 >> 2] = 10231; + HEAP32[$0 + 12916 >> 2] = $2; + HEAP32[$0 + 12912 >> 2] = $1; + $3 = HEAP32[$0 + 12924 >> 2]; + $4 = HEAP32[$0 + 12920 >> 2]; + $1 = HEAP32[$0 + 12912 >> 2]; + HEAP32[$0 + 12908 >> 2] = HEAP32[$0 + 12916 >> 2]; + HEAP32[$0 + 12904 >> 2] = $1; + $2 = HEAP32[$0 + 12908 >> 2]; + $1 = HEAP32[$0 + 12904 >> 2]; + HEAP32[$0 + 352 >> 2] = $1; + HEAP32[$0 + 356 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20bool_20_28b2RevoluteJoint____29_28_29_20const_29($4, $0 + 352 | 0); + HEAP32[$0 + 2352 >> 2] = 0; + HEAP32[$0 + 2348 >> 2] = 330; + $1 = HEAP32[$0 + 2352 >> 2]; + $2 = HEAP32[$0 + 2348 >> 2]; + HEAP32[$0 + 12960 >> 2] = $2; + HEAP32[$0 + 12964 >> 2] = $1; + $1 = HEAP32[$0 + 12960 >> 2]; + $2 = HEAP32[$0 + 12964 >> 2]; + HEAP32[$0 + 12988 >> 2] = $3; + HEAP32[$0 + 12984 >> 2] = 2861; + HEAP32[$0 + 12980 >> 2] = $2; + HEAP32[$0 + 12976 >> 2] = $1; + $3 = HEAP32[$0 + 12988 >> 2]; + $4 = HEAP32[$0 + 12984 >> 2]; + $1 = HEAP32[$0 + 12976 >> 2]; + HEAP32[$0 + 12972 >> 2] = HEAP32[$0 + 12980 >> 2]; + HEAP32[$0 + 12968 >> 2] = $1; + $2 = HEAP32[$0 + 12972 >> 2]; + $1 = HEAP32[$0 + 12968 >> 2]; + HEAP32[$0 + 344 >> 2] = $1; + HEAP32[$0 + 348 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2RevoluteJoint____29_28bool_29___invoke_b2RevoluteJoint__28char_20const__2c_20void_20_28b2RevoluteJoint____29_28bool_29_29($4, $0 + 344 | 0); + HEAP32[$0 + 2344 >> 2] = 0; + HEAP32[$0 + 2340 >> 2] = 331; + $1 = HEAP32[$0 + 2344 >> 2]; + $2 = HEAP32[$0 + 2340 >> 2]; + HEAP32[$0 + 12736 >> 2] = $2; + HEAP32[$0 + 12740 >> 2] = $1; + $1 = HEAP32[$0 + 12736 >> 2]; + $2 = HEAP32[$0 + 12740 >> 2]; + HEAP32[$0 + 12764 >> 2] = $3; + HEAP32[$0 + 12760 >> 2] = 2821; + HEAP32[$0 + 12756 >> 2] = $2; + HEAP32[$0 + 12752 >> 2] = $1; + $3 = HEAP32[$0 + 12764 >> 2]; + $4 = HEAP32[$0 + 12760 >> 2]; + $1 = HEAP32[$0 + 12752 >> 2]; + HEAP32[$0 + 12748 >> 2] = HEAP32[$0 + 12756 >> 2]; + HEAP32[$0 + 12744 >> 2] = $1; + $2 = HEAP32[$0 + 12748 >> 2]; + $1 = HEAP32[$0 + 12744 >> 2]; + HEAP32[$0 + 336 >> 2] = $1; + HEAP32[$0 + 340 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20float_20_28b2RevoluteJoint____29_28_29_20const_29($4, $0 + 336 | 0); + HEAP32[$0 + 2336 >> 2] = 0; + HEAP32[$0 + 2332 >> 2] = 332; + $1 = HEAP32[$0 + 2336 >> 2]; + $2 = HEAP32[$0 + 2332 >> 2]; + HEAP32[$0 + 12704 >> 2] = $2; + HEAP32[$0 + 12708 >> 2] = $1; + $1 = HEAP32[$0 + 12704 >> 2]; + $2 = HEAP32[$0 + 12708 >> 2]; + HEAP32[$0 + 12732 >> 2] = $3; + HEAP32[$0 + 12728 >> 2] = 2835; + HEAP32[$0 + 12724 >> 2] = $2; + HEAP32[$0 + 12720 >> 2] = $1; + $3 = HEAP32[$0 + 12732 >> 2]; + $4 = HEAP32[$0 + 12728 >> 2]; + $1 = HEAP32[$0 + 12720 >> 2]; + HEAP32[$0 + 12716 >> 2] = HEAP32[$0 + 12724 >> 2]; + HEAP32[$0 + 12712 >> 2] = $1; + $2 = HEAP32[$0 + 12716 >> 2]; + $1 = HEAP32[$0 + 12712 >> 2]; + HEAP32[$0 + 328 >> 2] = $1; + HEAP32[$0 + 332 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20float_20_28b2RevoluteJoint____29_28_29_20const_29($4, $0 + 328 | 0); + HEAP32[$0 + 2328 >> 2] = 0; + HEAP32[$0 + 2324 >> 2] = 333; + $1 = HEAP32[$0 + 2328 >> 2]; + $2 = HEAP32[$0 + 2324 >> 2]; + HEAP32[$0 + 12992 >> 2] = $2; + HEAP32[$0 + 12996 >> 2] = $1; + $1 = HEAP32[$0 + 12992 >> 2]; + $2 = HEAP32[$0 + 12996 >> 2]; + HEAP32[$0 + 13020 >> 2] = $3; + HEAP32[$0 + 13016 >> 2] = 3355; + HEAP32[$0 + 13012 >> 2] = $2; + HEAP32[$0 + 13008 >> 2] = $1; + $3 = HEAP32[$0 + 13020 >> 2]; + $4 = HEAP32[$0 + 13016 >> 2]; + $1 = HEAP32[$0 + 13008 >> 2]; + HEAP32[$0 + 13004 >> 2] = HEAP32[$0 + 13012 >> 2]; + HEAP32[$0 + 13e3 >> 2] = $1; + $2 = HEAP32[$0 + 13004 >> 2]; + $1 = HEAP32[$0 + 13e3 >> 2]; + HEAP32[$0 + 320 >> 2] = $1; + HEAP32[$0 + 324 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2RevoluteJoint____29_28float_2c_20float_29___invoke_b2RevoluteJoint__28char_20const__2c_20void_20_28b2RevoluteJoint____29_28float_2c_20float_29_29($4, $0 + 320 | 0); + HEAP32[$0 + 2320 >> 2] = 0; + HEAP32[$0 + 2316 >> 2] = 334; + $1 = HEAP32[$0 + 2320 >> 2]; + $2 = HEAP32[$0 + 2316 >> 2]; + HEAP32[$0 + 12864 >> 2] = $2; + HEAP32[$0 + 12868 >> 2] = $1; + $1 = HEAP32[$0 + 12864 >> 2]; + $2 = HEAP32[$0 + 12868 >> 2]; + HEAP32[$0 + 12892 >> 2] = $3; + HEAP32[$0 + 12888 >> 2] = 10274; + HEAP32[$0 + 12884 >> 2] = $2; + HEAP32[$0 + 12880 >> 2] = $1; + $3 = HEAP32[$0 + 12892 >> 2]; + $4 = HEAP32[$0 + 12888 >> 2]; + $1 = HEAP32[$0 + 12880 >> 2]; + HEAP32[$0 + 12876 >> 2] = HEAP32[$0 + 12884 >> 2]; + HEAP32[$0 + 12872 >> 2] = $1; + $2 = HEAP32[$0 + 12876 >> 2]; + $1 = HEAP32[$0 + 12872 >> 2]; + HEAP32[$0 + 312 >> 2] = $1; + HEAP32[$0 + 316 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20bool_20_28b2RevoluteJoint____29_28_29_20const_29($4, $0 + 312 | 0); + HEAP32[$0 + 2312 >> 2] = 0; + HEAP32[$0 + 2308 >> 2] = 335; + $1 = HEAP32[$0 + 2312 >> 2]; + $2 = HEAP32[$0 + 2308 >> 2]; + HEAP32[$0 + 12928 >> 2] = $2; + HEAP32[$0 + 12932 >> 2] = $1; + $1 = HEAP32[$0 + 12928 >> 2]; + $2 = HEAP32[$0 + 12932 >> 2]; + HEAP32[$0 + 12956 >> 2] = $3; + HEAP32[$0 + 12952 >> 2] = 3652; + HEAP32[$0 + 12948 >> 2] = $2; + HEAP32[$0 + 12944 >> 2] = $1; + $3 = HEAP32[$0 + 12956 >> 2]; + $4 = HEAP32[$0 + 12952 >> 2]; + $1 = HEAP32[$0 + 12944 >> 2]; + HEAP32[$0 + 12940 >> 2] = HEAP32[$0 + 12948 >> 2]; + HEAP32[$0 + 12936 >> 2] = $1; + $2 = HEAP32[$0 + 12940 >> 2]; + $1 = HEAP32[$0 + 12936 >> 2]; + HEAP32[$0 + 304 >> 2] = $1; + HEAP32[$0 + 308 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2RevoluteJoint____29_28bool_29___invoke_b2RevoluteJoint__28char_20const__2c_20void_20_28b2RevoluteJoint____29_28bool_29_29($4, $0 + 304 | 0); + HEAP32[$0 + 2304 >> 2] = 0; + HEAP32[$0 + 2300 >> 2] = 336; + $1 = HEAP32[$0 + 2304 >> 2]; + $2 = HEAP32[$0 + 2300 >> 2]; + HEAP32[$0 + 13056 >> 2] = $2; + HEAP32[$0 + 13060 >> 2] = $1; + $1 = HEAP32[$0 + 13056 >> 2]; + $2 = HEAP32[$0 + 13060 >> 2]; + HEAP32[$0 + 13084 >> 2] = $3; + HEAP32[$0 + 13080 >> 2] = 10360; + HEAP32[$0 + 13076 >> 2] = $2; + HEAP32[$0 + 13072 >> 2] = $1; + $3 = HEAP32[$0 + 13084 >> 2]; + $4 = HEAP32[$0 + 13080 >> 2]; + $1 = HEAP32[$0 + 13072 >> 2]; + HEAP32[$0 + 13068 >> 2] = HEAP32[$0 + 13076 >> 2]; + HEAP32[$0 + 13064 >> 2] = $1; + $2 = HEAP32[$0 + 13068 >> 2]; + $1 = HEAP32[$0 + 13064 >> 2]; + HEAP32[$0 + 296 >> 2] = $1; + HEAP32[$0 + 300 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2RevoluteJoint____29_28float_29___invoke_b2RevoluteJoint__28char_20const__2c_20void_20_28b2RevoluteJoint____29_28float_29_29($4, $0 + 296 | 0); + HEAP32[$0 + 2296 >> 2] = 0; + HEAP32[$0 + 2292 >> 2] = 337; + $1 = HEAP32[$0 + 2296 >> 2]; + $2 = HEAP32[$0 + 2292 >> 2]; + HEAP32[$0 + 12672 >> 2] = $2; + HEAP32[$0 + 12676 >> 2] = $1; + $1 = HEAP32[$0 + 12672 >> 2]; + $2 = HEAP32[$0 + 12676 >> 2]; + HEAP32[$0 + 12700 >> 2] = $3; + HEAP32[$0 + 12696 >> 2] = 10374; + HEAP32[$0 + 12692 >> 2] = $2; + HEAP32[$0 + 12688 >> 2] = $1; + $3 = HEAP32[$0 + 12700 >> 2]; + $4 = HEAP32[$0 + 12696 >> 2]; + $1 = HEAP32[$0 + 12688 >> 2]; + HEAP32[$0 + 12684 >> 2] = HEAP32[$0 + 12692 >> 2]; + HEAP32[$0 + 12680 >> 2] = $1; + $2 = HEAP32[$0 + 12684 >> 2]; + $1 = HEAP32[$0 + 12680 >> 2]; + HEAP32[$0 + 288 >> 2] = $1; + HEAP32[$0 + 292 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20float_20_28b2RevoluteJoint____29_28_29_20const_29($4, $0 + 288 | 0); + HEAP32[$0 + 2288 >> 2] = 0; + HEAP32[$0 + 2284 >> 2] = 338; + $1 = HEAP32[$0 + 2288 >> 2]; + $2 = HEAP32[$0 + 2284 >> 2]; + HEAP32[$0 + 13024 >> 2] = $2; + HEAP32[$0 + 13028 >> 2] = $1; + $1 = HEAP32[$0 + 13024 >> 2]; + $2 = HEAP32[$0 + 13028 >> 2]; + HEAP32[$0 + 13052 >> 2] = $3; + HEAP32[$0 + 13048 >> 2] = 8806; + HEAP32[$0 + 13044 >> 2] = $2; + HEAP32[$0 + 13040 >> 2] = $1; + $3 = HEAP32[$0 + 13052 >> 2]; + $4 = HEAP32[$0 + 13048 >> 2]; + $1 = HEAP32[$0 + 13040 >> 2]; + HEAP32[$0 + 13036 >> 2] = HEAP32[$0 + 13044 >> 2]; + HEAP32[$0 + 13032 >> 2] = $1; + $2 = HEAP32[$0 + 13036 >> 2]; + $1 = HEAP32[$0 + 13032 >> 2]; + HEAP32[$0 + 280 >> 2] = $1; + HEAP32[$0 + 284 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2RevoluteJoint____29_28float_29___invoke_b2RevoluteJoint__28char_20const__2c_20void_20_28b2RevoluteJoint____29_28float_29_29($4, $0 + 280 | 0); + HEAP32[$0 + 2280 >> 2] = 0; + HEAP32[$0 + 2276 >> 2] = 339; + $1 = HEAP32[$0 + 2280 >> 2]; + $2 = HEAP32[$0 + 2276 >> 2]; + HEAP32[$0 + 12640 >> 2] = $2; + HEAP32[$0 + 12644 >> 2] = $1; + $1 = HEAP32[$0 + 12640 >> 2]; + $2 = HEAP32[$0 + 12644 >> 2]; + HEAP32[$0 + 12668 >> 2] = $3; + HEAP32[$0 + 12664 >> 2] = 8824; + HEAP32[$0 + 12660 >> 2] = $2; + HEAP32[$0 + 12656 >> 2] = $1; + $3 = HEAP32[$0 + 12668 >> 2]; + $4 = HEAP32[$0 + 12664 >> 2]; + $1 = HEAP32[$0 + 12656 >> 2]; + HEAP32[$0 + 12652 >> 2] = HEAP32[$0 + 12660 >> 2]; + HEAP32[$0 + 12648 >> 2] = $1; + $2 = HEAP32[$0 + 12652 >> 2]; + $1 = HEAP32[$0 + 12648 >> 2]; + HEAP32[$0 + 272 >> 2] = $1; + HEAP32[$0 + 276 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20float_20_28b2RevoluteJoint____29_28_29_20const_29($4, $0 + 272 | 0); + HEAP32[$0 + 2272 >> 2] = 0; + HEAP32[$0 + 2268 >> 2] = 340; + $1 = HEAP32[$0 + 2272 >> 2]; + $2 = HEAP32[$0 + 2268 >> 2]; + HEAP32[$0 + 13088 >> 2] = $2; + HEAP32[$0 + 13092 >> 2] = $1; + $1 = HEAP32[$0 + 13088 >> 2]; + $2 = HEAP32[$0 + 13092 >> 2]; + HEAP32[$0 + 13116 >> 2] = $3; + HEAP32[$0 + 13112 >> 2] = 8842; + HEAP32[$0 + 13108 >> 2] = $2; + HEAP32[$0 + 13104 >> 2] = $1; + $3 = HEAP32[$0 + 13116 >> 2]; + $4 = HEAP32[$0 + 13112 >> 2]; + $1 = HEAP32[$0 + 13104 >> 2]; + HEAP32[$0 + 13100 >> 2] = HEAP32[$0 + 13108 >> 2]; + HEAP32[$0 + 13096 >> 2] = $1; + $2 = HEAP32[$0 + 13100 >> 2]; + $1 = HEAP32[$0 + 13096 >> 2]; + HEAP32[$0 + 264 >> 2] = $1; + HEAP32[$0 + 268 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RevoluteJoint____29_28float_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20float_20_28b2RevoluteJoint____29_28float_29_20const_29($4, $0 + 264 | 0); + HEAP32[$0 + 2264 >> 2] = 1; + HEAP32[$0 + 2260 >> 2] = 16; + $1 = HEAP32[$0 + 2264 >> 2]; + $2 = HEAP32[$0 + 2260 >> 2]; + HEAP32[$0 + 13120 >> 2] = $2; + HEAP32[$0 + 13124 >> 2] = $1; + $1 = HEAP32[$0 + 13120 >> 2]; + $2 = HEAP32[$0 + 13124 >> 2]; + HEAP32[$0 + 13148 >> 2] = $3; + HEAP32[$0 + 13144 >> 2] = 6232; + HEAP32[$0 + 13140 >> 2] = $2; + HEAP32[$0 + 13136 >> 2] = $1; + $3 = HEAP32[$0 + 13144 >> 2]; + $1 = HEAP32[$0 + 13136 >> 2]; + HEAP32[$0 + 13132 >> 2] = HEAP32[$0 + 13140 >> 2]; + HEAP32[$0 + 13128 >> 2] = $1; + $2 = HEAP32[$0 + 13132 >> 2]; + $1 = HEAP32[$0 + 13128 >> 2]; + HEAP32[$0 + 256 >> 2] = $1; + HEAP32[$0 + 260 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2RevoluteJoint____29_28_29___invoke_b2RevoluteJoint__28char_20const__2c_20void_20_28b2RevoluteJoint____29_28_29_29($3, $0 + 256 | 0); + HEAP32[$0 + 13172 >> 2] = $0 + 2259; + HEAP32[$0 + 13168 >> 2] = 7946; + void_20emscripten__base_b2JointDef___verify_b2RopeJointDef__28_29(); + HEAP32[$0 + 13164 >> 2] = 341; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2RopeJointDef__28_29_29_28b2RopeJointDef__29(), + HEAP32[wasm2js_i32$0 + 13160 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2RopeJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2RopeJointDef__28_29_29_28b2JointDef__29(), + HEAP32[wasm2js_i32$0 + 13156 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 13152 >> 2] = 342; + $1 = emscripten__internal__TypeID_b2RopeJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RopeJointDef__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RopeJointDef_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2JointDef___get_28_29(); + HEAP32[$0 + 16080 >> 2] = HEAP32[$0 + 13164 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13164 >> 2]; + HEAP32[$0 + 16084 >> 2] = HEAP32[$0 + 13160 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 13160 >> 2]; + HEAP32[$0 + 16088 >> 2] = HEAP32[$0 + 13156 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 13156 >> 2]; + $11 = HEAP32[$0 + 13168 >> 2]; + HEAP32[$0 + 16092 >> 2] = HEAP32[$0 + 13152 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 13152 >> 2]); + HEAP32[$0 + 13176 >> 2] = $0 + 2259; + HEAP32[$0 + 16100 >> 2] = HEAP32[$0 + 13176 >> 2]; + HEAP32[$0 + 16096 >> 2] = 343; + $1 = HEAP32[$0 + 16100 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2RopeJointDef__20_28__29_28_29___invoke_b2RopeJointDef__28b2RopeJointDef__20_28__29_28_29_29(HEAP32[$0 + 16096 >> 2]); + HEAP32[$0 + 13216 >> 2] = $1; + HEAP32[$0 + 13212 >> 2] = 11158; + HEAP32[$0 + 13208 >> 2] = 20; + $1 = HEAP32[$0 + 13216 >> 2]; + HEAP32[$0 + 13204 >> 2] = 344; + HEAP32[$0 + 13200 >> 2] = 345; + $2 = emscripten__internal__TypeID_b2RopeJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 13212 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16104 >> 2] = HEAP32[$0 + 13204 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13204 >> 2]; + $7 = b2Vec2_20b2RopeJointDef_____20emscripten__internal__getContext_b2Vec2_20b2RopeJointDef_____28b2Vec2_20b2RopeJointDef____20const__29($0 + 13208 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16112 >> 2] = HEAP32[$0 + 13200 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 13200 >> 2], b2Vec2_20b2RopeJointDef_____20emscripten__internal__getContext_b2Vec2_20b2RopeJointDef_____28b2Vec2_20b2RopeJointDef____20const__29($0 + 13208 | 0) | 0); + HEAP32[$0 + 13196 >> 2] = $1; + HEAP32[$0 + 13192 >> 2] = 11015; + HEAP32[$0 + 13188 >> 2] = 28; + $1 = HEAP32[$0 + 13196 >> 2]; + HEAP32[$0 + 13184 >> 2] = 344; + HEAP32[$0 + 13180 >> 2] = 345; + $2 = emscripten__internal__TypeID_b2RopeJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 13192 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16108 >> 2] = HEAP32[$0 + 13184 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13184 >> 2]; + $7 = b2Vec2_20b2RopeJointDef_____20emscripten__internal__getContext_b2Vec2_20b2RopeJointDef_____28b2Vec2_20b2RopeJointDef____20const__29($0 + 13188 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16116 >> 2] = HEAP32[$0 + 13180 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 13180 >> 2], b2Vec2_20b2RopeJointDef_____20emscripten__internal__getContext_b2Vec2_20b2RopeJointDef_____28b2Vec2_20b2RopeJointDef____20const__29($0 + 13188 | 0) | 0); + HEAP32[$0 + 13236 >> 2] = $1; + HEAP32[$0 + 13232 >> 2] = 7054; + HEAP32[$0 + 13228 >> 2] = 36; + HEAP32[$0 + 13224 >> 2] = 346; + HEAP32[$0 + 13220 >> 2] = 347; + $1 = emscripten__internal__TypeID_b2RopeJointDef_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 13232 >> 2]; + $3 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16120 >> 2] = HEAP32[$0 + 13224 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 13224 >> 2]; + $6 = float_20b2RopeJointDef_____20emscripten__internal__getContext_float_20b2RopeJointDef_____28float_20b2RopeJointDef____20const__29($0 + 13228 | 0); + $7 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16124 >> 2] = HEAP32[$0 + 13220 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 13220 >> 2], float_20b2RopeJointDef_____20emscripten__internal__getContext_float_20b2RopeJointDef_____28float_20b2RopeJointDef____20const__29($0 + 13228 | 0) | 0); + HEAP32[$0 + 13260 >> 2] = $0 + 2258; + HEAP32[$0 + 13256 >> 2] = 2611; + void_20emscripten__base_b2Joint___verify_b2RopeJoint__28_29(); + HEAP32[$0 + 13252 >> 2] = 348; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2RopeJoint__28_29_29_28b2RopeJoint__29(), + HEAP32[wasm2js_i32$0 + 13248 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2RopeJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2RopeJoint__28_29_29_28b2Joint__29(), + HEAP32[wasm2js_i32$0 + 13244 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 13240 >> 2] = 349; + $1 = emscripten__internal__TypeID_b2RopeJoint_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RopeJoint__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2Joint___get_28_29(); + HEAP32[$0 + 16128 >> 2] = HEAP32[$0 + 13252 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13252 >> 2]; + HEAP32[$0 + 16132 >> 2] = HEAP32[$0 + 13248 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 13248 >> 2]; + HEAP32[$0 + 16136 >> 2] = HEAP32[$0 + 13244 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 13244 >> 2]; + $11 = HEAP32[$0 + 13256 >> 2]; + HEAP32[$0 + 16140 >> 2] = HEAP32[$0 + 13240 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 13240 >> 2]); + HEAP32[$0 + 2252 >> 2] = 0; + HEAP32[$0 + 2248 >> 2] = 350; + $1 = HEAP32[$0 + 2252 >> 2]; + $2 = HEAP32[$0 + 2248 >> 2]; + HEAP32[$0 + 13296 >> 2] = $2; + HEAP32[$0 + 13300 >> 2] = $1; + $1 = HEAP32[$0 + 13296 >> 2]; + $2 = HEAP32[$0 + 13300 >> 2]; + HEAP32[$0 + 13324 >> 2] = $0 + 2258; + HEAP32[$0 + 13320 >> 2] = 11171; + HEAP32[$0 + 13316 >> 2] = $2; + HEAP32[$0 + 13312 >> 2] = $1; + $3 = HEAP32[$0 + 13324 >> 2]; + $4 = HEAP32[$0 + 13320 >> 2]; + $1 = HEAP32[$0 + 13312 >> 2]; + HEAP32[$0 + 13308 >> 2] = HEAP32[$0 + 13316 >> 2]; + HEAP32[$0 + 13304 >> 2] = $1; + $2 = HEAP32[$0 + 13308 >> 2]; + $1 = HEAP32[$0 + 13304 >> 2]; + HEAP32[$0 + 248 >> 2] = $1; + HEAP32[$0 + 252 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2RopeJoint____29_28_29_20const___invoke_b2RopeJoint__28char_20const__2c_20b2Vec2_20const__20_28b2RopeJoint____29_28_29_20const_29($4, $0 + 248 | 0); + HEAP32[$0 + 2244 >> 2] = 0; + HEAP32[$0 + 2240 >> 2] = 351; + $1 = HEAP32[$0 + 2244 >> 2]; + $2 = HEAP32[$0 + 2240 >> 2]; + HEAP32[$0 + 13264 >> 2] = $2; + HEAP32[$0 + 13268 >> 2] = $1; + $1 = HEAP32[$0 + 13264 >> 2]; + $2 = HEAP32[$0 + 13268 >> 2]; + HEAP32[$0 + 13292 >> 2] = $3; + HEAP32[$0 + 13288 >> 2] = 11028; + HEAP32[$0 + 13284 >> 2] = $2; + HEAP32[$0 + 13280 >> 2] = $1; + $3 = HEAP32[$0 + 13292 >> 2]; + $4 = HEAP32[$0 + 13288 >> 2]; + $1 = HEAP32[$0 + 13280 >> 2]; + HEAP32[$0 + 13276 >> 2] = HEAP32[$0 + 13284 >> 2]; + HEAP32[$0 + 13272 >> 2] = $1; + $2 = HEAP32[$0 + 13276 >> 2]; + $1 = HEAP32[$0 + 13272 >> 2]; + HEAP32[$0 + 240 >> 2] = $1; + HEAP32[$0 + 244 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2RopeJoint____29_28_29_20const___invoke_b2RopeJoint__28char_20const__2c_20b2Vec2_20const__20_28b2RopeJoint____29_28_29_20const_29($4, $0 + 240 | 0); + HEAP32[$0 + 2236 >> 2] = 1; + HEAP32[$0 + 2232 >> 2] = 8; + $1 = HEAP32[$0 + 2236 >> 2]; + $2 = HEAP32[$0 + 2232 >> 2]; + HEAP32[$0 + 13328 >> 2] = $2; + HEAP32[$0 + 13332 >> 2] = $1; + $1 = HEAP32[$0 + 13328 >> 2]; + $2 = HEAP32[$0 + 13332 >> 2]; + HEAP32[$0 + 13356 >> 2] = $3; + HEAP32[$0 + 13352 >> 2] = 9958; + HEAP32[$0 + 13348 >> 2] = $2; + HEAP32[$0 + 13344 >> 2] = $1; + $3 = HEAP32[$0 + 13356 >> 2]; + $4 = HEAP32[$0 + 13352 >> 2]; + $1 = HEAP32[$0 + 13344 >> 2]; + HEAP32[$0 + 13340 >> 2] = HEAP32[$0 + 13348 >> 2]; + HEAP32[$0 + 13336 >> 2] = $1; + $2 = HEAP32[$0 + 13340 >> 2]; + $1 = HEAP32[$0 + 13336 >> 2]; + HEAP32[$0 + 232 >> 2] = $1; + HEAP32[$0 + 236 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2RopeJoint____29_28float_29_20const___invoke_b2RopeJoint__28char_20const__2c_20b2Vec2_20_28b2RopeJoint____29_28float_29_20const_29($4, $0 + 232 | 0); + HEAP32[$0 + 2228 >> 2] = 1; + HEAP32[$0 + 2224 >> 2] = 12; + $1 = HEAP32[$0 + 2228 >> 2]; + $2 = HEAP32[$0 + 2224 >> 2]; + HEAP32[$0 + 13360 >> 2] = $2; + HEAP32[$0 + 13364 >> 2] = $1; + $1 = HEAP32[$0 + 13360 >> 2]; + $2 = HEAP32[$0 + 13364 >> 2]; + HEAP32[$0 + 13388 >> 2] = $3; + HEAP32[$0 + 13384 >> 2] = 8857; + HEAP32[$0 + 13380 >> 2] = $2; + HEAP32[$0 + 13376 >> 2] = $1; + $3 = HEAP32[$0 + 13388 >> 2]; + $4 = HEAP32[$0 + 13384 >> 2]; + $1 = HEAP32[$0 + 13376 >> 2]; + HEAP32[$0 + 13372 >> 2] = HEAP32[$0 + 13380 >> 2]; + HEAP32[$0 + 13368 >> 2] = $1; + $2 = HEAP32[$0 + 13372 >> 2]; + $1 = HEAP32[$0 + 13368 >> 2]; + HEAP32[$0 + 224 >> 2] = $1; + HEAP32[$0 + 228 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RopeJoint____29_28float_29_20const___invoke_b2RopeJoint__28char_20const__2c_20float_20_28b2RopeJoint____29_28float_29_20const_29($4, $0 + 224 | 0); + HEAP32[$0 + 2220 >> 2] = 0; + HEAP32[$0 + 2216 >> 2] = 352; + $1 = HEAP32[$0 + 2220 >> 2]; + $2 = HEAP32[$0 + 2216 >> 2]; + HEAP32[$0 + 13392 >> 2] = $2; + HEAP32[$0 + 13396 >> 2] = $1; + $1 = HEAP32[$0 + 13392 >> 2]; + $2 = HEAP32[$0 + 13396 >> 2]; + HEAP32[$0 + 13420 >> 2] = $3; + HEAP32[$0 + 13416 >> 2] = 7064; + HEAP32[$0 + 13412 >> 2] = $2; + HEAP32[$0 + 13408 >> 2] = $1; + $3 = HEAP32[$0 + 13420 >> 2]; + $4 = HEAP32[$0 + 13416 >> 2]; + $1 = HEAP32[$0 + 13408 >> 2]; + HEAP32[$0 + 13404 >> 2] = HEAP32[$0 + 13412 >> 2]; + HEAP32[$0 + 13400 >> 2] = $1; + $2 = HEAP32[$0 + 13404 >> 2]; + $1 = HEAP32[$0 + 13400 >> 2]; + HEAP32[$0 + 216 >> 2] = $1; + HEAP32[$0 + 220 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2RopeJoint____29_28float_29___invoke_b2RopeJoint__28char_20const__2c_20void_20_28b2RopeJoint____29_28float_29_29($4, $0 + 216 | 0); + HEAP32[$0 + 2212 >> 2] = 0; + HEAP32[$0 + 2208 >> 2] = 353; + $1 = HEAP32[$0 + 2212 >> 2]; + $2 = HEAP32[$0 + 2208 >> 2]; + HEAP32[$0 + 13456 >> 2] = $2; + HEAP32[$0 + 13460 >> 2] = $1; + $1 = HEAP32[$0 + 13456 >> 2]; + $2 = HEAP32[$0 + 13460 >> 2]; + HEAP32[$0 + 13484 >> 2] = $3; + HEAP32[$0 + 13480 >> 2] = 7077; + HEAP32[$0 + 13476 >> 2] = $2; + HEAP32[$0 + 13472 >> 2] = $1; + $3 = HEAP32[$0 + 13484 >> 2]; + $4 = HEAP32[$0 + 13480 >> 2]; + $1 = HEAP32[$0 + 13472 >> 2]; + HEAP32[$0 + 13468 >> 2] = HEAP32[$0 + 13476 >> 2]; + HEAP32[$0 + 13464 >> 2] = $1; + $2 = HEAP32[$0 + 13468 >> 2]; + $1 = HEAP32[$0 + 13464 >> 2]; + HEAP32[$0 + 208 >> 2] = $1; + HEAP32[$0 + 212 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RopeJoint____29_28_29_20const___invoke_b2RopeJoint__28char_20const__2c_20float_20_28b2RopeJoint____29_28_29_20const_29($4, $0 + 208 | 0); + HEAP32[$0 + 2204 >> 2] = 0; + HEAP32[$0 + 2200 >> 2] = 354; + $1 = HEAP32[$0 + 2204 >> 2]; + $2 = HEAP32[$0 + 2200 >> 2]; + HEAP32[$0 + 13424 >> 2] = $2; + HEAP32[$0 + 13428 >> 2] = $1; + $1 = HEAP32[$0 + 13424 >> 2]; + $2 = HEAP32[$0 + 13428 >> 2]; + HEAP32[$0 + 13452 >> 2] = $3; + HEAP32[$0 + 13448 >> 2] = 7100; + HEAP32[$0 + 13444 >> 2] = $2; + HEAP32[$0 + 13440 >> 2] = $1; + $3 = HEAP32[$0 + 13452 >> 2]; + $4 = HEAP32[$0 + 13448 >> 2]; + $1 = HEAP32[$0 + 13440 >> 2]; + HEAP32[$0 + 13436 >> 2] = HEAP32[$0 + 13444 >> 2]; + HEAP32[$0 + 13432 >> 2] = $1; + $2 = HEAP32[$0 + 13436 >> 2]; + $1 = HEAP32[$0 + 13432 >> 2]; + HEAP32[$0 + 200 >> 2] = $1; + HEAP32[$0 + 204 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2RopeJoint____29_28_29_20const___invoke_b2RopeJoint__28char_20const__2c_20float_20_28b2RopeJoint____29_28_29_20const_29($4, $0 + 200 | 0); + HEAP32[$0 + 2196 >> 2] = 1; + HEAP32[$0 + 2192 >> 2] = 16; + $1 = HEAP32[$0 + 2196 >> 2]; + $2 = HEAP32[$0 + 2192 >> 2]; + HEAP32[$0 + 13488 >> 2] = $2; + HEAP32[$0 + 13492 >> 2] = $1; + $1 = HEAP32[$0 + 13488 >> 2]; + $2 = HEAP32[$0 + 13492 >> 2]; + HEAP32[$0 + 13516 >> 2] = $3; + HEAP32[$0 + 13512 >> 2] = 6232; + HEAP32[$0 + 13508 >> 2] = $2; + HEAP32[$0 + 13504 >> 2] = $1; + $3 = HEAP32[$0 + 13512 >> 2]; + $1 = HEAP32[$0 + 13504 >> 2]; + HEAP32[$0 + 13500 >> 2] = HEAP32[$0 + 13508 >> 2]; + HEAP32[$0 + 13496 >> 2] = $1; + $2 = HEAP32[$0 + 13500 >> 2]; + $1 = HEAP32[$0 + 13496 >> 2]; + HEAP32[$0 + 192 >> 2] = $1; + HEAP32[$0 + 196 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2RopeJoint____29_28_29___invoke_b2RopeJoint__28char_20const__2c_20void_20_28b2RopeJoint____29_28_29_29($3, $0 + 192 | 0); + HEAP32[$0 + 13540 >> 2] = $0 + 2191; + HEAP32[$0 + 13536 >> 2] = 7976; + void_20emscripten__base_b2JointDef___verify_b2WeldJointDef__28_29(); + HEAP32[$0 + 13532 >> 2] = 355; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2WeldJointDef__28_29_29_28b2WeldJointDef__29(), + HEAP32[wasm2js_i32$0 + 13528 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2WeldJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2WeldJointDef__28_29_29_28b2JointDef__29(), + HEAP32[wasm2js_i32$0 + 13524 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 13520 >> 2] = 356; + $1 = emscripten__internal__TypeID_b2WeldJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WeldJointDef__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WeldJointDef_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2JointDef___get_28_29(); + HEAP32[$0 + 16144 >> 2] = HEAP32[$0 + 13532 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13532 >> 2]; + HEAP32[$0 + 16148 >> 2] = HEAP32[$0 + 13528 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 13528 >> 2]; + HEAP32[$0 + 16152 >> 2] = HEAP32[$0 + 13524 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 13524 >> 2]; + $11 = HEAP32[$0 + 13536 >> 2]; + HEAP32[$0 + 16156 >> 2] = HEAP32[$0 + 13520 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 13520 >> 2]); + HEAP32[$0 + 13544 >> 2] = $0 + 2191; + HEAP32[$0 + 16164 >> 2] = HEAP32[$0 + 13544 >> 2]; + HEAP32[$0 + 16160 >> 2] = 357; + $1 = HEAP32[$0 + 16164 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2WeldJointDef__20_28__29_28_29___invoke_b2WeldJointDef__28b2WeldJointDef__20_28__29_28_29_29(HEAP32[$0 + 16160 >> 2]); + HEAP32[$0 + 13584 >> 2] = $1; + HEAP32[$0 + 13580 >> 2] = 11158; + HEAP32[$0 + 13576 >> 2] = 20; + $1 = HEAP32[$0 + 13584 >> 2]; + HEAP32[$0 + 13572 >> 2] = 358; + HEAP32[$0 + 13568 >> 2] = 359; + $2 = emscripten__internal__TypeID_b2WeldJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 13580 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16168 >> 2] = HEAP32[$0 + 13572 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13572 >> 2]; + $7 = b2Vec2_20b2WeldJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WeldJointDef_____28b2Vec2_20b2WeldJointDef____20const__29($0 + 13576 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16176 >> 2] = HEAP32[$0 + 13568 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 13568 >> 2], b2Vec2_20b2WeldJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WeldJointDef_____28b2Vec2_20b2WeldJointDef____20const__29($0 + 13576 | 0) | 0); + HEAP32[$0 + 13564 >> 2] = $1; + HEAP32[$0 + 13560 >> 2] = 11015; + HEAP32[$0 + 13556 >> 2] = 28; + $1 = HEAP32[$0 + 13564 >> 2]; + HEAP32[$0 + 13552 >> 2] = 358; + HEAP32[$0 + 13548 >> 2] = 359; + $2 = emscripten__internal__TypeID_b2WeldJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 13560 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16172 >> 2] = HEAP32[$0 + 13552 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13552 >> 2]; + $7 = b2Vec2_20b2WeldJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WeldJointDef_____28b2Vec2_20b2WeldJointDef____20const__29($0 + 13556 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16180 >> 2] = HEAP32[$0 + 13548 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 13548 >> 2], b2Vec2_20b2WeldJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WeldJointDef_____28b2Vec2_20b2WeldJointDef____20const__29($0 + 13556 | 0) | 0); + HEAP32[$0 + 13644 >> 2] = $1; + HEAP32[$0 + 13640 >> 2] = 9471; + HEAP32[$0 + 13636 >> 2] = 36; + $1 = HEAP32[$0 + 13644 >> 2]; + HEAP32[$0 + 13632 >> 2] = 360; + HEAP32[$0 + 13628 >> 2] = 361; + $2 = emscripten__internal__TypeID_b2WeldJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 13640 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16184 >> 2] = HEAP32[$0 + 13632 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13632 >> 2]; + $7 = float_20b2WeldJointDef_____20emscripten__internal__getContext_float_20b2WeldJointDef_____28float_20b2WeldJointDef____20const__29($0 + 13636 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16196 >> 2] = HEAP32[$0 + 13628 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 13628 >> 2], float_20b2WeldJointDef_____20emscripten__internal__getContext_float_20b2WeldJointDef_____28float_20b2WeldJointDef____20const__29($0 + 13636 | 0) | 0); + HEAP32[$0 + 13624 >> 2] = $1; + HEAP32[$0 + 13620 >> 2] = 3387; + HEAP32[$0 + 13616 >> 2] = 40; + $1 = HEAP32[$0 + 13624 >> 2]; + HEAP32[$0 + 13612 >> 2] = 360; + HEAP32[$0 + 13608 >> 2] = 361; + $2 = emscripten__internal__TypeID_b2WeldJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 13620 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16188 >> 2] = HEAP32[$0 + 13612 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13612 >> 2]; + $7 = float_20b2WeldJointDef_____20emscripten__internal__getContext_float_20b2WeldJointDef_____28float_20b2WeldJointDef____20const__29($0 + 13616 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16200 >> 2] = HEAP32[$0 + 13608 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 13608 >> 2], float_20b2WeldJointDef_____20emscripten__internal__getContext_float_20b2WeldJointDef_____28float_20b2WeldJointDef____20const__29($0 + 13616 | 0) | 0); + HEAP32[$0 + 13604 >> 2] = $1; + HEAP32[$0 + 13600 >> 2] = 7694; + HEAP32[$0 + 13596 >> 2] = 44; + HEAP32[$0 + 13592 >> 2] = 360; + HEAP32[$0 + 13588 >> 2] = 361; + $1 = emscripten__internal__TypeID_b2WeldJointDef_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 13600 >> 2]; + $3 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16192 >> 2] = HEAP32[$0 + 13592 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 13592 >> 2]; + $6 = float_20b2WeldJointDef_____20emscripten__internal__getContext_float_20b2WeldJointDef_____28float_20b2WeldJointDef____20const__29($0 + 13596 | 0); + $7 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16204 >> 2] = HEAP32[$0 + 13588 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 13588 >> 2], float_20b2WeldJointDef_____20emscripten__internal__getContext_float_20b2WeldJointDef_____28float_20b2WeldJointDef____20const__29($0 + 13596 | 0) | 0); + HEAP32[$0 + 13668 >> 2] = $0 + 2190; + HEAP32[$0 + 13664 >> 2] = 2635; + void_20emscripten__base_b2Joint___verify_b2WeldJoint__28_29(); + HEAP32[$0 + 13660 >> 2] = 362; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2WeldJoint__28_29_29_28b2WeldJoint__29(), + HEAP32[wasm2js_i32$0 + 13656 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2WeldJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2WeldJoint__28_29_29_28b2Joint__29(), + HEAP32[wasm2js_i32$0 + 13652 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 13648 >> 2] = 363; + $1 = emscripten__internal__TypeID_b2WeldJoint_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WeldJoint__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WeldJoint_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2Joint___get_28_29(); + HEAP32[$0 + 16208 >> 2] = HEAP32[$0 + 13660 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13660 >> 2]; + HEAP32[$0 + 16212 >> 2] = HEAP32[$0 + 13656 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 13656 >> 2]; + HEAP32[$0 + 16216 >> 2] = HEAP32[$0 + 13652 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 13652 >> 2]; + $11 = HEAP32[$0 + 13664 >> 2]; + HEAP32[$0 + 16220 >> 2] = HEAP32[$0 + 13648 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 13648 >> 2]); + HEAP32[$0 + 2184 >> 2] = 0; + HEAP32[$0 + 2180 >> 2] = 364; + $1 = HEAP32[$0 + 2184 >> 2]; + $2 = HEAP32[$0 + 2180 >> 2]; + HEAP32[$0 + 13704 >> 2] = $2; + HEAP32[$0 + 13708 >> 2] = $1; + $1 = HEAP32[$0 + 13704 >> 2]; + $2 = HEAP32[$0 + 13708 >> 2]; + HEAP32[$0 + 13732 >> 2] = $0 + 2190; + HEAP32[$0 + 13728 >> 2] = 11171; + HEAP32[$0 + 13724 >> 2] = $2; + HEAP32[$0 + 13720 >> 2] = $1; + $3 = HEAP32[$0 + 13732 >> 2]; + $4 = HEAP32[$0 + 13728 >> 2]; + $1 = HEAP32[$0 + 13720 >> 2]; + HEAP32[$0 + 13716 >> 2] = HEAP32[$0 + 13724 >> 2]; + HEAP32[$0 + 13712 >> 2] = $1; + $2 = HEAP32[$0 + 13716 >> 2]; + $1 = HEAP32[$0 + 13712 >> 2]; + HEAP32[$0 + 184 >> 2] = $1; + HEAP32[$0 + 188 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2WeldJoint____29_28_29_20const___invoke_b2WeldJoint__28char_20const__2c_20b2Vec2_20const__20_28b2WeldJoint____29_28_29_20const_29($4, $0 + 184 | 0); + HEAP32[$0 + 2176 >> 2] = 0; + HEAP32[$0 + 2172 >> 2] = 365; + $1 = HEAP32[$0 + 2176 >> 2]; + $2 = HEAP32[$0 + 2172 >> 2]; + HEAP32[$0 + 13672 >> 2] = $2; + HEAP32[$0 + 13676 >> 2] = $1; + $1 = HEAP32[$0 + 13672 >> 2]; + $2 = HEAP32[$0 + 13676 >> 2]; + HEAP32[$0 + 13700 >> 2] = $3; + HEAP32[$0 + 13696 >> 2] = 11028; + HEAP32[$0 + 13692 >> 2] = $2; + HEAP32[$0 + 13688 >> 2] = $1; + $3 = HEAP32[$0 + 13700 >> 2]; + $4 = HEAP32[$0 + 13696 >> 2]; + $1 = HEAP32[$0 + 13688 >> 2]; + HEAP32[$0 + 13684 >> 2] = HEAP32[$0 + 13692 >> 2]; + HEAP32[$0 + 13680 >> 2] = $1; + $2 = HEAP32[$0 + 13684 >> 2]; + $1 = HEAP32[$0 + 13680 >> 2]; + HEAP32[$0 + 176 >> 2] = $1; + HEAP32[$0 + 180 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2WeldJoint____29_28_29_20const___invoke_b2WeldJoint__28char_20const__2c_20b2Vec2_20const__20_28b2WeldJoint____29_28_29_20const_29($4, $0 + 176 | 0); + HEAP32[$0 + 2168 >> 2] = 0; + HEAP32[$0 + 2164 >> 2] = 366; + $1 = HEAP32[$0 + 2168 >> 2]; + $2 = HEAP32[$0 + 2164 >> 2]; + HEAP32[$0 + 13800 >> 2] = $2; + HEAP32[$0 + 13804 >> 2] = $1; + $1 = HEAP32[$0 + 13800 >> 2]; + $2 = HEAP32[$0 + 13804 >> 2]; + HEAP32[$0 + 13828 >> 2] = $3; + HEAP32[$0 + 13824 >> 2] = 9486; + HEAP32[$0 + 13820 >> 2] = $2; + HEAP32[$0 + 13816 >> 2] = $1; + $3 = HEAP32[$0 + 13828 >> 2]; + $4 = HEAP32[$0 + 13824 >> 2]; + $1 = HEAP32[$0 + 13816 >> 2]; + HEAP32[$0 + 13812 >> 2] = HEAP32[$0 + 13820 >> 2]; + HEAP32[$0 + 13808 >> 2] = $1; + $2 = HEAP32[$0 + 13812 >> 2]; + $1 = HEAP32[$0 + 13808 >> 2]; + HEAP32[$0 + 168 >> 2] = $1; + HEAP32[$0 + 172 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2WeldJoint____29_28_29_20const___invoke_b2WeldJoint__28char_20const__2c_20float_20_28b2WeldJoint____29_28_29_20const_29($4, $0 + 168 | 0); + HEAP32[$0 + 2160 >> 2] = 0; + HEAP32[$0 + 2156 >> 2] = 367; + $1 = HEAP32[$0 + 2160 >> 2]; + $2 = HEAP32[$0 + 2156 >> 2]; + HEAP32[$0 + 13864 >> 2] = $2; + HEAP32[$0 + 13868 >> 2] = $1; + $1 = HEAP32[$0 + 13864 >> 2]; + $2 = HEAP32[$0 + 13868 >> 2]; + HEAP32[$0 + 13892 >> 2] = $3; + HEAP32[$0 + 13888 >> 2] = 3397; + HEAP32[$0 + 13884 >> 2] = $2; + HEAP32[$0 + 13880 >> 2] = $1; + $3 = HEAP32[$0 + 13892 >> 2]; + $4 = HEAP32[$0 + 13888 >> 2]; + $1 = HEAP32[$0 + 13880 >> 2]; + HEAP32[$0 + 13876 >> 2] = HEAP32[$0 + 13884 >> 2]; + HEAP32[$0 + 13872 >> 2] = $1; + $2 = HEAP32[$0 + 13876 >> 2]; + $1 = HEAP32[$0 + 13872 >> 2]; + HEAP32[$0 + 160 >> 2] = $1; + HEAP32[$0 + 164 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2WeldJoint____29_28float_29___invoke_b2WeldJoint__28char_20const__2c_20void_20_28b2WeldJoint____29_28float_29_29($4, $0 + 160 | 0); + HEAP32[$0 + 2152 >> 2] = 0; + HEAP32[$0 + 2148 >> 2] = 368; + $1 = HEAP32[$0 + 2152 >> 2]; + $2 = HEAP32[$0 + 2148 >> 2]; + HEAP32[$0 + 13768 >> 2] = $2; + HEAP32[$0 + 13772 >> 2] = $1; + $1 = HEAP32[$0 + 13768 >> 2]; + $2 = HEAP32[$0 + 13772 >> 2]; + HEAP32[$0 + 13796 >> 2] = $3; + HEAP32[$0 + 13792 >> 2] = 3410; + HEAP32[$0 + 13788 >> 2] = $2; + HEAP32[$0 + 13784 >> 2] = $1; + $3 = HEAP32[$0 + 13796 >> 2]; + $4 = HEAP32[$0 + 13792 >> 2]; + $1 = HEAP32[$0 + 13784 >> 2]; + HEAP32[$0 + 13780 >> 2] = HEAP32[$0 + 13788 >> 2]; + HEAP32[$0 + 13776 >> 2] = $1; + $2 = HEAP32[$0 + 13780 >> 2]; + $1 = HEAP32[$0 + 13776 >> 2]; + HEAP32[$0 + 152 >> 2] = $1; + HEAP32[$0 + 156 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2WeldJoint____29_28_29_20const___invoke_b2WeldJoint__28char_20const__2c_20float_20_28b2WeldJoint____29_28_29_20const_29($4, $0 + 152 | 0); + HEAP32[$0 + 2144 >> 2] = 0; + HEAP32[$0 + 2140 >> 2] = 369; + $1 = HEAP32[$0 + 2144 >> 2]; + $2 = HEAP32[$0 + 2140 >> 2]; + HEAP32[$0 + 13832 >> 2] = $2; + HEAP32[$0 + 13836 >> 2] = $1; + $1 = HEAP32[$0 + 13832 >> 2]; + $2 = HEAP32[$0 + 13836 >> 2]; + HEAP32[$0 + 13860 >> 2] = $3; + HEAP32[$0 + 13856 >> 2] = 7702; + HEAP32[$0 + 13852 >> 2] = $2; + HEAP32[$0 + 13848 >> 2] = $1; + $3 = HEAP32[$0 + 13860 >> 2]; + $4 = HEAP32[$0 + 13856 >> 2]; + $1 = HEAP32[$0 + 13848 >> 2]; + HEAP32[$0 + 13844 >> 2] = HEAP32[$0 + 13852 >> 2]; + HEAP32[$0 + 13840 >> 2] = $1; + $2 = HEAP32[$0 + 13844 >> 2]; + $1 = HEAP32[$0 + 13840 >> 2]; + HEAP32[$0 + 144 >> 2] = $1; + HEAP32[$0 + 148 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2WeldJoint____29_28float_29___invoke_b2WeldJoint__28char_20const__2c_20void_20_28b2WeldJoint____29_28float_29_29($4, $0 + 144 | 0); + HEAP32[$0 + 2136 >> 2] = 0; + HEAP32[$0 + 2132 >> 2] = 370; + $1 = HEAP32[$0 + 2136 >> 2]; + $2 = HEAP32[$0 + 2132 >> 2]; + HEAP32[$0 + 13736 >> 2] = $2; + HEAP32[$0 + 13740 >> 2] = $1; + $1 = HEAP32[$0 + 13736 >> 2]; + $2 = HEAP32[$0 + 13740 >> 2]; + HEAP32[$0 + 13764 >> 2] = $3; + HEAP32[$0 + 13760 >> 2] = 7713; + HEAP32[$0 + 13756 >> 2] = $2; + HEAP32[$0 + 13752 >> 2] = $1; + $3 = HEAP32[$0 + 13764 >> 2]; + $4 = HEAP32[$0 + 13760 >> 2]; + $1 = HEAP32[$0 + 13752 >> 2]; + HEAP32[$0 + 13748 >> 2] = HEAP32[$0 + 13756 >> 2]; + HEAP32[$0 + 13744 >> 2] = $1; + $2 = HEAP32[$0 + 13748 >> 2]; + $1 = HEAP32[$0 + 13744 >> 2]; + HEAP32[$0 + 136 >> 2] = $1; + HEAP32[$0 + 140 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2WeldJoint____29_28_29_20const___invoke_b2WeldJoint__28char_20const__2c_20float_20_28b2WeldJoint____29_28_29_20const_29($4, $0 + 136 | 0); + HEAP32[$0 + 2128 >> 2] = 1; + HEAP32[$0 + 2124 >> 2] = 16; + $1 = HEAP32[$0 + 2128 >> 2]; + $2 = HEAP32[$0 + 2124 >> 2]; + HEAP32[$0 + 13896 >> 2] = $2; + HEAP32[$0 + 13900 >> 2] = $1; + $1 = HEAP32[$0 + 13896 >> 2]; + $2 = HEAP32[$0 + 13900 >> 2]; + HEAP32[$0 + 13924 >> 2] = $3; + HEAP32[$0 + 13920 >> 2] = 6232; + HEAP32[$0 + 13916 >> 2] = $2; + HEAP32[$0 + 13912 >> 2] = $1; + $3 = HEAP32[$0 + 13920 >> 2]; + $1 = HEAP32[$0 + 13912 >> 2]; + HEAP32[$0 + 13908 >> 2] = HEAP32[$0 + 13916 >> 2]; + HEAP32[$0 + 13904 >> 2] = $1; + $2 = HEAP32[$0 + 13908 >> 2]; + $1 = HEAP32[$0 + 13904 >> 2]; + HEAP32[$0 + 128 >> 2] = $1; + HEAP32[$0 + 132 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2WeldJoint____29_28_29___invoke_b2WeldJoint__28char_20const__2c_20void_20_28b2WeldJoint____29_28_29_29($3, $0 + 128 | 0); + HEAP32[$0 + 13948 >> 2] = $0 + 2123; + HEAP32[$0 + 13944 >> 2] = 7901; + void_20emscripten__base_b2JointDef___verify_b2WheelJointDef__28_29(); + HEAP32[$0 + 13940 >> 2] = 371; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2WheelJointDef__28_29_29_28b2WheelJointDef__29(), + HEAP32[wasm2js_i32$0 + 13936 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2WheelJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2WheelJointDef__28_29_29_28b2JointDef__29(), + HEAP32[wasm2js_i32$0 + 13932 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 13928 >> 2] = 372; + $1 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WheelJointDef__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WheelJointDef_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2JointDef___get_28_29(); + HEAP32[$0 + 16224 >> 2] = HEAP32[$0 + 13940 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13940 >> 2]; + HEAP32[$0 + 16228 >> 2] = HEAP32[$0 + 13936 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 13936 >> 2]; + HEAP32[$0 + 16232 >> 2] = HEAP32[$0 + 13932 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 13932 >> 2]; + $11 = HEAP32[$0 + 13944 >> 2]; + HEAP32[$0 + 16236 >> 2] = HEAP32[$0 + 13928 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 13928 >> 2]); + HEAP32[$0 + 13952 >> 2] = $0 + 2123; + HEAP32[$0 + 16244 >> 2] = HEAP32[$0 + 13952 >> 2]; + HEAP32[$0 + 16240 >> 2] = 373; + $1 = HEAP32[$0 + 16244 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_b2WheelJointDef__20_28__29_28_29___invoke_b2WheelJointDef__28b2WheelJointDef__20_28__29_28_29_29(HEAP32[$0 + 16240 >> 2]); + HEAP32[$0 + 14012 >> 2] = $1; + HEAP32[$0 + 14008 >> 2] = 11158; + HEAP32[$0 + 14004 >> 2] = 20; + $1 = HEAP32[$0 + 14012 >> 2]; + HEAP32[$0 + 14e3 >> 2] = 374; + HEAP32[$0 + 13996 >> 2] = 375; + $2 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 14008 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16248 >> 2] = HEAP32[$0 + 14e3 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 14e3 >> 2]; + $7 = b2Vec2_20b2WheelJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WheelJointDef_____28b2Vec2_20b2WheelJointDef____20const__29($0 + 14004 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16260 >> 2] = HEAP32[$0 + 13996 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 13996 >> 2], b2Vec2_20b2WheelJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WheelJointDef_____28b2Vec2_20b2WheelJointDef____20const__29($0 + 14004 | 0) | 0); + HEAP32[$0 + 13992 >> 2] = $1; + HEAP32[$0 + 13988 >> 2] = 11015; + HEAP32[$0 + 13984 >> 2] = 28; + $1 = HEAP32[$0 + 13992 >> 2]; + HEAP32[$0 + 13980 >> 2] = 374; + HEAP32[$0 + 13976 >> 2] = 375; + $2 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 13988 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16252 >> 2] = HEAP32[$0 + 13980 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13980 >> 2]; + $7 = b2Vec2_20b2WheelJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WheelJointDef_____28b2Vec2_20b2WheelJointDef____20const__29($0 + 13984 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16264 >> 2] = HEAP32[$0 + 13976 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 13976 >> 2], b2Vec2_20b2WheelJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WheelJointDef_____28b2Vec2_20b2WheelJointDef____20const__29($0 + 13984 | 0) | 0); + HEAP32[$0 + 13972 >> 2] = $1; + HEAP32[$0 + 13968 >> 2] = 11122; + HEAP32[$0 + 13964 >> 2] = 36; + $1 = HEAP32[$0 + 13972 >> 2]; + HEAP32[$0 + 13960 >> 2] = 374; + HEAP32[$0 + 13956 >> 2] = 375; + $2 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 13968 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16256 >> 2] = HEAP32[$0 + 13960 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 13960 >> 2]; + $7 = b2Vec2_20b2WheelJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WheelJointDef_____28b2Vec2_20b2WheelJointDef____20const__29($0 + 13964 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$0 + 16268 >> 2] = HEAP32[$0 + 13956 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 13956 >> 2], b2Vec2_20b2WheelJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WheelJointDef_____28b2Vec2_20b2WheelJointDef____20const__29($0 + 13964 | 0) | 0); + HEAP32[$0 + 14052 >> 2] = $1; + HEAP32[$0 + 14048 >> 2] = 2849; + HEAP32[$0 + 14044 >> 2] = 44; + $1 = HEAP32[$0 + 14052 >> 2]; + HEAP32[$0 + 14040 >> 2] = 376; + HEAP32[$0 + 14036 >> 2] = 377; + $2 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 14048 >> 2]; + $4 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 16272 >> 2] = HEAP32[$0 + 14040 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 14040 >> 2]; + $7 = bool_20b2WheelJointDef_____20emscripten__internal__getContext_bool_20b2WheelJointDef_____28bool_20b2WheelJointDef____20const__29($0 + 14044 | 0); + $8 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 16280 >> 2] = HEAP32[$0 + 14036 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 14036 >> 2], bool_20b2WheelJointDef_____20emscripten__internal__getContext_bool_20b2WheelJointDef_____28bool_20b2WheelJointDef____20const__29($0 + 14044 | 0) | 0); + HEAP32[$0 + 14172 >> 2] = $1; + HEAP32[$0 + 14168 >> 2] = 6703; + HEAP32[$0 + 14164 >> 2] = 48; + $1 = HEAP32[$0 + 14172 >> 2]; + HEAP32[$0 + 14160 >> 2] = 378; + HEAP32[$0 + 14156 >> 2] = 379; + $2 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 14168 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16288 >> 2] = HEAP32[$0 + 14160 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 14160 >> 2]; + $7 = float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14164 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16312 >> 2] = HEAP32[$0 + 14156 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 14156 >> 2], float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14164 | 0) | 0); + HEAP32[$0 + 14152 >> 2] = $1; + HEAP32[$0 + 14148 >> 2] = 6744; + HEAP32[$0 + 14144 >> 2] = 52; + $1 = HEAP32[$0 + 14152 >> 2]; + HEAP32[$0 + 14140 >> 2] = 378; + HEAP32[$0 + 14136 >> 2] = 379; + $2 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 14148 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16292 >> 2] = HEAP32[$0 + 14140 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 14140 >> 2]; + $7 = float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14144 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16316 >> 2] = HEAP32[$0 + 14136 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 14136 >> 2], float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14144 | 0) | 0); + HEAP32[$0 + 14032 >> 2] = $1; + HEAP32[$0 + 14028 >> 2] = 3640; + HEAP32[$0 + 14024 >> 2] = 56; + $1 = HEAP32[$0 + 14032 >> 2]; + HEAP32[$0 + 14020 >> 2] = 376; + HEAP32[$0 + 14016 >> 2] = 377; + $2 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 14028 >> 2]; + $4 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 16276 >> 2] = HEAP32[$0 + 14020 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 14020 >> 2]; + $7 = bool_20b2WheelJointDef_____20emscripten__internal__getContext_bool_20b2WheelJointDef_____28bool_20b2WheelJointDef____20const__29($0 + 14024 | 0); + $8 = emscripten__internal__TypeID_bool_2c_20void___get_28_29(); + HEAP32[$0 + 16284 >> 2] = HEAP32[$0 + 14016 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$0 + 14016 >> 2], bool_20b2WheelJointDef_____20emscripten__internal__getContext_bool_20b2WheelJointDef_____28bool_20b2WheelJointDef____20const__29($0 + 14024 | 0) | 0); + HEAP32[$0 + 14132 >> 2] = $1; + HEAP32[$0 + 14128 >> 2] = 8791; + HEAP32[$0 + 14124 >> 2] = 60; + $1 = HEAP32[$0 + 14132 >> 2]; + HEAP32[$0 + 14120 >> 2] = 378; + HEAP32[$0 + 14116 >> 2] = 379; + $2 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 14128 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16296 >> 2] = HEAP32[$0 + 14120 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 14120 >> 2]; + $7 = float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14124 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16320 >> 2] = HEAP32[$0 + 14116 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 14116 >> 2], float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14124 | 0) | 0); + HEAP32[$0 + 14112 >> 2] = $1; + HEAP32[$0 + 14108 >> 2] = 10349; + HEAP32[$0 + 14104 >> 2] = 64; + $1 = HEAP32[$0 + 14112 >> 2]; + HEAP32[$0 + 14100 >> 2] = 378; + HEAP32[$0 + 14096 >> 2] = 379; + $2 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 14108 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16300 >> 2] = HEAP32[$0 + 14100 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 14100 >> 2]; + $7 = float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14104 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16324 >> 2] = HEAP32[$0 + 14096 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 14096 >> 2], float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14104 | 0) | 0); + HEAP32[$0 + 14092 >> 2] = $1; + HEAP32[$0 + 14088 >> 2] = 3387; + HEAP32[$0 + 14084 >> 2] = 68; + $1 = HEAP32[$0 + 14092 >> 2]; + HEAP32[$0 + 14080 >> 2] = 378; + HEAP32[$0 + 14076 >> 2] = 379; + $2 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $3 = HEAP32[$0 + 14088 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16304 >> 2] = HEAP32[$0 + 14080 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$0 + 14080 >> 2]; + $7 = float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14084 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16328 >> 2] = HEAP32[$0 + 14076 >> 2]; + _embind_register_class_property($2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 14076 >> 2], float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14084 | 0) | 0); + HEAP32[$0 + 14072 >> 2] = $1; + HEAP32[$0 + 14068 >> 2] = 7694; + HEAP32[$0 + 14064 >> 2] = 72; + HEAP32[$0 + 14060 >> 2] = 378; + HEAP32[$0 + 14056 >> 2] = 379; + $1 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $2 = HEAP32[$0 + 14068 >> 2]; + $3 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16308 >> 2] = HEAP32[$0 + 14060 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $5 = HEAP32[$0 + 14060 >> 2]; + $6 = float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14064 | 0); + $7 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$0 + 16332 >> 2] = HEAP32[$0 + 14056 >> 2]; + _embind_register_class_property($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$0 + 14056 >> 2], float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0 + 14064 | 0) | 0); + HEAP32[$0 + 14196 >> 2] = $0 + 2122; + HEAP32[$0 + 14192 >> 2] = 2561; + void_20emscripten__base_b2Joint___verify_b2WheelJoint__28_29(); + HEAP32[$0 + 14188 >> 2] = 380; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2WheelJoint__28_29_29_28b2WheelJoint__29(), + HEAP32[wasm2js_i32$0 + 14184 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2WheelJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2WheelJoint__28_29_29_28b2Joint__29(), + HEAP32[wasm2js_i32$0 + 14180 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 14176 >> 2] = 381; + $1 = emscripten__internal__TypeID_b2WheelJoint_2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WheelJoint_20const__2c_20void___get_28_29(); + $4 = emscripten__base_b2Joint___get_28_29(); + HEAP32[$0 + 16336 >> 2] = HEAP32[$0 + 14188 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$0 + 14188 >> 2]; + HEAP32[$0 + 16340 >> 2] = HEAP32[$0 + 14184 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $8 = HEAP32[$0 + 14184 >> 2]; + HEAP32[$0 + 16344 >> 2] = HEAP32[$0 + 14180 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $10 = HEAP32[$0 + 14180 >> 2]; + $11 = HEAP32[$0 + 14192 >> 2]; + HEAP32[$0 + 16348 >> 2] = HEAP32[$0 + 14176 >> 2]; + _embind_register_class($1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$0 + 14176 >> 2]); + HEAP32[$0 + 2116 >> 2] = 0; + HEAP32[$0 + 2112 >> 2] = 382; + $1 = HEAP32[$0 + 2116 >> 2]; + $2 = HEAP32[$0 + 2112 >> 2]; + HEAP32[$0 + 14264 >> 2] = $2; + HEAP32[$0 + 14268 >> 2] = $1; + $1 = HEAP32[$0 + 14264 >> 2]; + $2 = HEAP32[$0 + 14268 >> 2]; + HEAP32[$0 + 14292 >> 2] = $0 + 2122; + HEAP32[$0 + 14288 >> 2] = 11171; + HEAP32[$0 + 14284 >> 2] = $2; + HEAP32[$0 + 14280 >> 2] = $1; + $3 = HEAP32[$0 + 14292 >> 2]; + $4 = HEAP32[$0 + 14288 >> 2]; + $1 = HEAP32[$0 + 14280 >> 2]; + HEAP32[$0 + 14276 >> 2] = HEAP32[$0 + 14284 >> 2]; + HEAP32[$0 + 14272 >> 2] = $1; + $2 = HEAP32[$0 + 14276 >> 2]; + $1 = HEAP32[$0 + 14272 >> 2]; + HEAP32[$0 + 120 >> 2] = $1; + HEAP32[$0 + 124 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const_29($4, $0 + 120 | 0); + HEAP32[$0 + 2108 >> 2] = 0; + HEAP32[$0 + 2104 >> 2] = 383; + $1 = HEAP32[$0 + 2108 >> 2]; + $2 = HEAP32[$0 + 2104 >> 2]; + HEAP32[$0 + 14232 >> 2] = $2; + HEAP32[$0 + 14236 >> 2] = $1; + $1 = HEAP32[$0 + 14232 >> 2]; + $2 = HEAP32[$0 + 14236 >> 2]; + HEAP32[$0 + 14260 >> 2] = $3; + HEAP32[$0 + 14256 >> 2] = 11028; + HEAP32[$0 + 14252 >> 2] = $2; + HEAP32[$0 + 14248 >> 2] = $1; + $3 = HEAP32[$0 + 14260 >> 2]; + $4 = HEAP32[$0 + 14256 >> 2]; + $1 = HEAP32[$0 + 14248 >> 2]; + HEAP32[$0 + 14244 >> 2] = HEAP32[$0 + 14252 >> 2]; + HEAP32[$0 + 14240 >> 2] = $1; + $2 = HEAP32[$0 + 14244 >> 2]; + $1 = HEAP32[$0 + 14240 >> 2]; + HEAP32[$0 + 112 >> 2] = $1; + HEAP32[$0 + 116 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const_29($4, $0 + 112 | 0); + HEAP32[$0 + 2100 >> 2] = 0; + HEAP32[$0 + 2096 >> 2] = 384; + $1 = HEAP32[$0 + 2100 >> 2]; + $2 = HEAP32[$0 + 2096 >> 2]; + HEAP32[$0 + 14200 >> 2] = $2; + HEAP32[$0 + 14204 >> 2] = $1; + $1 = HEAP32[$0 + 14200 >> 2]; + $2 = HEAP32[$0 + 14204 >> 2]; + HEAP32[$0 + 14228 >> 2] = $3; + HEAP32[$0 + 14224 >> 2] = 11133; + HEAP32[$0 + 14220 >> 2] = $2; + HEAP32[$0 + 14216 >> 2] = $1; + $3 = HEAP32[$0 + 14228 >> 2]; + $4 = HEAP32[$0 + 14224 >> 2]; + $1 = HEAP32[$0 + 14216 >> 2]; + HEAP32[$0 + 14212 >> 2] = HEAP32[$0 + 14220 >> 2]; + HEAP32[$0 + 14208 >> 2] = $1; + $2 = HEAP32[$0 + 14212 >> 2]; + $1 = HEAP32[$0 + 14208 >> 2]; + HEAP32[$0 + 104 >> 2] = $1; + HEAP32[$0 + 108 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const_29($4, $0 + 104 | 0); + HEAP32[$0 + 2092 >> 2] = 0; + HEAP32[$0 + 2088 >> 2] = 385; + $1 = HEAP32[$0 + 2092 >> 2]; + $2 = HEAP32[$0 + 2088 >> 2]; + HEAP32[$0 + 14424 >> 2] = $2; + HEAP32[$0 + 14428 >> 2] = $1; + $1 = HEAP32[$0 + 14424 >> 2]; + $2 = HEAP32[$0 + 14428 >> 2]; + HEAP32[$0 + 14452 >> 2] = $3; + HEAP32[$0 + 14448 >> 2] = 6683; + HEAP32[$0 + 14444 >> 2] = $2; + HEAP32[$0 + 14440 >> 2] = $1; + $3 = HEAP32[$0 + 14452 >> 2]; + $4 = HEAP32[$0 + 14448 >> 2]; + $1 = HEAP32[$0 + 14440 >> 2]; + HEAP32[$0 + 14436 >> 2] = HEAP32[$0 + 14444 >> 2]; + HEAP32[$0 + 14432 >> 2] = $1; + $2 = HEAP32[$0 + 14436 >> 2]; + $1 = HEAP32[$0 + 14432 >> 2]; + HEAP32[$0 + 96 >> 2] = $1; + HEAP32[$0 + 100 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20float_20_28b2WheelJoint____29_28_29_20const_29($4, $0 + 96 | 0); + HEAP32[$0 + 2084 >> 2] = 0; + HEAP32[$0 + 2080 >> 2] = 386; + $1 = HEAP32[$0 + 2084 >> 2]; + $2 = HEAP32[$0 + 2080 >> 2]; + HEAP32[$0 + 14456 >> 2] = $2; + HEAP32[$0 + 14460 >> 2] = $1; + $1 = HEAP32[$0 + 14456 >> 2]; + $2 = HEAP32[$0 + 14460 >> 2]; + HEAP32[$0 + 14484 >> 2] = $3; + HEAP32[$0 + 14480 >> 2] = 10274; + HEAP32[$0 + 14476 >> 2] = $2; + HEAP32[$0 + 14472 >> 2] = $1; + $3 = HEAP32[$0 + 14484 >> 2]; + $4 = HEAP32[$0 + 14480 >> 2]; + $1 = HEAP32[$0 + 14472 >> 2]; + HEAP32[$0 + 14468 >> 2] = HEAP32[$0 + 14476 >> 2]; + HEAP32[$0 + 14464 >> 2] = $1; + $2 = HEAP32[$0 + 14468 >> 2]; + $1 = HEAP32[$0 + 14464 >> 2]; + HEAP32[$0 + 88 >> 2] = $1; + HEAP32[$0 + 92 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_bool_20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20bool_20_28b2WheelJoint____29_28_29_20const_29($4, $0 + 88 | 0); + HEAP32[$0 + 2076 >> 2] = 0; + HEAP32[$0 + 2072 >> 2] = 387; + $1 = HEAP32[$0 + 2076 >> 2]; + $2 = HEAP32[$0 + 2072 >> 2]; + HEAP32[$0 + 14488 >> 2] = $2; + HEAP32[$0 + 14492 >> 2] = $1; + $1 = HEAP32[$0 + 14488 >> 2]; + $2 = HEAP32[$0 + 14492 >> 2]; + HEAP32[$0 + 14516 >> 2] = $3; + HEAP32[$0 + 14512 >> 2] = 3652; + HEAP32[$0 + 14508 >> 2] = $2; + HEAP32[$0 + 14504 >> 2] = $1; + $3 = HEAP32[$0 + 14516 >> 2]; + $4 = HEAP32[$0 + 14512 >> 2]; + $1 = HEAP32[$0 + 14504 >> 2]; + HEAP32[$0 + 14500 >> 2] = HEAP32[$0 + 14508 >> 2]; + HEAP32[$0 + 14496 >> 2] = $1; + $2 = HEAP32[$0 + 14500 >> 2]; + $1 = HEAP32[$0 + 14496 >> 2]; + HEAP32[$0 + 80 >> 2] = $1; + HEAP32[$0 + 84 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2WheelJoint____29_28bool_29___invoke_b2WheelJoint__28char_20const__2c_20void_20_28b2WheelJoint____29_28bool_29_29($4, $0 + 80 | 0); + HEAP32[$0 + 2068 >> 2] = 0; + HEAP32[$0 + 2064 >> 2] = 388; + $1 = HEAP32[$0 + 2068 >> 2]; + $2 = HEAP32[$0 + 2064 >> 2]; + HEAP32[$0 + 14616 >> 2] = $2; + HEAP32[$0 + 14620 >> 2] = $1; + $1 = HEAP32[$0 + 14616 >> 2]; + $2 = HEAP32[$0 + 14620 >> 2]; + HEAP32[$0 + 14644 >> 2] = $3; + HEAP32[$0 + 14640 >> 2] = 10360; + HEAP32[$0 + 14636 >> 2] = $2; + HEAP32[$0 + 14632 >> 2] = $1; + $3 = HEAP32[$0 + 14644 >> 2]; + $4 = HEAP32[$0 + 14640 >> 2]; + $1 = HEAP32[$0 + 14632 >> 2]; + HEAP32[$0 + 14628 >> 2] = HEAP32[$0 + 14636 >> 2]; + HEAP32[$0 + 14624 >> 2] = $1; + $2 = HEAP32[$0 + 14628 >> 2]; + $1 = HEAP32[$0 + 14624 >> 2]; + HEAP32[$0 + 72 >> 2] = $1; + HEAP32[$0 + 76 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2WheelJoint____29_28float_29___invoke_b2WheelJoint__28char_20const__2c_20void_20_28b2WheelJoint____29_28float_29_29($4, $0 + 72 | 0); + HEAP32[$0 + 2060 >> 2] = 0; + HEAP32[$0 + 2056 >> 2] = 389; + $1 = HEAP32[$0 + 2060 >> 2]; + $2 = HEAP32[$0 + 2056 >> 2]; + HEAP32[$0 + 14392 >> 2] = $2; + HEAP32[$0 + 14396 >> 2] = $1; + $1 = HEAP32[$0 + 14392 >> 2]; + $2 = HEAP32[$0 + 14396 >> 2]; + HEAP32[$0 + 14420 >> 2] = $3; + HEAP32[$0 + 14416 >> 2] = 10374; + HEAP32[$0 + 14412 >> 2] = $2; + HEAP32[$0 + 14408 >> 2] = $1; + $3 = HEAP32[$0 + 14420 >> 2]; + $4 = HEAP32[$0 + 14416 >> 2]; + $1 = HEAP32[$0 + 14408 >> 2]; + HEAP32[$0 + 14404 >> 2] = HEAP32[$0 + 14412 >> 2]; + HEAP32[$0 + 14400 >> 2] = $1; + $2 = HEAP32[$0 + 14404 >> 2]; + $1 = HEAP32[$0 + 14400 >> 2]; + HEAP32[$0 + 64 >> 2] = $1; + HEAP32[$0 + 68 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20float_20_28b2WheelJoint____29_28_29_20const_29($4, $0 - -64 | 0); + HEAP32[$0 + 2052 >> 2] = 0; + HEAP32[$0 + 2048 >> 2] = 390; + $1 = HEAP32[$0 + 2052 >> 2]; + $2 = HEAP32[$0 + 2048 >> 2]; + HEAP32[$0 + 14584 >> 2] = $2; + HEAP32[$0 + 14588 >> 2] = $1; + $1 = HEAP32[$0 + 14584 >> 2]; + $2 = HEAP32[$0 + 14588 >> 2]; + HEAP32[$0 + 14612 >> 2] = $3; + HEAP32[$0 + 14608 >> 2] = 8806; + HEAP32[$0 + 14604 >> 2] = $2; + HEAP32[$0 + 14600 >> 2] = $1; + $3 = HEAP32[$0 + 14612 >> 2]; + $4 = HEAP32[$0 + 14608 >> 2]; + $1 = HEAP32[$0 + 14600 >> 2]; + HEAP32[$0 + 14596 >> 2] = HEAP32[$0 + 14604 >> 2]; + HEAP32[$0 + 14592 >> 2] = $1; + $2 = HEAP32[$0 + 14596 >> 2]; + $1 = HEAP32[$0 + 14592 >> 2]; + HEAP32[$0 + 56 >> 2] = $1; + HEAP32[$0 + 60 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2WheelJoint____29_28float_29___invoke_b2WheelJoint__28char_20const__2c_20void_20_28b2WheelJoint____29_28float_29_29($4, $0 + 56 | 0); + HEAP32[$0 + 2044 >> 2] = 0; + HEAP32[$0 + 2040 >> 2] = 391; + $1 = HEAP32[$0 + 2044 >> 2]; + $2 = HEAP32[$0 + 2040 >> 2]; + HEAP32[$0 + 14360 >> 2] = $2; + HEAP32[$0 + 14364 >> 2] = $1; + $1 = HEAP32[$0 + 14360 >> 2]; + $2 = HEAP32[$0 + 14364 >> 2]; + HEAP32[$0 + 14388 >> 2] = $3; + HEAP32[$0 + 14384 >> 2] = 8824; + HEAP32[$0 + 14380 >> 2] = $2; + HEAP32[$0 + 14376 >> 2] = $1; + $3 = HEAP32[$0 + 14388 >> 2]; + $4 = HEAP32[$0 + 14384 >> 2]; + $1 = HEAP32[$0 + 14376 >> 2]; + HEAP32[$0 + 14372 >> 2] = HEAP32[$0 + 14380 >> 2]; + HEAP32[$0 + 14368 >> 2] = $1; + $2 = HEAP32[$0 + 14372 >> 2]; + $1 = HEAP32[$0 + 14368 >> 2]; + HEAP32[$0 + 48 >> 2] = $1; + HEAP32[$0 + 52 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20float_20_28b2WheelJoint____29_28_29_20const_29($4, $0 + 48 | 0); + HEAP32[$0 + 2036 >> 2] = 0; + HEAP32[$0 + 2032 >> 2] = 392; + $1 = HEAP32[$0 + 2036 >> 2]; + $2 = HEAP32[$0 + 2032 >> 2]; + HEAP32[$0 + 14648 >> 2] = $2; + HEAP32[$0 + 14652 >> 2] = $1; + $1 = HEAP32[$0 + 14648 >> 2]; + $2 = HEAP32[$0 + 14652 >> 2]; + HEAP32[$0 + 14676 >> 2] = $3; + HEAP32[$0 + 14672 >> 2] = 8842; + HEAP32[$0 + 14668 >> 2] = $2; + HEAP32[$0 + 14664 >> 2] = $1; + $3 = HEAP32[$0 + 14676 >> 2]; + $4 = HEAP32[$0 + 14672 >> 2]; + $1 = HEAP32[$0 + 14664 >> 2]; + HEAP32[$0 + 14660 >> 2] = HEAP32[$0 + 14668 >> 2]; + HEAP32[$0 + 14656 >> 2] = $1; + $2 = HEAP32[$0 + 14660 >> 2]; + $1 = HEAP32[$0 + 14656 >> 2]; + HEAP32[$0 + 40 >> 2] = $1; + HEAP32[$0 + 44 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2WheelJoint____29_28float_29_20const___invoke_b2WheelJoint__28char_20const__2c_20float_20_28b2WheelJoint____29_28float_29_20const_29($4, $0 + 40 | 0); + HEAP32[$0 + 2028 >> 2] = 0; + HEAP32[$0 + 2024 >> 2] = 393; + $1 = HEAP32[$0 + 2028 >> 2]; + $2 = HEAP32[$0 + 2024 >> 2]; + HEAP32[$0 + 14552 >> 2] = $2; + HEAP32[$0 + 14556 >> 2] = $1; + $1 = HEAP32[$0 + 14552 >> 2]; + $2 = HEAP32[$0 + 14556 >> 2]; + HEAP32[$0 + 14580 >> 2] = $3; + HEAP32[$0 + 14576 >> 2] = 3397; + HEAP32[$0 + 14572 >> 2] = $2; + HEAP32[$0 + 14568 >> 2] = $1; + $3 = HEAP32[$0 + 14580 >> 2]; + $4 = HEAP32[$0 + 14576 >> 2]; + $1 = HEAP32[$0 + 14568 >> 2]; + HEAP32[$0 + 14564 >> 2] = HEAP32[$0 + 14572 >> 2]; + HEAP32[$0 + 14560 >> 2] = $1; + $2 = HEAP32[$0 + 14564 >> 2]; + $1 = HEAP32[$0 + 14560 >> 2]; + HEAP32[$0 + 32 >> 2] = $1; + HEAP32[$0 + 36 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2WheelJoint____29_28float_29___invoke_b2WheelJoint__28char_20const__2c_20void_20_28b2WheelJoint____29_28float_29_29($4, $0 + 32 | 0); + HEAP32[$0 + 2020 >> 2] = 0; + HEAP32[$0 + 2016 >> 2] = 394; + $1 = HEAP32[$0 + 2020 >> 2]; + $2 = HEAP32[$0 + 2016 >> 2]; + HEAP32[$0 + 14328 >> 2] = $2; + HEAP32[$0 + 14332 >> 2] = $1; + $1 = HEAP32[$0 + 14328 >> 2]; + $2 = HEAP32[$0 + 14332 >> 2]; + HEAP32[$0 + 14356 >> 2] = $3; + HEAP32[$0 + 14352 >> 2] = 3410; + HEAP32[$0 + 14348 >> 2] = $2; + HEAP32[$0 + 14344 >> 2] = $1; + $3 = HEAP32[$0 + 14356 >> 2]; + $4 = HEAP32[$0 + 14352 >> 2]; + $1 = HEAP32[$0 + 14344 >> 2]; + HEAP32[$0 + 14340 >> 2] = HEAP32[$0 + 14348 >> 2]; + HEAP32[$0 + 14336 >> 2] = $1; + $2 = HEAP32[$0 + 14340 >> 2]; + $1 = HEAP32[$0 + 14336 >> 2]; + HEAP32[$0 + 24 >> 2] = $1; + HEAP32[$0 + 28 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20float_20_28b2WheelJoint____29_28_29_20const_29($4, $0 + 24 | 0); + HEAP32[$0 + 2012 >> 2] = 0; + HEAP32[$0 + 2008 >> 2] = 395; + $1 = HEAP32[$0 + 2012 >> 2]; + $2 = HEAP32[$0 + 2008 >> 2]; + HEAP32[$0 + 14520 >> 2] = $2; + HEAP32[$0 + 14524 >> 2] = $1; + $1 = HEAP32[$0 + 14520 >> 2]; + $2 = HEAP32[$0 + 14524 >> 2]; + HEAP32[$0 + 14548 >> 2] = $3; + HEAP32[$0 + 14544 >> 2] = 7702; + HEAP32[$0 + 14540 >> 2] = $2; + HEAP32[$0 + 14536 >> 2] = $1; + $3 = HEAP32[$0 + 14548 >> 2]; + $4 = HEAP32[$0 + 14544 >> 2]; + $1 = HEAP32[$0 + 14536 >> 2]; + HEAP32[$0 + 14532 >> 2] = HEAP32[$0 + 14540 >> 2]; + HEAP32[$0 + 14528 >> 2] = $1; + $2 = HEAP32[$0 + 14532 >> 2]; + $1 = HEAP32[$0 + 14528 >> 2]; + HEAP32[$0 + 16 >> 2] = $1; + HEAP32[$0 + 20 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2WheelJoint____29_28float_29___invoke_b2WheelJoint__28char_20const__2c_20void_20_28b2WheelJoint____29_28float_29_29($4, $0 + 16 | 0); + HEAP32[$0 + 2004 >> 2] = 0; + HEAP32[$0 + 2e3 >> 2] = 396; + $1 = HEAP32[$0 + 2004 >> 2]; + $2 = HEAP32[$0 + 2e3 >> 2]; + HEAP32[$0 + 14296 >> 2] = $2; + HEAP32[$0 + 14300 >> 2] = $1; + $1 = HEAP32[$0 + 14296 >> 2]; + $2 = HEAP32[$0 + 14300 >> 2]; + HEAP32[$0 + 14324 >> 2] = $3; + HEAP32[$0 + 14320 >> 2] = 7713; + HEAP32[$0 + 14316 >> 2] = $2; + HEAP32[$0 + 14312 >> 2] = $1; + $3 = HEAP32[$0 + 14324 >> 2]; + $4 = HEAP32[$0 + 14320 >> 2]; + $1 = HEAP32[$0 + 14312 >> 2]; + HEAP32[$0 + 14308 >> 2] = HEAP32[$0 + 14316 >> 2]; + HEAP32[$0 + 14304 >> 2] = $1; + $2 = HEAP32[$0 + 14308 >> 2]; + $1 = HEAP32[$0 + 14304 >> 2]; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_float_20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20float_20_28b2WheelJoint____29_28_29_20const_29($4, $0 + 8 | 0); + HEAP32[$0 + 1996 >> 2] = 1; + HEAP32[$0 + 1992 >> 2] = 16; + $1 = HEAP32[$0 + 1996 >> 2]; + $2 = HEAP32[$0 + 1992 >> 2]; + HEAP32[$0 + 14680 >> 2] = $2; + HEAP32[$0 + 14684 >> 2] = $1; + $1 = HEAP32[$0 + 14680 >> 2]; + $2 = HEAP32[$0 + 14684 >> 2]; + HEAP32[$0 + 14708 >> 2] = $3; + HEAP32[$0 + 14704 >> 2] = 6232; + HEAP32[$0 + 14700 >> 2] = $2; + HEAP32[$0 + 14696 >> 2] = $1; + $3 = HEAP32[$0 + 14704 >> 2]; + $1 = HEAP32[$0 + 14696 >> 2]; + HEAP32[$0 + 14692 >> 2] = HEAP32[$0 + 14700 >> 2]; + HEAP32[$0 + 14688 >> 2] = $1; + $2 = HEAP32[$0 + 14692 >> 2]; + $1 = HEAP32[$0 + 14688 >> 2]; + HEAP32[$0 + 1984 >> 2] = $1; + HEAP32[$0 + 1988 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28b2WheelJoint____29_28_29___invoke_b2WheelJoint__28char_20const__2c_20void_20_28b2WheelJoint____29_28_29_29($3, $0 + 1984 | 0); + __stack_pointer = $0 + 16352 | 0; +} + +function dlmalloc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11 = __stack_pointer - 16 | 0; + __stack_pointer = $11; + label$1: { + label$2: { + label$3: { + label$4: { + label$5: { + label$6: { + label$7: { + label$8: { + label$9: { + label$10: { + label$11: { + label$12: { + label$13: { + label$14: { + if ($0 >>> 0 <= 244) { + $6 = HEAP32[8063]; + $5 = $0 >>> 0 < 11 ? 16 : $0 + 11 & -8; + $1 = $5 >>> 3 | 0; + $0 = $6 >>> $1 | 0; + if ($0 & 3) { + $2 = (($0 ^ -1) & 1) + $1 | 0; + $1 = $2 << 3; + $0 = $1 + 32292 | 0; + $1 = HEAP32[$1 + 32300 >> 2]; + $5 = HEAP32[$1 + 8 >> 2]; + label$17: { + if (($0 | 0) == ($5 | 0)) { + wasm2js_i32$0 = 32252, wasm2js_i32$1 = __wasm_rotl_i32(-2, $2) & $6, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$17; + } + HEAP32[$5 + 12 >> 2] = $0; + HEAP32[$0 + 8 >> 2] = $5; + } + $0 = $1 + 8 | 0; + $2 = $2 << 3; + HEAP32[$1 + 4 >> 2] = $2 | 3; + $1 = $1 + $2 | 0; + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] | 1; + break label$1; + } + $8 = HEAP32[8065]; + if ($8 >>> 0 >= $5 >>> 0) { + break label$14; + } + if ($0) { + $2 = $0 << $1; + $0 = 2 << $1; + $0 = $2 & ($0 | 0 - $0); + $1 = __wasm_ctz_i32($0 & 0 - $0); + $0 = $1 << 3; + $2 = $0 + 32292 | 0; + $0 = HEAP32[$0 + 32300 >> 2]; + $3 = HEAP32[$0 + 8 >> 2]; + label$20: { + if (($2 | 0) == ($3 | 0)) { + $6 = __wasm_rotl_i32(-2, $1) & $6; + HEAP32[8063] = $6; + break label$20; + } + HEAP32[$3 + 12 >> 2] = $2; + HEAP32[$2 + 8 >> 2] = $3; + } + HEAP32[$0 + 4 >> 2] = $5 | 3; + $3 = $0 + $5 | 0; + $1 = $1 << 3; + $2 = $1 - $5 | 0; + HEAP32[$3 + 4 >> 2] = $2 | 1; + HEAP32[$0 + $1 >> 2] = $2; + if ($8) { + $5 = ($8 & -8) + 32292 | 0; + $1 = HEAP32[8068]; + $4 = 1 << ($8 >>> 3); + label$23: { + if (!($6 & $4)) { + HEAP32[8063] = $4 | $6; + $4 = $5; + break label$23; + } + $4 = HEAP32[$5 + 8 >> 2]; + } + HEAP32[$5 + 8 >> 2] = $1; + HEAP32[$4 + 12 >> 2] = $1; + HEAP32[$1 + 12 >> 2] = $5; + HEAP32[$1 + 8 >> 2] = $4; + } + $0 = $0 + 8 | 0; + HEAP32[8068] = $3; + HEAP32[8065] = $2; + break label$1; + } + $9 = HEAP32[8064]; + if (!$9) { + break label$14; + } + $3 = HEAP32[(__wasm_ctz_i32(0 - $9 & $9) << 2) + 32556 >> 2]; + $1 = (HEAP32[$3 + 4 >> 2] & -8) - $5 | 0; + $2 = $3; + while (1) { + label$26: { + $0 = HEAP32[$2 + 16 >> 2]; + if (!$0) { + $0 = HEAP32[$2 + 20 >> 2]; + if (!$0) { + break label$26; + } + } + $2 = (HEAP32[$0 + 4 >> 2] & -8) - $5 | 0; + $4 = $2; + $2 = $1 >>> 0 > $2 >>> 0; + $1 = $2 ? $4 : $1; + $3 = $2 ? $0 : $3; + $2 = $0; + continue; + } + break; + } + $10 = HEAP32[$3 + 24 >> 2]; + $4 = HEAP32[$3 + 12 >> 2]; + if (($4 | 0) != ($3 | 0)) { + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$0 + 12 >> 2] = $4; + HEAP32[$4 + 8 >> 2] = $0; + break label$2; + } + $2 = $3 + 20 | 0; + $0 = HEAP32[$2 >> 2]; + if (!$0) { + $0 = HEAP32[$3 + 16 >> 2]; + if (!$0) { + break label$13; + } + $2 = $3 + 16 | 0; + } + while (1) { + $7 = $2; + $4 = $0; + $2 = $0 + 20 | 0; + $0 = HEAP32[$2 >> 2]; + if ($0) { + continue; + } + $2 = $4 + 16 | 0; + $0 = HEAP32[$4 + 16 >> 2]; + if ($0) { + continue; + } + break; + } + HEAP32[$7 >> 2] = 0; + break label$2; + } + $5 = -1; + if ($0 >>> 0 > 4294967231) { + break label$14; + } + $0 = $0 + 11 | 0; + $5 = $0 & -8; + $8 = HEAP32[8064]; + if (!$8) { + break label$14; + } + $1 = 0 - $5 | 0; + $7 = 0; + label$34: { + if ($5 >>> 0 < 256) { + break label$34; + } + $7 = 31; + if ($5 >>> 0 > 16777215) { + break label$34; + } + $0 = Math_clz32($0 >>> 8 | 0); + $7 = (($5 >>> 38 - $0 & 1) - ($0 << 1) | 0) + 62 | 0; + } + $2 = HEAP32[($7 << 2) + 32556 >> 2]; + label$31: { + label$32: { + label$33: { + if (!$2) { + $0 = 0; + break label$33; + } + $0 = 0; + $3 = $5 << (($7 | 0) != 31 ? 25 - ($7 >>> 1 | 0) | 0 : 0); + while (1) { + label$37: { + $6 = (HEAP32[$2 + 4 >> 2] & -8) - $5 | 0; + if ($6 >>> 0 >= $1 >>> 0) { + break label$37; + } + $4 = $2; + $1 = $6; + if ($1) { + break label$37; + } + $1 = 0; + $0 = $2; + break label$32; + } + $6 = HEAP32[$2 + 20 >> 2]; + $2 = HEAP32[(($3 >>> 29 & 4) + $2 | 0) + 16 >> 2]; + $0 = $6 ? ($6 | 0) == ($2 | 0) ? $0 : $6 : $0; + $3 = $3 << 1; + if ($2) { + continue; + } + break; + } + } + if (!($0 | $4)) { + $4 = 0; + $0 = 2 << $7; + $0 = ($0 | 0 - $0) & $8; + if (!$0) { + break label$14; + } + $0 = HEAP32[(__wasm_ctz_i32(0 - $0 & $0) << 2) + 32556 >> 2]; + } + if (!$0) { + break label$31; + } + } + while (1) { + $6 = (HEAP32[$0 + 4 >> 2] & -8) - $5 | 0; + $3 = $6 >>> 0 < $1 >>> 0; + $1 = $3 ? $6 : $1; + $4 = $3 ? $0 : $4; + $2 = HEAP32[$0 + 16 >> 2]; + if (!$2) { + $2 = HEAP32[$0 + 20 >> 2]; + } + $0 = $2; + if ($0) { + continue; + } + break; + } + } + if (!$4 | HEAP32[8065] - $5 >>> 0 <= $1 >>> 0) { + break label$14; + } + $7 = HEAP32[$4 + 24 >> 2]; + $3 = HEAP32[$4 + 12 >> 2]; + if (($4 | 0) != ($3 | 0)) { + $0 = HEAP32[$4 + 8 >> 2]; + HEAP32[$0 + 12 >> 2] = $3; + HEAP32[$3 + 8 >> 2] = $0; + break label$3; + } + $2 = $4 + 20 | 0; + $0 = HEAP32[$2 >> 2]; + if (!$0) { + $0 = HEAP32[$4 + 16 >> 2]; + if (!$0) { + break label$12; + } + $2 = $4 + 16 | 0; + } + while (1) { + $6 = $2; + $3 = $0; + $2 = $0 + 20 | 0; + $0 = HEAP32[$2 >> 2]; + if ($0) { + continue; + } + $2 = $3 + 16 | 0; + $0 = HEAP32[$3 + 16 >> 2]; + if ($0) { + continue; + } + break; + } + HEAP32[$6 >> 2] = 0; + break label$3; + } + $0 = HEAP32[8065]; + if ($5 >>> 0 <= $0 >>> 0) { + $1 = HEAP32[8068]; + $2 = $0 - $5 | 0; + label$45: { + if ($2 >>> 0 >= 16) { + $3 = $1 + $5 | 0; + HEAP32[$3 + 4 >> 2] = $2 | 1; + HEAP32[$0 + $1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $5 | 3; + break label$45; + } + HEAP32[$1 + 4 >> 2] = $0 | 3; + $0 = $0 + $1 | 0; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 1; + $3 = 0; + $2 = 0; + } + HEAP32[8065] = $2; + HEAP32[8068] = $3; + $0 = $1 + 8 | 0; + break label$1; + } + $3 = HEAP32[8066]; + if ($5 >>> 0 < $3 >>> 0) { + $1 = $3 - $5 | 0; + HEAP32[8066] = $1; + $0 = HEAP32[8069]; + $2 = $5 + $0 | 0; + HEAP32[8069] = $2; + HEAP32[$2 + 4 >> 2] = $1 | 1; + HEAP32[$0 + 4 >> 2] = $5 | 3; + $0 = $0 + 8 | 0; + break label$1; + } + $0 = 0; + $8 = $5 + 47 | 0; + if (HEAP32[8181]) { + $1 = HEAP32[8183]; + } else { + HEAP32[8184] = -1; + HEAP32[8185] = -1; + HEAP32[8182] = 4096; + HEAP32[8183] = 4096; + HEAP32[8181] = $11 + 12 & -16 ^ 1431655768; + HEAP32[8186] = 0; + HEAP32[8174] = 0; + $1 = 4096; + } + $6 = $8 + $1 | 0; + $7 = 0 - $1 | 0; + $4 = $6 & $7; + if ($5 >>> 0 >= $4 >>> 0) { + break label$1; + } + $1 = HEAP32[8173]; + if ($1) { + $2 = HEAP32[8171]; + $9 = $4 + $2 | 0; + if ($1 >>> 0 < $9 >>> 0 | $2 >>> 0 >= $9 >>> 0) { + break label$1; + } + } + label$51: { + if (!(HEAPU8[32696] & 4)) { + label$53: { + label$54: { + label$55: { + label$56: { + $1 = HEAP32[8069]; + if ($1) { + $0 = 32700; + while (1) { + $2 = HEAP32[$0 >> 2]; + if ($2 >>> 0 <= $1 >>> 0 & HEAP32[$0 + 4 >> 2] + $2 >>> 0 > $1 >>> 0) { + break label$56; + } + $0 = HEAP32[$0 + 8 >> 2]; + if ($0) { + continue; + } + break; + } + } + $3 = sbrk(0); + if (($3 | 0) == -1) { + break label$53; + } + $6 = $4; + $0 = HEAP32[8182]; + $1 = $0 - 1 | 0; + if ($3 & $1) { + $6 = ($4 - $3 | 0) + ($1 + $3 & 0 - $0) | 0; + } + if ($5 >>> 0 >= $6 >>> 0) { + break label$53; + } + $0 = HEAP32[8173]; + if ($0) { + $1 = HEAP32[8171]; + $2 = $6 + $1 | 0; + if ($0 >>> 0 < $2 >>> 0 | $1 >>> 0 >= $2 >>> 0) { + break label$53; + } + } + $0 = sbrk($6); + if (($3 | 0) != ($0 | 0)) { + break label$55; + } + break label$51; + } + $6 = $6 - $3 & $7; + $3 = sbrk($6); + if (($3 | 0) == (HEAP32[$0 >> 2] + HEAP32[$0 + 4 >> 2] | 0)) { + break label$54; + } + $0 = $3; + } + if (($0 | 0) == -1) { + break label$53; + } + if ($5 + 48 >>> 0 <= $6 >>> 0) { + $3 = $0; + break label$51; + } + $1 = HEAP32[8183]; + $1 = $1 + ($8 - $6 | 0) & 0 - $1; + if ((sbrk($1) | 0) == -1) { + break label$53; + } + $6 = $1 + $6 | 0; + $3 = $0; + break label$51; + } + if (($3 | 0) != -1) { + break label$51; + } + } + HEAP32[8174] = HEAP32[8174] | 4; + } + $3 = sbrk($4); + $0 = sbrk(0); + if (($3 | 0) == -1 | ($0 | 0) == -1 | $0 >>> 0 <= $3 >>> 0) { + break label$9; + } + $6 = $0 - $3 | 0; + if ($6 >>> 0 <= $5 + 40 >>> 0) { + break label$9; + } + } + $0 = HEAP32[8171] + $6 | 0; + HEAP32[8171] = $0; + if (HEAPU32[8172] < $0 >>> 0) { + HEAP32[8172] = $0; + } + label$64: { + $1 = HEAP32[8069]; + if ($1) { + $0 = 32700; + while (1) { + $2 = HEAP32[$0 >> 2]; + $4 = HEAP32[$0 + 4 >> 2]; + if (($2 + $4 | 0) == ($3 | 0)) { + break label$64; + } + $0 = HEAP32[$0 + 8 >> 2]; + if ($0) { + continue; + } + break; + } + break label$11; + } + $0 = HEAP32[8067]; + if (!($0 >>> 0 <= $3 >>> 0 ? $0 : 0)) { + HEAP32[8067] = $3; + } + $0 = 0; + HEAP32[8176] = $6; + HEAP32[8175] = $3; + HEAP32[8071] = -1; + HEAP32[8072] = HEAP32[8181]; + HEAP32[8178] = 0; + while (1) { + $1 = $0 << 3; + $2 = $1 + 32292 | 0; + HEAP32[$1 + 32300 >> 2] = $2; + HEAP32[$1 + 32304 >> 2] = $2; + $0 = $0 + 1 | 0; + if (($0 | 0) != 32) { + continue; + } + break; + } + $0 = $6 - 40 | 0; + $1 = $3 + 8 & 7 ? -8 - $3 & 7 : 0; + $2 = $0 - $1 | 0; + HEAP32[8066] = $2; + $1 = $1 + $3 | 0; + HEAP32[8069] = $1; + HEAP32[$1 + 4 >> 2] = $2 | 1; + HEAP32[($0 + $3 | 0) + 4 >> 2] = 40; + HEAP32[8070] = HEAP32[8185]; + break label$10; + } + if (HEAP32[$0 + 12 >> 2] & 8 | ($1 >>> 0 < $2 >>> 0 | $1 >>> 0 >= $3 >>> 0)) { + break label$11; + } + HEAP32[$0 + 4 >> 2] = $4 + $6; + $0 = $1 + 8 & 7 ? -8 - $1 & 7 : 0; + $2 = $1 + $0 | 0; + HEAP32[8069] = $2; + $3 = HEAP32[8066] + $6 | 0; + $0 = $3 - $0 | 0; + HEAP32[8066] = $0; + HEAP32[$2 + 4 >> 2] = $0 | 1; + HEAP32[($1 + $3 | 0) + 4 >> 2] = 40; + HEAP32[8070] = HEAP32[8185]; + break label$10; + } + $4 = 0; + break label$2; + } + $3 = 0; + break label$3; + } + $4 = HEAP32[8067]; + if ($4 >>> 0 > $3 >>> 0) { + HEAP32[8067] = $3; + } + $2 = $3 + $6 | 0; + $0 = 32700; + label$70: { + label$71: { + label$72: { + while (1) { + if (HEAP32[$0 >> 2] != ($2 | 0)) { + $0 = HEAP32[$0 + 8 >> 2]; + if ($0) { + continue; + } + break label$72; + } + break; + } + if (!(HEAPU8[$0 + 12 | 0] & 8)) { + break label$71; + } + } + $0 = 32700; + while (1) { + $2 = HEAP32[$0 >> 2]; + if ($2 >>> 0 <= $1 >>> 0) { + $2 = HEAP32[$0 + 4 >> 2] + $2 | 0; + if ($2 >>> 0 > $1 >>> 0) { + break label$70; + } + } + $0 = HEAP32[$0 + 8 >> 2]; + continue; + } + } + HEAP32[$0 >> 2] = $3; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] + $6; + $7 = ($3 + 8 & 7 ? -8 - $3 & 7 : 0) + $3 | 0; + HEAP32[$7 + 4 >> 2] = $5 | 3; + $6 = ($2 + 8 & 7 ? -8 - $2 & 7 : 0) + $2 | 0; + $5 = $5 + $7 | 0; + $0 = $6 - $5 | 0; + if (($1 | 0) == ($6 | 0)) { + HEAP32[8069] = $5; + $0 = HEAP32[8066] + $0 | 0; + HEAP32[8066] = $0; + HEAP32[$5 + 4 >> 2] = $0 | 1; + break label$4; + } + if (HEAP32[8068] == ($6 | 0)) { + HEAP32[8068] = $5; + $0 = HEAP32[8065] + $0 | 0; + HEAP32[8065] = $0; + HEAP32[$5 + 4 >> 2] = $0 | 1; + HEAP32[$0 + $5 >> 2] = $0; + break label$4; + } + $1 = HEAP32[$6 + 4 >> 2]; + if (($1 & 3) != 1) { + break label$5; + } + $8 = $1 & -8; + if ($1 >>> 0 <= 255) { + $4 = $1 >>> 3 | 0; + $1 = HEAP32[$6 + 12 >> 2]; + $2 = HEAP32[$6 + 8 >> 2]; + if (($1 | 0) == ($2 | 0)) { + wasm2js_i32$0 = 32252, wasm2js_i32$1 = HEAP32[8063] & __wasm_rotl_i32(-2, $4), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$6; + } + HEAP32[$2 + 12 >> 2] = $1; + HEAP32[$1 + 8 >> 2] = $2; + break label$6; + } + $9 = HEAP32[$6 + 24 >> 2]; + $3 = HEAP32[$6 + 12 >> 2]; + if (($6 | 0) != ($3 | 0)) { + $1 = HEAP32[$6 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $3; + HEAP32[$3 + 8 >> 2] = $1; + break label$7; + } + $2 = $6 + 20 | 0; + $1 = HEAP32[$2 >> 2]; + if (!$1) { + $1 = HEAP32[$6 + 16 >> 2]; + if (!$1) { + break label$8; + } + $2 = $6 + 16 | 0; + } + while (1) { + $4 = $2; + $3 = $1; + $2 = $1 + 20 | 0; + $1 = HEAP32[$2 >> 2]; + if ($1) { + continue; + } + $2 = $3 + 16 | 0; + $1 = HEAP32[$3 + 16 >> 2]; + if ($1) { + continue; + } + break; + } + HEAP32[$4 >> 2] = 0; + break label$7; + } + $0 = $6 - 40 | 0; + $4 = $3 + 8 & 7 ? -8 - $3 & 7 : 0; + $7 = $0 - $4 | 0; + HEAP32[8066] = $7; + $4 = $3 + $4 | 0; + HEAP32[8069] = $4; + HEAP32[$4 + 4 >> 2] = $7 | 1; + HEAP32[($0 + $3 | 0) + 4 >> 2] = 40; + HEAP32[8070] = HEAP32[8185]; + $0 = (($2 - 39 & 7 ? 39 - $2 & 7 : 0) + $2 | 0) - 47 | 0; + $4 = $1 + 16 >>> 0 > $0 >>> 0 ? $1 : $0; + HEAP32[$4 + 4 >> 2] = 27; + $0 = HEAP32[8178]; + $7 = HEAP32[8177]; + HEAP32[$4 + 16 >> 2] = $7; + HEAP32[$4 + 20 >> 2] = $0; + $7 = HEAP32[8176]; + $0 = HEAP32[8175]; + HEAP32[$4 + 8 >> 2] = $0; + HEAP32[$4 + 12 >> 2] = $7; + HEAP32[8177] = $4 + 8; + HEAP32[8176] = $6; + HEAP32[8175] = $3; + HEAP32[8178] = 0; + $0 = $4 + 24 | 0; + while (1) { + HEAP32[$0 + 4 >> 2] = 7; + $3 = $0 + 8 | 0; + $0 = $0 + 4 | 0; + if ($3 >>> 0 < $2 >>> 0) { + continue; + } + break; + } + if (($1 | 0) == ($4 | 0)) { + break label$10; + } + HEAP32[$4 + 4 >> 2] = HEAP32[$4 + 4 >> 2] & -2; + $3 = $4 - $1 | 0; + HEAP32[$1 + 4 >> 2] = $3 | 1; + HEAP32[$4 >> 2] = $3; + if ($3 >>> 0 <= 255) { + $0 = ($3 & -8) + 32292 | 0; + $3 = 1 << ($3 >>> 3); + $2 = HEAP32[8063]; + label$86: { + if (!($3 & $2)) { + HEAP32[8063] = $3 | $2; + $2 = $0; + break label$86; + } + $2 = HEAP32[$0 + 8 >> 2]; + } + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = $1; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$1 + 8 >> 2] = $2; + break label$10; + } + $0 = 31; + if ($3 >>> 0 <= 16777215) { + $0 = Math_clz32($3 >>> 8 | 0); + $0 = (($3 >>> 38 - $0 & 1) - ($0 << 1) | 0) + 62 | 0; + } + HEAP32[$1 + 28 >> 2] = $0; + HEAP32[$1 + 16 >> 2] = 0; + HEAP32[$1 + 20 >> 2] = 0; + $2 = ($0 << 2) + 32556 | 0; + label$89: { + $4 = HEAP32[8064]; + $6 = 1 << $0; + label$90: { + if (!($4 & $6)) { + HEAP32[8064] = $4 | $6; + HEAP32[$2 >> 2] = $1; + break label$90; + } + $0 = $3 << (($0 | 0) != 31 ? 25 - ($0 >>> 1 | 0) | 0 : 0); + $4 = HEAP32[$2 >> 2]; + while (1) { + $2 = $4; + if ((HEAP32[$2 + 4 >> 2] & -8) == ($3 | 0)) { + break label$89; + } + $4 = $0 >>> 29 | 0; + $0 = $0 << 1; + $7 = ($4 & 4) + $2 | 0; + $6 = $7 + 16 | 0; + $4 = HEAP32[$6 >> 2]; + if ($4) { + continue; + } + break; + } + HEAP32[$7 + 16 >> 2] = $1; + } + HEAP32[$1 + 24 >> 2] = $2; + HEAP32[$1 + 12 >> 2] = $1; + HEAP32[$1 + 8 >> 2] = $1; + break label$10; + } + $0 = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 12 >> 2] = $1; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[$1 + 24 >> 2] = 0; + HEAP32[$1 + 12 >> 2] = $2; + HEAP32[$1 + 8 >> 2] = $0; + } + $0 = HEAP32[8066]; + if ($5 >>> 0 >= $0 >>> 0) { + break label$9; + } + $1 = $0 - $5 | 0; + HEAP32[8066] = $1; + $0 = HEAP32[8069]; + $2 = $5 + $0 | 0; + HEAP32[8069] = $2; + HEAP32[$2 + 4 >> 2] = $1 | 1; + HEAP32[$0 + 4 >> 2] = $5 | 3; + $0 = $0 + 8 | 0; + break label$1; + } + wasm2js_i32$0 = __errno_location(), wasm2js_i32$1 = 48, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $0 = 0; + break label$1; + } + $3 = 0; + } + if (!$9) { + break label$6; + } + $2 = HEAP32[$6 + 28 >> 2]; + $1 = ($2 << 2) + 32556 | 0; + label$93: { + if (HEAP32[$1 >> 2] == ($6 | 0)) { + HEAP32[$1 >> 2] = $3; + if ($3) { + break label$93; + } + wasm2js_i32$0 = 32256, wasm2js_i32$1 = HEAP32[8064] & __wasm_rotl_i32(-2, $2), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$6; + } + HEAP32[(HEAP32[$9 + 16 >> 2] == ($6 | 0) ? 16 : 20) + $9 >> 2] = $3; + if (!$3) { + break label$6; + } + } + HEAP32[$3 + 24 >> 2] = $9; + $1 = HEAP32[$6 + 16 >> 2]; + if ($1) { + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$1 + 24 >> 2] = $3; + } + $1 = HEAP32[$6 + 20 >> 2]; + if (!$1) { + break label$6; + } + HEAP32[$3 + 20 >> 2] = $1; + HEAP32[$1 + 24 >> 2] = $3; + } + $0 = $0 + $8 | 0; + $6 = $6 + $8 | 0; + $1 = HEAP32[$6 + 4 >> 2]; + } + HEAP32[$6 + 4 >> 2] = $1 & -2; + HEAP32[$5 + 4 >> 2] = $0 | 1; + HEAP32[$0 + $5 >> 2] = $0; + if ($0 >>> 0 <= 255) { + $1 = ($0 & -8) + 32292 | 0; + $0 = 1 << ($0 >>> 3); + $2 = HEAP32[8063]; + label$97: { + if (!($0 & $2)) { + HEAP32[8063] = $0 | $2; + $0 = $1; + break label$97; + } + $0 = HEAP32[$1 + 8 >> 2]; + } + HEAP32[$1 + 8 >> 2] = $5; + HEAP32[$0 + 12 >> 2] = $5; + HEAP32[$5 + 12 >> 2] = $1; + HEAP32[$5 + 8 >> 2] = $0; + break label$4; + } + $1 = 31; + if ($0 >>> 0 <= 16777215) { + $1 = Math_clz32($0 >>> 8 | 0); + $1 = (($0 >>> 38 - $1 & 1) - ($1 << 1) | 0) + 62 | 0; + } + HEAP32[$5 + 28 >> 2] = $1; + HEAP32[$5 + 16 >> 2] = 0; + HEAP32[$5 + 20 >> 2] = 0; + $2 = ($1 << 2) + 32556 | 0; + label$100: { + $3 = HEAP32[8064]; + $4 = 1 << $1; + label$101: { + if (!($3 & $4)) { + HEAP32[8064] = $3 | $4; + HEAP32[$2 >> 2] = $5; + break label$101; + } + $1 = $0 << (($1 | 0) != 31 ? 25 - ($1 >>> 1 | 0) | 0 : 0); + $3 = HEAP32[$2 >> 2]; + while (1) { + $2 = $3; + if ((HEAP32[$3 + 4 >> 2] & -8) == ($0 | 0)) { + break label$100; + } + $3 = $1 >>> 29 | 0; + $1 = $1 << 1; + $6 = ($3 & 4) + $2 | 0; + $4 = $6 + 16 | 0; + $3 = HEAP32[$4 >> 2]; + if ($3) { + continue; + } + break; + } + HEAP32[$6 + 16 >> 2] = $5; + } + HEAP32[$5 + 24 >> 2] = $2; + HEAP32[$5 + 12 >> 2] = $5; + HEAP32[$5 + 8 >> 2] = $5; + break label$4; + } + $0 = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 12 >> 2] = $5; + HEAP32[$2 + 8 >> 2] = $5; + HEAP32[$5 + 24 >> 2] = 0; + HEAP32[$5 + 12 >> 2] = $2; + HEAP32[$5 + 8 >> 2] = $0; + } + $0 = $7 + 8 | 0; + break label$1; + } + label$104: { + if (!$7) { + break label$104; + } + $2 = HEAP32[$4 + 28 >> 2]; + $0 = ($2 << 2) + 32556 | 0; + label$105: { + if (HEAP32[$0 >> 2] == ($4 | 0)) { + HEAP32[$0 >> 2] = $3; + if ($3) { + break label$105; + } + $8 = __wasm_rotl_i32(-2, $2) & $8; + HEAP32[8064] = $8; + break label$104; + } + HEAP32[(HEAP32[$7 + 16 >> 2] == ($4 | 0) ? 16 : 20) + $7 >> 2] = $3; + if (!$3) { + break label$104; + } + } + HEAP32[$3 + 24 >> 2] = $7; + $0 = HEAP32[$4 + 16 >> 2]; + if ($0) { + HEAP32[$3 + 16 >> 2] = $0; + HEAP32[$0 + 24 >> 2] = $3; + } + $0 = HEAP32[$4 + 20 >> 2]; + if (!$0) { + break label$104; + } + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$0 + 24 >> 2] = $3; + } + label$108: { + if ($1 >>> 0 <= 15) { + $0 = $1 + $5 | 0; + HEAP32[$4 + 4 >> 2] = $0 | 3; + $0 = $0 + $4 | 0; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 1; + break label$108; + } + HEAP32[$4 + 4 >> 2] = $5 | 3; + $3 = $5 + $4 | 0; + HEAP32[$3 + 4 >> 2] = $1 | 1; + HEAP32[$1 + $3 >> 2] = $1; + if ($1 >>> 0 <= 255) { + $0 = ($1 & -8) + 32292 | 0; + $1 = 1 << ($1 >>> 3); + $2 = HEAP32[8063]; + label$111: { + if (!($1 & $2)) { + HEAP32[8063] = $1 | $2; + $1 = $0; + break label$111; + } + $1 = HEAP32[$0 + 8 >> 2]; + } + HEAP32[$0 + 8 >> 2] = $3; + HEAP32[$1 + 12 >> 2] = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + break label$108; + } + $0 = 31; + if ($1 >>> 0 <= 16777215) { + $0 = Math_clz32($1 >>> 8 | 0); + $0 = (($1 >>> 38 - $0 & 1) - ($0 << 1) | 0) + 62 | 0; + } + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = 0; + HEAP32[$3 + 20 >> 2] = 0; + $2 = ($0 << 2) + 32556 | 0; + label$114: { + $5 = 1 << $0; + label$115: { + if (!($8 & $5)) { + HEAP32[8064] = $5 | $8; + HEAP32[$2 >> 2] = $3; + break label$115; + } + $0 = $1 << (($0 | 0) != 31 ? 25 - ($0 >>> 1 | 0) | 0 : 0); + $5 = HEAP32[$2 >> 2]; + while (1) { + $2 = $5; + if ((HEAP32[$2 + 4 >> 2] & -8) == ($1 | 0)) { + break label$114; + } + $5 = $0 >>> 29 | 0; + $0 = $0 << 1; + $7 = ($5 & 4) + $2 | 0; + $6 = $7 + 16 | 0; + $5 = HEAP32[$6 >> 2]; + if ($5) { + continue; + } + break; + } + HEAP32[$7 + 16 >> 2] = $3; + } + HEAP32[$3 + 24 >> 2] = $2; + HEAP32[$3 + 12 >> 2] = $3; + HEAP32[$3 + 8 >> 2] = $3; + break label$108; + } + $0 = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 12 >> 2] = $3; + HEAP32[$2 + 8 >> 2] = $3; + HEAP32[$3 + 24 >> 2] = 0; + HEAP32[$3 + 12 >> 2] = $2; + HEAP32[$3 + 8 >> 2] = $0; + } + $0 = $4 + 8 | 0; + break label$1; + } + label$118: { + if (!$10) { + break label$118; + } + $2 = HEAP32[$3 + 28 >> 2]; + $0 = ($2 << 2) + 32556 | 0; + label$119: { + if (HEAP32[$0 >> 2] == ($3 | 0)) { + HEAP32[$0 >> 2] = $4; + if ($4) { + break label$119; + } + wasm2js_i32$0 = 32256, wasm2js_i32$1 = __wasm_rotl_i32(-2, $2) & $9, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$118; + } + HEAP32[(HEAP32[$10 + 16 >> 2] == ($3 | 0) ? 16 : 20) + $10 >> 2] = $4; + if (!$4) { + break label$118; + } + } + HEAP32[$4 + 24 >> 2] = $10; + $0 = HEAP32[$3 + 16 >> 2]; + if ($0) { + HEAP32[$4 + 16 >> 2] = $0; + HEAP32[$0 + 24 >> 2] = $4; + } + $0 = HEAP32[$3 + 20 >> 2]; + if (!$0) { + break label$118; + } + HEAP32[$4 + 20 >> 2] = $0; + HEAP32[$0 + 24 >> 2] = $4; + } + label$122: { + if ($1 >>> 0 <= 15) { + $0 = $1 + $5 | 0; + HEAP32[$3 + 4 >> 2] = $0 | 3; + $0 = $0 + $3 | 0; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 1; + break label$122; + } + HEAP32[$3 + 4 >> 2] = $5 | 3; + $2 = $3 + $5 | 0; + HEAP32[$2 + 4 >> 2] = $1 | 1; + HEAP32[$1 + $2 >> 2] = $1; + if ($8) { + $5 = ($8 & -8) + 32292 | 0; + $0 = HEAP32[8068]; + $4 = 1 << ($8 >>> 3); + label$125: { + if (!($6 & $4)) { + HEAP32[8063] = $4 | $6; + $4 = $5; + break label$125; + } + $4 = HEAP32[$5 + 8 >> 2]; + } + HEAP32[$5 + 8 >> 2] = $0; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$0 + 12 >> 2] = $5; + HEAP32[$0 + 8 >> 2] = $4; + } + HEAP32[8068] = $2; + HEAP32[8065] = $1; + } + $0 = $3 + 8 | 0; + } + __stack_pointer = $11 + 16 | 0; + return $0 | 0; +} + +function printf_core($0, $1, $2, $3, $4, $5, $6) { + var $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8 = __stack_pointer - 80 | 0; + __stack_pointer = $8; + HEAP32[$8 + 76 >> 2] = $1; + $25 = $8 + 55 | 0; + $21 = $8 + 56 | 0; + label$1: { + label$2: { + label$3: { + label$4: { + label$5: while (1) { + $15 = $1; + if (($16 ^ 2147483647) < ($7 | 0)) { + break label$4; + } + $16 = $7 + $16 | 0; + label$6: { + label$8: { + label$9: { + $7 = $15; + $12 = HEAPU8[$7 | 0]; + if ($12) { + while (1) { + label$12: { + $12 = $12 & 255; + label$13: { + if (!$12) { + $1 = $7; + break label$13; + } + if (($12 | 0) != 37) { + break label$12; + } + $12 = $7; + while (1) { + if (HEAPU8[$12 + 1 | 0] != 37) { + $1 = $12; + break label$13; + } + $7 = $7 + 1 | 0; + $9 = HEAPU8[$12 + 2 | 0]; + $1 = $12 + 2 | 0; + $12 = $1; + if (($9 | 0) == 37) { + continue; + } + break; + } + } + $7 = $7 - $15 | 0; + $12 = $16 ^ 2147483647; + if (($7 | 0) > ($12 | 0)) { + break label$4; + } + if ($0) { + out($0, $15, $7); + } + if ($7) { + continue label$5; + } + HEAP32[$8 + 76 >> 2] = $1; + $7 = $1 + 1 | 0; + $19 = -1; + if (!(!isdigit(HEAP8[$1 + 1 | 0]) | HEAPU8[$1 + 2 | 0] != 36)) { + $19 = HEAP8[$1 + 1 | 0] - 48 | 0; + $22 = 1; + $7 = $1 + 3 | 0; + } + HEAP32[$8 + 76 >> 2] = $7; + $14 = 0; + $13 = HEAP8[$7 | 0]; + $1 = $13 - 32 | 0; + label$19: { + if ($1 >>> 0 > 31) { + $9 = $7; + break label$19; + } + $9 = $7; + $1 = 1 << $1; + if (!($1 & 75913)) { + break label$19; + } + while (1) { + $9 = $7 + 1 | 0; + HEAP32[$8 + 76 >> 2] = $9; + $14 = $1 | $14; + $13 = HEAP8[$7 + 1 | 0]; + $1 = $13 - 32 | 0; + if ($1 >>> 0 >= 32) { + break label$19; + } + $7 = $9; + $1 = 1 << $1; + if ($1 & 75913) { + continue; + } + break; + } + } + label$22: { + if (($13 | 0) == 42) { + label$24: { + if (!(!isdigit(HEAP8[$9 + 1 | 0]) | HEAPU8[$9 + 2 | 0] != 36)) { + HEAP32[((HEAP8[$9 + 1 | 0] << 2) + $4 | 0) - 192 >> 2] = 10; + $13 = $9 + 3 | 0; + $18 = HEAP32[((HEAP8[$9 + 1 | 0] << 3) + $3 | 0) - 384 >> 2]; + $22 = 1; + break label$24; + } + if ($22) { + break label$9; + } + $13 = $9 + 1 | 0; + if (!$0) { + HEAP32[$8 + 76 >> 2] = $13; + $22 = 0; + $18 = 0; + break label$22; + } + $7 = HEAP32[$2 >> 2]; + HEAP32[$2 >> 2] = $7 + 4; + $18 = HEAP32[$7 >> 2]; + $22 = 0; + } + HEAP32[$8 + 76 >> 2] = $13; + if (($18 | 0) >= 0) { + break label$22; + } + $18 = 0 - $18 | 0; + $14 = $14 | 8192; + break label$22; + } + $18 = getint($8 + 76 | 0); + if (($18 | 0) < 0) { + break label$4; + } + $13 = HEAP32[$8 + 76 >> 2]; + } + $7 = 0; + $11 = -1; + label$27: { + if (HEAPU8[$13 | 0] != 46) { + $1 = $13; + $10 = 0; + break label$27; + } + if (HEAPU8[$13 + 1 | 0] == 42) { + label$30: { + if (!(!isdigit(HEAP8[$13 + 2 | 0]) | HEAPU8[$13 + 3 | 0] != 36)) { + HEAP32[((HEAP8[$13 + 2 | 0] << 2) + $4 | 0) - 192 >> 2] = 10; + $1 = $13 + 4 | 0; + $11 = HEAP32[((HEAP8[$13 + 2 | 0] << 3) + $3 | 0) - 384 >> 2]; + break label$30; + } + if ($22) { + break label$9; + } + $1 = $13 + 2 | 0; + $11 = 0; + if (!$0) { + break label$30; + } + $9 = HEAP32[$2 >> 2]; + HEAP32[$2 >> 2] = $9 + 4; + $11 = HEAP32[$9 >> 2]; + } + HEAP32[$8 + 76 >> 2] = $1; + $10 = ($11 ^ -1) >>> 31 | 0; + break label$27; + } + HEAP32[$8 + 76 >> 2] = $13 + 1; + $11 = getint($8 + 76 | 0); + $1 = HEAP32[$8 + 76 >> 2]; + $10 = 1; + } + $23 = $10; + while (1) { + $9 = $7; + $20 = 28; + $13 = $1; + $7 = HEAP8[$13 | 0]; + if ($7 - 123 >>> 0 < 4294967238) { + break label$3; + } + $1 = $13 + 1 | 0; + $7 = HEAPU8[(Math_imul($9, 58) + $7 | 0) + 23343 | 0]; + if ($7 - 1 >>> 0 < 8) { + continue; + } + break; + } + HEAP32[$8 + 76 >> 2] = $1; + label$33: { + label$34: { + if (($7 | 0) != 27) { + if (!$7) { + break label$3; + } + if (($19 | 0) >= 0) { + HEAP32[($19 << 2) + $4 >> 2] = $7; + $10 = ($19 << 3) + $3 | 0; + $17 = HEAP32[$10 >> 2]; + $10 = HEAP32[$10 + 4 >> 2]; + HEAP32[$8 + 64 >> 2] = $17; + HEAP32[$8 + 68 >> 2] = $10; + break label$34; + } + if (!$0) { + break label$6; + } + pop_arg($8 - -64 | 0, $7, $2, $6); + break label$33; + } + if (($19 | 0) >= 0) { + break label$3; + } + } + $7 = 0; + if (!$0) { + continue label$5; + } + } + $10 = $14 & -65537; + $14 = $14 & 8192 ? $10 : $14; + $19 = 0; + $24 = 1765; + $20 = $21; + label$37: { + label$38: { + label$39: { + label$40: { + label$41: { + label$42: { + label$43: { + label$44: { + label$45: { + label$46: { + label$47: { + label$48: { + label$49: { + label$50: { + label$51: { + label$52: { + $7 = HEAP8[$13 | 0]; + $7 = $9 ? ($7 & 15) == 3 ? $7 & -33 : $7 : $7; + switch ($7 - 88 | 0) { + case 11: + break label$37; + + case 9: + case 13: + case 14: + case 15: + break label$38; + + case 27: + break label$43; + + case 12: + case 17: + break label$46; + + case 23: + break label$47; + + case 0: + case 32: + break label$48; + + case 24: + break label$49; + + case 22: + break label$50; + + case 29: + break label$51; + + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 10: + case 16: + case 18: + case 19: + case 20: + case 21: + case 25: + case 26: + case 28: + case 30: + case 31: + break label$8; + + default: + break label$52; + } + } + label$53: { + switch ($7 - 65 | 0) { + case 0: + case 4: + case 5: + case 6: + break label$38; + + case 2: + break label$41; + + case 1: + case 3: + break label$8; + + default: + break label$53; + } + } + if (($7 | 0) == 83) { + break label$42; + } + break label$8; + } + $10 = HEAP32[$8 + 64 >> 2]; + $17 = HEAP32[$8 + 68 >> 2]; + $7 = $17; + $9 = 1765; + break label$45; + } + $7 = 0; + label$54: { + switch ($9 & 255) { + case 0: + HEAP32[HEAP32[$8 + 64 >> 2] >> 2] = $16; + continue label$5; + + case 1: + HEAP32[HEAP32[$8 + 64 >> 2] >> 2] = $16; + continue label$5; + + case 2: + $10 = $16; + $17 = $10 >> 31; + $10 = HEAP32[$8 + 64 >> 2]; + HEAP32[$10 >> 2] = $16; + HEAP32[$10 + 4 >> 2] = $17; + continue label$5; + + case 3: + HEAP16[HEAP32[$8 + 64 >> 2] >> 1] = $16; + continue label$5; + + case 4: + HEAP8[HEAP32[$8 + 64 >> 2]] = $16; + continue label$5; + + case 6: + HEAP32[HEAP32[$8 + 64 >> 2] >> 2] = $16; + continue label$5; + + case 7: + break label$54; + + default: + continue label$5; + } + } + $10 = $16; + $17 = $10 >> 31; + $10 = HEAP32[$8 + 64 >> 2]; + HEAP32[$10 >> 2] = $16; + HEAP32[$10 + 4 >> 2] = $17; + continue label$5; + } + $11 = $11 >>> 0 <= 8 ? 8 : $11; + $14 = $14 | 8; + $7 = 120; + } + $17 = HEAP32[$8 + 64 >> 2]; + $10 = HEAP32[$8 + 68 >> 2]; + $15 = fmt_x($17, $10, $21, $7 & 32); + $10 = HEAP32[$8 + 64 >> 2]; + $17 = HEAP32[$8 + 68 >> 2]; + if (!($17 | $10) | !($14 & 8)) { + break label$44; + } + $24 = ($7 >>> 4 | 0) + 1765 | 0; + $19 = 2; + break label$44; + } + $17 = HEAP32[$8 + 64 >> 2]; + $10 = HEAP32[$8 + 68 >> 2]; + $15 = fmt_o($17, $10, $21); + if (!($14 & 8)) { + break label$44; + } + $7 = $21 - $15 | 0; + $11 = ($7 | 0) < ($11 | 0) ? $11 : $7 + 1 | 0; + break label$44; + } + $10 = HEAP32[$8 + 64 >> 2]; + $17 = HEAP32[$8 + 68 >> 2]; + $7 = $17; + if (($17 | 0) < 0) { + $9 = $7 + (($10 | 0) != 0) | 0; + $9 = 0 - $9 | 0; + $7 = $9; + $10 = 0 - $10 | 0; + HEAP32[$8 + 64 >> 2] = $10; + HEAP32[$8 + 68 >> 2] = $7; + $19 = 1; + $9 = 1765; + break label$45; + } + if ($14 & 2048) { + $19 = 1; + $9 = 1766; + break label$45; + } + $19 = $14 & 1; + $9 = $19 ? 1767 : 1765; + } + $24 = $9; + $15 = fmt_u($10, $7, $21); + } + if (($11 | 0) < 0 ? $23 : 0) { + break label$4; + } + $14 = $23 ? $14 & -65537 : $14; + $7 = HEAP32[$8 + 68 >> 2]; + $9 = HEAP32[$8 + 64 >> 2]; + $10 = $9; + if (!($11 | ($10 | $7) != 0)) { + $15 = $21; + $11 = 0; + break label$8; + } + $7 = !($7 | $10) + ($21 - $15 | 0) | 0; + $11 = ($7 | 0) < ($11 | 0) ? $11 : $7; + break label$8; + } + $7 = HEAP32[$8 + 64 >> 2]; + $15 = $7 ? $7 : 12373; + $7 = strnlen($15, $11 >>> 0 >= 2147483647 ? 2147483647 : $11); + $20 = $7 + $15 | 0; + if (($11 | 0) >= 0) { + $14 = $10; + $11 = $7; + break label$8; + } + $14 = $10; + $11 = $7; + if (HEAPU8[$20 | 0]) { + break label$4; + } + break label$8; + } + $12 = HEAP32[$8 + 64 >> 2]; + if ($11) { + break label$40; + } + $7 = 0; + pad($0, 32, $18, 0, $14); + break label$39; + } + HEAP32[$8 + 12 >> 2] = 0; + $10 = HEAP32[$8 + 64 >> 2]; + HEAP32[$8 + 8 >> 2] = $10; + HEAP32[$8 + 64 >> 2] = $8 + 8; + $11 = -1; + $12 = $8 + 8 | 0; + } + $7 = 0; + label$66: { + while (1) { + $9 = HEAP32[$12 >> 2]; + if (!$9) { + break label$66; + } + $9 = wctomb($8 + 4 | 0, $9); + $15 = ($9 | 0) < 0; + if (!($15 | $11 - $7 >>> 0 < $9 >>> 0)) { + $12 = $12 + 4 | 0; + $7 = $7 + $9 | 0; + if ($11 >>> 0 > $7 >>> 0) { + continue; + } + break label$66; + } + break; + } + if ($15) { + break label$2; + } + } + $20 = 61; + if (($7 | 0) < 0) { + break label$3; + } + pad($0, 32, $18, $7, $14); + if (!$7) { + $7 = 0; + break label$39; + } + $9 = 0; + $12 = HEAP32[$8 + 64 >> 2]; + while (1) { + $15 = HEAP32[$12 >> 2]; + if (!$15) { + break label$39; + } + $15 = wctomb($8 + 4 | 0, $15); + $9 = $15 + $9 | 0; + if ($9 >>> 0 > $7 >>> 0) { + break label$39; + } + out($0, $8 + 4 | 0, $15); + $12 = $12 + 4 | 0; + if ($7 >>> 0 > $9 >>> 0) { + continue; + } + break; + } + } + pad($0, 32, $18, $7, $14 ^ 8192); + $7 = ($7 | 0) < ($18 | 0) ? $18 : $7; + continue label$5; + } + if (($11 | 0) < 0 ? $23 : 0) { + break label$4; + } + $20 = 61; + $7 = FUNCTION_TABLE[$5 | 0]($0, HEAPF64[$8 + 64 >> 3], $18, $11, $14, $7) | 0; + if (($7 | 0) >= 0) { + continue label$5; + } + break label$3; + } + $7 = HEAP32[$8 + 64 >> 2]; + HEAP8[$8 + 55 | 0] = $7; + $11 = 1; + $15 = $25; + $14 = $10; + break label$8; + } + $12 = HEAPU8[$7 + 1 | 0]; + $7 = $7 + 1 | 0; + continue; + } + } + if ($0) { + break label$1; + } + if (!$22) { + break label$6; + } + $7 = 1; + while (1) { + $12 = HEAP32[($7 << 2) + $4 >> 2]; + if ($12) { + pop_arg(($7 << 3) + $3 | 0, $12, $2, $6); + $16 = 1; + $7 = $7 + 1 | 0; + if (($7 | 0) != 10) { + continue; + } + break label$1; + } + break; + } + $16 = 1; + if ($7 >>> 0 >= 10) { + break label$1; + } + while (1) { + if (HEAP32[($7 << 2) + $4 >> 2]) { + break label$9; + } + $7 = $7 + 1 | 0; + if (($7 | 0) != 10) { + continue; + } + break; + } + break label$1; + } + $20 = 28; + break label$3; + } + $13 = $20 - $15 | 0; + $11 = ($11 | 0) > ($13 | 0) ? $11 : $13; + if (($11 | 0) > ($19 ^ 2147483647)) { + break label$4; + } + $20 = 61; + $9 = $11 + $19 | 0; + $7 = ($9 | 0) < ($18 | 0) ? $18 : $9; + if (($12 | 0) < ($7 | 0)) { + break label$3; + } + pad($0, 32, $7, $9, $14); + out($0, $24, $19); + pad($0, 48, $7, $9, $14 ^ 65536); + pad($0, 48, $11, $13, 0); + out($0, $15, $13); + pad($0, 32, $7, $9, $14 ^ 8192); + continue; + } + break; + } + $16 = 0; + break label$1; + } + $20 = 61; + } + wasm2js_i32$0 = __errno_location(), wasm2js_i32$1 = $20, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $16 = -1; + } + __stack_pointer = $8 + 80 | 0; + return $16; +} + +function b2World__SolveTOI_28b2TimeStep_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 480 | 0; + __stack_pointer = $2; + HEAP32[$2 + 476 >> 2] = $0; + HEAP32[$2 + 472 >> 2] = $1; + $5 = HEAP32[$2 + 476 >> 2]; + b2Island__b2Island_28int_2c_20int_2c_20int_2c_20b2StackAllocator__2c_20b2ContactListener__29($2 + 420 | 0, 64, 32, 0, $5 + 68 | 0, HEAP32[$5 + 102940 >> 2]); + if (HEAP8[$5 + 102994 | 0] & 1) { + HEAP32[$2 + 416 >> 2] = HEAP32[$5 + 102948 >> 2]; + while (1) { + if (HEAP32[$2 + 416 >> 2]) { + $0 = HEAP32[$2 + 416 >> 2]; + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] & -2; + HEAPF32[HEAP32[$2 + 416 >> 2] + 60 >> 2] = 0; + HEAP32[$2 + 416 >> 2] = HEAP32[HEAP32[$2 + 416 >> 2] + 96 >> 2]; + continue; + } + break; + } + HEAP32[$2 + 412 >> 2] = HEAP32[$5 + 102928 >> 2]; + while (1) { + if (HEAP32[$2 + 412 >> 2]) { + $0 = HEAP32[$2 + 412 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] & -34; + HEAP32[HEAP32[$2 + 412 >> 2] + 128 >> 2] = 0; + HEAPF32[HEAP32[$2 + 412 >> 2] + 132 >> 2] = 1; + HEAP32[$2 + 412 >> 2] = HEAP32[HEAP32[$2 + 412 >> 2] + 12 >> 2]; + continue; + } + break; + } + } + while (1) { + HEAP32[$2 + 408 >> 2] = 0; + HEAPF32[$2 + 404 >> 2] = 1; + HEAP32[$2 + 400 >> 2] = HEAP32[$5 + 102928 >> 2]; + while (1) { + if (HEAP32[$2 + 400 >> 2]) { + label$9: { + if (!(b2Contact__IsEnabled_28_29_20const(HEAP32[$2 + 400 >> 2]) & 1) | HEAP32[HEAP32[$2 + 400 >> 2] + 128 >> 2] > 8) { + break label$9; + } + HEAPF32[$2 + 396 >> 2] = 1; + label$10: { + if (HEAP32[HEAP32[$2 + 400 >> 2] + 4 >> 2] & 32) { + HEAPF32[$2 + 396 >> 2] = HEAPF32[HEAP32[$2 + 400 >> 2] + 132 >> 2]; + break label$10; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Contact__GetFixtureA_28_29(HEAP32[$2 + 400 >> 2]), + HEAP32[wasm2js_i32$0 + 392 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Contact__GetFixtureB_28_29(HEAP32[$2 + 400 >> 2]), + HEAP32[wasm2js_i32$0 + 388 >> 2] = wasm2js_i32$1; + if (b2Fixture__IsSensor_28_29_20const(HEAP32[$2 + 392 >> 2]) & 1) { + break label$9; + } + if (b2Fixture__IsSensor_28_29_20const(HEAP32[$2 + 388 >> 2]) & 1) { + break label$9; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$2 + 392 >> 2]), + HEAP32[wasm2js_i32$0 + 384 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$2 + 388 >> 2]), + HEAP32[wasm2js_i32$0 + 380 >> 2] = wasm2js_i32$1; + HEAP32[$2 + 376 >> 2] = HEAP32[HEAP32[$2 + 384 >> 2] >> 2]; + HEAP32[$2 + 372 >> 2] = HEAP32[HEAP32[$2 + 380 >> 2] >> 2]; + $0 = 0; + if (b2Body__IsAwake_28_29_20const(HEAP32[$2 + 384 >> 2]) & 1) { + $0 = HEAP32[$2 + 376 >> 2] != 0; + } + HEAP8[$2 + 371 | 0] = $0; + $0 = 0; + if (b2Body__IsAwake_28_29_20const(HEAP32[$2 + 380 >> 2]) & 1) { + $0 = HEAP32[$2 + 372 >> 2] != 0; + } + HEAP8[$2 + 370 | 0] = $0; + if (!(HEAP8[$2 + 371 | 0] & 1 | HEAP8[$2 + 370 | 0] & 1)) { + break label$9; + } + $0 = 1; + if (!(b2Body__IsBullet_28_29_20const(HEAP32[$2 + 384 >> 2]) & 1)) { + $0 = HEAP32[$2 + 376 >> 2] != 2; + } + HEAP8[$2 + 369 | 0] = $0; + $0 = 1; + if (!(b2Body__IsBullet_28_29_20const(HEAP32[$2 + 380 >> 2]) & 1)) { + $0 = HEAP32[$2 + 372 >> 2] != 2; + } + HEAP8[$2 + 368 | 0] = $0; + if (!(HEAP8[$2 + 369 | 0] & 1 | HEAP8[$2 + 368 | 0] & 1)) { + break label$9; + } + HEAPF32[$2 + 364 >> 2] = HEAPF32[HEAP32[$2 + 384 >> 2] + 60 >> 2]; + label$19: { + if (HEAPF32[HEAP32[$2 + 384 >> 2] + 60 >> 2] < HEAPF32[HEAP32[$2 + 380 >> 2] + 60 >> 2]) { + HEAPF32[$2 + 364 >> 2] = HEAPF32[HEAP32[$2 + 380 >> 2] + 60 >> 2]; + b2Sweep__Advance_28float_29(HEAP32[$2 + 384 >> 2] + 28 | 0, HEAPF32[$2 + 364 >> 2]); + break label$19; + } + if (HEAPF32[HEAP32[$2 + 380 >> 2] + 60 >> 2] < HEAPF32[HEAP32[$2 + 384 >> 2] + 60 >> 2]) { + HEAPF32[$2 + 364 >> 2] = HEAPF32[HEAP32[$2 + 384 >> 2] + 60 >> 2]; + b2Sweep__Advance_28float_29(HEAP32[$2 + 380 >> 2] + 28 | 0, HEAPF32[$2 + 364 >> 2]); + } + } + if (!(HEAPF32[$2 + 364 >> 2] < Math_fround(1))) { + __assert_fail(8093, 6161, 684, 10871); + wasm2js_trap(); + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Contact__GetChildIndexA_28_29_20const(HEAP32[$2 + 400 >> 2]), + HEAP32[wasm2js_i32$0 + 360 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Contact__GetChildIndexB_28_29_20const(HEAP32[$2 + 400 >> 2]), + HEAP32[wasm2js_i32$0 + 356 >> 2] = wasm2js_i32$1; + b2TOIInput__b2TOIInput_28_29($2 + 224 | 0); + b2DistanceProxy__Set_28b2Shape_20const__2c_20int_29($2 + 224 | 0, b2Fixture__GetShape_28_29(HEAP32[$2 + 392 >> 2]), HEAP32[$2 + 360 >> 2]); + b2DistanceProxy__Set_28b2Shape_20const__2c_20int_29($2 + 252 | 0, b2Fixture__GetShape_28_29(HEAP32[$2 + 388 >> 2]), HEAP32[$2 + 356 >> 2]); + $3 = HEAP32[$2 + 384 >> 2]; + $1 = HEAP32[$3 + 28 >> 2]; + $0 = HEAP32[$3 + 32 >> 2]; + $6 = $1; + $4 = $2 + 224 | 0; + $1 = $4; + HEAP32[$1 + 56 >> 2] = $6; + HEAP32[$1 + 60 >> 2] = $0; + HEAP32[$1 + 88 >> 2] = HEAP32[$3 + 60 >> 2]; + $1 = HEAP32[$3 + 56 >> 2]; + $0 = HEAP32[$3 + 52 >> 2]; + $6 = $0; + $0 = $4; + HEAP32[$0 + 80 >> 2] = $6; + HEAP32[$0 + 84 >> 2] = $1; + $0 = HEAP32[$3 + 48 >> 2]; + $1 = HEAP32[$3 + 44 >> 2]; + $6 = $1; + $1 = $4; + HEAP32[$1 + 72 >> 2] = $6; + HEAP32[$1 + 76 >> 2] = $0; + $1 = HEAP32[$3 + 40 >> 2]; + $0 = HEAP32[$3 + 36 >> 2]; + $3 = $0; + $0 = $4; + HEAP32[$0 + 64 >> 2] = $3; + HEAP32[$0 + 68 >> 2] = $1; + $3 = HEAP32[$2 + 380 >> 2]; + $1 = HEAP32[$3 + 28 >> 2]; + $0 = HEAP32[$3 + 32 >> 2]; + $6 = $1; + $4 = $2 + 224 | 0; + $1 = $4; + HEAP32[$1 + 92 >> 2] = $6; + HEAP32[$1 + 96 >> 2] = $0; + HEAP32[$1 + 124 >> 2] = HEAP32[$3 + 60 >> 2]; + $1 = HEAP32[$3 + 56 >> 2]; + $0 = HEAP32[$3 + 52 >> 2]; + $6 = $0; + $0 = $4; + HEAP32[$0 + 116 >> 2] = $6; + HEAP32[$0 + 120 >> 2] = $1; + $0 = HEAP32[$3 + 48 >> 2]; + $1 = HEAP32[$3 + 44 >> 2]; + $6 = $1; + $1 = $4; + HEAP32[$1 + 108 >> 2] = $6; + HEAP32[$1 + 112 >> 2] = $0; + $1 = HEAP32[$3 + 40 >> 2]; + $0 = HEAP32[$3 + 36 >> 2]; + $3 = $0; + $0 = $4; + HEAP32[$0 + 100 >> 2] = $3; + HEAP32[$0 + 104 >> 2] = $1; + HEAPF32[$2 + 352 >> 2] = 1; + b2TimeOfImpact_28b2TOIOutput__2c_20b2TOIInput_20const__29($2 + 216 | 0, $2 + 224 | 0); + HEAPF32[$2 + 212 >> 2] = HEAPF32[$2 + 220 >> 2]; + label$23: { + if (HEAP32[$2 + 216 >> 2] == 3) { + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Min_float__28float_2c_20float_29(Math_fround(Math_fround(Math_fround(Math_fround(1) - HEAPF32[$2 + 364 >> 2]) * HEAPF32[$2 + 212 >> 2]) + HEAPF32[$2 + 364 >> 2]), Math_fround(1)), + HEAPF32[wasm2js_i32$0 + 396 >> 2] = wasm2js_f32$0; + break label$23; + } + HEAPF32[$2 + 396 >> 2] = 1; + } + HEAPF32[HEAP32[$2 + 400 >> 2] + 132 >> 2] = HEAPF32[$2 + 396 >> 2]; + $0 = HEAP32[$2 + 400 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 32; + } + if (HEAPF32[$2 + 396 >> 2] < HEAPF32[$2 + 404 >> 2]) { + HEAP32[$2 + 408 >> 2] = HEAP32[$2 + 400 >> 2]; + HEAPF32[$2 + 404 >> 2] = HEAPF32[$2 + 396 >> 2]; + } + } + HEAP32[$2 + 400 >> 2] = HEAP32[HEAP32[$2 + 400 >> 2] + 12 >> 2]; + continue; + } + break; + } + label$26: { + if (!(HEAPF32[$2 + 404 >> 2] > Math_fround(.9999988079071045) ? 0 : HEAP32[$2 + 408 >> 2])) { + HEAP8[$5 + 102994 | 0] = 1; + break label$26; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Contact__GetFixtureA_28_29(HEAP32[$2 + 408 >> 2]), + HEAP32[wasm2js_i32$0 + 208 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Contact__GetFixtureB_28_29(HEAP32[$2 + 408 >> 2]), + HEAP32[wasm2js_i32$0 + 204 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$2 + 208 >> 2]), + HEAP32[wasm2js_i32$0 + 200 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$2 + 204 >> 2]), + HEAP32[wasm2js_i32$0 + 196 >> 2] = wasm2js_i32$1; + $3 = HEAP32[$2 + 200 >> 2]; + HEAP32[$2 + 192 >> 2] = HEAP32[$3 + 60 >> 2]; + $1 = HEAP32[$3 + 52 >> 2]; + $0 = HEAP32[$3 + 56 >> 2]; + HEAP32[$2 + 184 >> 2] = $1; + HEAP32[$2 + 188 >> 2] = $0; + $1 = HEAP32[$3 + 48 >> 2]; + $0 = HEAP32[$3 + 44 >> 2]; + HEAP32[$2 + 176 >> 2] = $0; + HEAP32[$2 + 180 >> 2] = $1; + $0 = HEAP32[$3 + 40 >> 2]; + $1 = HEAP32[$3 + 36 >> 2]; + HEAP32[$2 + 168 >> 2] = $1; + HEAP32[$2 + 172 >> 2] = $0; + $1 = HEAP32[$3 + 32 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + HEAP32[$2 + 160 >> 2] = $0; + HEAP32[$2 + 164 >> 2] = $1; + $3 = HEAP32[$2 + 196 >> 2]; + HEAP32[$2 + 152 >> 2] = HEAP32[$3 + 60 >> 2]; + $1 = HEAP32[$3 + 52 >> 2]; + $0 = HEAP32[$3 + 56 >> 2]; + HEAP32[$2 + 144 >> 2] = $1; + HEAP32[$2 + 148 >> 2] = $0; + $1 = HEAP32[$3 + 48 >> 2]; + $0 = HEAP32[$3 + 44 >> 2]; + HEAP32[$2 + 136 >> 2] = $0; + HEAP32[$2 + 140 >> 2] = $1; + $0 = HEAP32[$3 + 40 >> 2]; + $1 = HEAP32[$3 + 36 >> 2]; + HEAP32[$2 + 128 >> 2] = $1; + HEAP32[$2 + 132 >> 2] = $0; + $1 = HEAP32[$3 + 32 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + HEAP32[$2 + 120 >> 2] = $0; + HEAP32[$2 + 124 >> 2] = $1; + b2Body__Advance_28float_29(HEAP32[$2 + 200 >> 2], HEAPF32[$2 + 404 >> 2]); + b2Body__Advance_28float_29(HEAP32[$2 + 196 >> 2], HEAPF32[$2 + 404 >> 2]); + b2Contact__Update_28b2ContactListener__29(HEAP32[$2 + 408 >> 2], HEAP32[$5 + 102940 >> 2]); + $0 = HEAP32[$2 + 408 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] & -33; + $0 = HEAP32[$2 + 408 >> 2]; + HEAP32[$0 + 128 >> 2] = HEAP32[$0 + 128 >> 2] + 1; + label$29: { + if (b2Contact__IsEnabled_28_29_20const(HEAP32[$2 + 408 >> 2]) & 1) { + if (b2Contact__IsTouching_28_29_20const(HEAP32[$2 + 408 >> 2]) & 1) { + break label$29; + } + } + b2Contact__SetEnabled_28bool_29(HEAP32[$2 + 408 >> 2], 0); + $0 = HEAP32[$2 + 164 >> 2]; + $1 = HEAP32[$2 + 160 >> 2]; + $4 = $1; + $3 = HEAP32[$2 + 200 >> 2]; + $1 = $3; + HEAP32[$1 + 28 >> 2] = $4; + HEAP32[$1 + 32 >> 2] = $0; + HEAP32[$1 + 60 >> 2] = HEAP32[$2 + 192 >> 2]; + $1 = HEAP32[$2 + 188 >> 2]; + $0 = HEAP32[$2 + 184 >> 2]; + $4 = $0; + $0 = $3; + HEAP32[$0 + 52 >> 2] = $4; + HEAP32[$0 + 56 >> 2] = $1; + $0 = HEAP32[$2 + 180 >> 2]; + $1 = HEAP32[$2 + 176 >> 2]; + $4 = $1; + $1 = $3; + HEAP32[$1 + 44 >> 2] = $4; + HEAP32[$1 + 48 >> 2] = $0; + $1 = HEAP32[$2 + 172 >> 2]; + $0 = HEAP32[$2 + 168 >> 2]; + $4 = $0; + $0 = $3; + HEAP32[$0 + 36 >> 2] = $4; + HEAP32[$0 + 40 >> 2] = $1; + $0 = HEAP32[$2 + 124 >> 2]; + $1 = HEAP32[$2 + 120 >> 2]; + $4 = $1; + $3 = HEAP32[$2 + 196 >> 2]; + $1 = $3; + HEAP32[$1 + 28 >> 2] = $4; + HEAP32[$1 + 32 >> 2] = $0; + HEAP32[$1 + 60 >> 2] = HEAP32[$2 + 152 >> 2]; + $1 = HEAP32[$2 + 148 >> 2]; + $0 = HEAP32[$2 + 144 >> 2]; + $4 = $0; + $0 = $3; + HEAP32[$0 + 52 >> 2] = $4; + HEAP32[$0 + 56 >> 2] = $1; + $0 = HEAP32[$2 + 140 >> 2]; + $1 = HEAP32[$2 + 136 >> 2]; + $4 = $1; + $1 = $3; + HEAP32[$1 + 44 >> 2] = $4; + HEAP32[$1 + 48 >> 2] = $0; + $1 = HEAP32[$2 + 132 >> 2]; + $0 = HEAP32[$2 + 128 >> 2]; + $4 = $0; + $0 = $3; + HEAP32[$0 + 36 >> 2] = $4; + HEAP32[$0 + 40 >> 2] = $1; + b2Body__SynchronizeTransform_28_29(HEAP32[$2 + 200 >> 2]); + b2Body__SynchronizeTransform_28_29(HEAP32[$2 + 196 >> 2]); + continue; + } + b2Body__SetAwake_28bool_29(HEAP32[$2 + 200 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$2 + 196 >> 2], 1); + b2Island__Clear_28_29($2 + 420 | 0); + b2Island__Add_28b2Body__29($2 + 420 | 0, HEAP32[$2 + 200 >> 2]); + b2Island__Add_28b2Body__29($2 + 420 | 0, HEAP32[$2 + 196 >> 2]); + b2Island__Add_28b2Contact__29($2 + 420 | 0, HEAP32[$2 + 408 >> 2]); + $0 = HEAP32[$2 + 200 >> 2]; + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] | 1; + $0 = HEAP32[$2 + 196 >> 2]; + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] | 1; + $0 = HEAP32[$2 + 408 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 1; + HEAP32[$2 + 112 >> 2] = HEAP32[$2 + 200 >> 2]; + HEAP32[$2 + 116 >> 2] = HEAP32[$2 + 196 >> 2]; + HEAP32[$2 + 108 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 108 >> 2] < 2) { + HEAP32[$2 + 104 >> 2] = HEAP32[($2 + 112 | 0) + (HEAP32[$2 + 108 >> 2] << 2) >> 2]; + if (HEAP32[HEAP32[$2 + 104 >> 2] >> 2] == 2) { + HEAP32[$2 + 100 >> 2] = HEAP32[HEAP32[$2 + 104 >> 2] + 112 >> 2]; + while (1) { + if (!(!HEAP32[$2 + 100 >> 2] | HEAP32[$2 + 448 >> 2] == HEAP32[$2 + 460 >> 2] | HEAP32[$2 + 456 >> 2] == HEAP32[$2 + 464 >> 2])) { + HEAP32[$2 + 96 >> 2] = HEAP32[HEAP32[$2 + 100 >> 2] + 4 >> 2]; + label$36: { + if (HEAP32[HEAP32[$2 + 96 >> 2] + 4 >> 2] & 1) { + break label$36; + } + HEAP32[$2 + 92 >> 2] = HEAP32[HEAP32[$2 + 100 >> 2] >> 2]; + label$37: { + if (HEAP32[HEAP32[$2 + 92 >> 2] >> 2] != 2) { + break label$37; + } + if (b2Body__IsBullet_28_29_20const(HEAP32[$2 + 104 >> 2]) & 1) { + break label$37; + } + if (b2Body__IsBullet_28_29_20const(HEAP32[$2 + 92 >> 2]) & 1) { + break label$37; + } + break label$36; + } + HEAP8[$2 + 91 | 0] = HEAP8[HEAP32[HEAP32[$2 + 96 >> 2] + 48 >> 2] + 38 | 0] & 1; + HEAP8[$2 + 90 | 0] = HEAP8[HEAP32[HEAP32[$2 + 96 >> 2] + 52 >> 2] + 38 | 0] & 1; + if (HEAP8[$2 + 91 | 0] & 1 | HEAP8[$2 + 90 | 0] & 1) { + break label$36; + } + $3 = HEAP32[$2 + 92 >> 2]; + HEAP32[$2 + 80 >> 2] = HEAP32[$3 + 60 >> 2]; + $1 = HEAP32[$3 + 52 >> 2]; + $0 = HEAP32[$3 + 56 >> 2]; + HEAP32[$2 + 72 >> 2] = $1; + HEAP32[$2 + 76 >> 2] = $0; + $1 = HEAP32[$3 + 48 >> 2]; + $0 = HEAP32[$3 + 44 >> 2]; + HEAP32[$2 + 64 >> 2] = $0; + HEAP32[$2 + 68 >> 2] = $1; + $0 = HEAP32[$3 + 40 >> 2]; + $1 = HEAP32[$3 + 36 >> 2]; + HEAP32[$2 + 56 >> 2] = $1; + HEAP32[$2 + 60 >> 2] = $0; + $1 = HEAP32[$3 + 32 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + HEAP32[$2 + 48 >> 2] = $0; + HEAP32[$2 + 52 >> 2] = $1; + if (!(HEAP16[HEAP32[$2 + 92 >> 2] + 4 >> 1] & 1)) { + b2Body__Advance_28float_29(HEAP32[$2 + 92 >> 2], HEAPF32[$2 + 404 >> 2]); + } + b2Contact__Update_28b2ContactListener__29(HEAP32[$2 + 96 >> 2], HEAP32[$5 + 102940 >> 2]); + if (!(b2Contact__IsEnabled_28_29_20const(HEAP32[$2 + 96 >> 2]) & 1)) { + $0 = HEAP32[$2 + 52 >> 2]; + $1 = HEAP32[$2 + 48 >> 2]; + $4 = $1; + $3 = HEAP32[$2 + 92 >> 2]; + $1 = $3; + HEAP32[$1 + 28 >> 2] = $4; + HEAP32[$1 + 32 >> 2] = $0; + HEAP32[$1 + 60 >> 2] = HEAP32[$2 + 80 >> 2]; + $1 = HEAP32[$2 + 76 >> 2]; + $0 = HEAP32[$2 + 72 >> 2]; + $4 = $0; + $0 = $3; + HEAP32[$0 + 52 >> 2] = $4; + HEAP32[$0 + 56 >> 2] = $1; + $0 = HEAP32[$2 + 68 >> 2]; + $1 = HEAP32[$2 + 64 >> 2]; + $4 = $1; + $1 = $3; + HEAP32[$1 + 44 >> 2] = $4; + HEAP32[$1 + 48 >> 2] = $0; + $1 = HEAP32[$2 + 60 >> 2]; + $0 = HEAP32[$2 + 56 >> 2]; + $4 = $0; + $0 = $3; + HEAP32[$0 + 36 >> 2] = $4; + HEAP32[$0 + 40 >> 2] = $1; + b2Body__SynchronizeTransform_28_29(HEAP32[$2 + 92 >> 2]); + break label$36; + } + if (!(b2Contact__IsTouching_28_29_20const(HEAP32[$2 + 96 >> 2]) & 1)) { + $0 = HEAP32[$2 + 52 >> 2]; + $1 = HEAP32[$2 + 48 >> 2]; + $4 = $1; + $3 = HEAP32[$2 + 92 >> 2]; + $1 = $3; + HEAP32[$1 + 28 >> 2] = $4; + HEAP32[$1 + 32 >> 2] = $0; + HEAP32[$1 + 60 >> 2] = HEAP32[$2 + 80 >> 2]; + $1 = HEAP32[$2 + 76 >> 2]; + $0 = HEAP32[$2 + 72 >> 2]; + $4 = $0; + $0 = $3; + HEAP32[$0 + 52 >> 2] = $4; + HEAP32[$0 + 56 >> 2] = $1; + $0 = HEAP32[$2 + 68 >> 2]; + $1 = HEAP32[$2 + 64 >> 2]; + $4 = $1; + $1 = $3; + HEAP32[$1 + 44 >> 2] = $4; + HEAP32[$1 + 48 >> 2] = $0; + $1 = HEAP32[$2 + 60 >> 2]; + $0 = HEAP32[$2 + 56 >> 2]; + $4 = $0; + $0 = $3; + HEAP32[$0 + 36 >> 2] = $4; + HEAP32[$0 + 40 >> 2] = $1; + b2Body__SynchronizeTransform_28_29(HEAP32[$2 + 92 >> 2]); + break label$36; + } + $0 = HEAP32[$2 + 96 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 1; + b2Island__Add_28b2Contact__29($2 + 420 | 0, HEAP32[$2 + 96 >> 2]); + if (HEAP16[HEAP32[$2 + 92 >> 2] + 4 >> 1] & 1) { + break label$36; + } + $0 = HEAP32[$2 + 92 >> 2]; + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] | 1; + if (HEAP32[HEAP32[$2 + 92 >> 2] >> 2]) { + b2Body__SetAwake_28bool_29(HEAP32[$2 + 92 >> 2], 1); + } + b2Island__Add_28b2Body__29($2 + 420 | 0, HEAP32[$2 + 92 >> 2]); + } + HEAP32[$2 + 100 >> 2] = HEAP32[HEAP32[$2 + 100 >> 2] + 12 >> 2]; + continue; + } + break; + } + } + HEAP32[$2 + 108 >> 2] = HEAP32[$2 + 108 >> 2] + 1; + continue; + } + break; + } + HEAPF32[$2 + 24 >> 2] = Math_fround(Math_fround(1) - HEAPF32[$2 + 404 >> 2]) * HEAPF32[HEAP32[$2 + 472 >> 2] >> 2]; + HEAPF32[$2 + 28 >> 2] = Math_fround(1) / HEAPF32[$2 + 24 >> 2]; + HEAPF32[$2 + 32 >> 2] = 1; + HEAP32[$2 + 40 >> 2] = 20; + HEAP32[$2 + 36 >> 2] = HEAP32[HEAP32[$2 + 472 >> 2] + 12 >> 2]; + HEAP8[$2 + 44 | 0] = 0; + b2Island__SolveTOI_28b2TimeStep_20const__2c_20int_2c_20int_29($2 + 420 | 0, $2 + 24 | 0, HEAP32[HEAP32[$2 + 200 >> 2] + 8 >> 2], HEAP32[HEAP32[$2 + 196 >> 2] + 8 >> 2]); + HEAP32[$2 + 20 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 20 >> 2] < HEAP32[$2 + 448 >> 2]) { + HEAP32[$2 + 16 >> 2] = HEAP32[HEAP32[$2 + 428 >> 2] + (HEAP32[$2 + 20 >> 2] << 2) >> 2]; + $0 = HEAP32[$2 + 16 >> 2]; + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] & -2; + if (HEAP32[HEAP32[$2 + 16 >> 2] >> 2] == 2) { + b2Body__SynchronizeFixtures_28_29(HEAP32[$2 + 16 >> 2]); + HEAP32[$2 + 12 >> 2] = HEAP32[HEAP32[$2 + 16 >> 2] + 112 >> 2]; + while (1) { + if (HEAP32[$2 + 12 >> 2]) { + $0 = HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] & -34; + HEAP32[$2 + 12 >> 2] = HEAP32[HEAP32[$2 + 12 >> 2] + 12 >> 2]; + continue; + } + break; + } + } + HEAP32[$2 + 20 >> 2] = HEAP32[$2 + 20 >> 2] + 1; + continue; + } + break; + } + b2ContactManager__FindNewContacts_28_29($5 + 102868 | 0); + if (HEAP8[$5 + 102993 | 0] & 1) { + HEAP8[$5 + 102994 | 0] = 0; + break label$26; + } + continue; + } + break; + } + b2Island___b2Island_28_29($2 + 420 | 0); + __stack_pointer = $2 + 480 | 0; +} + +function b2ContactSolver__SolveVelocityConstraints_28_29($0) { + var $1 = 0, $2 = Math_fround(0), $3 = 0, $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 640 | 0; + __stack_pointer = $1; + HEAP32[$1 + 636 >> 2] = $0; + $5 = HEAP32[$1 + 636 >> 2]; + HEAP32[$1 + 632 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 632 >> 2] < HEAP32[$5 + 48 >> 2]) { + HEAP32[$1 + 628 >> 2] = HEAP32[$5 + 40 >> 2] + Math_imul(HEAP32[$1 + 632 >> 2], 156); + HEAP32[$1 + 624 >> 2] = HEAP32[HEAP32[$1 + 628 >> 2] + 112 >> 2]; + HEAP32[$1 + 620 >> 2] = HEAP32[HEAP32[$1 + 628 >> 2] + 116 >> 2]; + HEAPF32[$1 + 616 >> 2] = HEAPF32[HEAP32[$1 + 628 >> 2] + 120 >> 2]; + HEAPF32[$1 + 612 >> 2] = HEAPF32[HEAP32[$1 + 628 >> 2] + 128 >> 2]; + HEAPF32[$1 + 608 >> 2] = HEAPF32[HEAP32[$1 + 628 >> 2] + 124 >> 2]; + HEAPF32[$1 + 604 >> 2] = HEAPF32[HEAP32[$1 + 628 >> 2] + 132 >> 2]; + HEAP32[$1 + 600 >> 2] = HEAP32[HEAP32[$1 + 628 >> 2] + 148 >> 2]; + $3 = HEAP32[$5 + 28 >> 2] + Math_imul(HEAP32[$1 + 624 >> 2], 12) | 0; + $0 = HEAP32[$3 >> 2]; + $4 = HEAP32[$3 + 4 >> 2]; + HEAP32[$1 + 592 >> 2] = $0; + HEAP32[$1 + 596 >> 2] = $4; + HEAPF32[$1 + 588 >> 2] = HEAPF32[(HEAP32[$5 + 28 >> 2] + Math_imul(HEAP32[$1 + 624 >> 2], 12) | 0) + 8 >> 2]; + $3 = HEAP32[$5 + 28 >> 2] + Math_imul(HEAP32[$1 + 620 >> 2], 12) | 0; + $4 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + HEAP32[$1 + 576 >> 2] = $4; + HEAP32[$1 + 580 >> 2] = $0; + HEAPF32[$1 + 572 >> 2] = HEAPF32[(HEAP32[$5 + 28 >> 2] + Math_imul(HEAP32[$1 + 620 >> 2], 12) | 0) + 8 >> 2]; + $3 = HEAP32[$1 + 628 >> 2]; + $0 = HEAP32[$3 + 72 >> 2]; + $4 = HEAP32[$3 + 76 >> 2]; + HEAP32[$1 + 560 >> 2] = $0; + HEAP32[$1 + 564 >> 2] = $4; + b2Cross_28b2Vec2_20const__2c_20float_29($1 + 552 | 0, $1 + 560 | 0, Math_fround(1)); + HEAPF32[$1 + 548 >> 2] = HEAPF32[HEAP32[$1 + 628 >> 2] + 136 >> 2]; + if (!(HEAP32[$1 + 600 >> 2] == 1 | HEAP32[$1 + 600 >> 2] == 2)) { + __assert_fail(12094, 5487, 319, 3319); + wasm2js_trap(); + } + HEAP32[$1 + 544 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 544 >> 2] < HEAP32[$1 + 600 >> 2]) { + HEAP32[$1 + 540 >> 2] = HEAP32[$1 + 628 >> 2] + Math_imul(HEAP32[$1 + 544 >> 2], 36); + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 508 | 0, HEAPF32[$1 + 572 >> 2], HEAP32[$1 + 540 >> 2] + 8 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 516 | 0, $1 + 576 | 0, $1 + 508 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 524 | 0, $1 + 516 | 0, $1 + 592 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 500 | 0, HEAPF32[$1 + 588 >> 2], HEAP32[$1 + 540 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 532 | 0, $1 + 524 | 0, $1 + 500 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 532 | 0, $1 + 552 | 0) - HEAPF32[HEAP32[$1 + 628 >> 2] + 144 >> 2]), + HEAPF32[wasm2js_i32$0 + 496 >> 2] = wasm2js_f32$0; + HEAPF32[$1 + 492 >> 2] = HEAPF32[HEAP32[$1 + 540 >> 2] + 28 >> 2] * Math_fround(-HEAPF32[$1 + 496 >> 2]); + HEAPF32[$1 + 488 >> 2] = HEAPF32[$1 + 548 >> 2] * HEAPF32[HEAP32[$1 + 540 >> 2] + 16 >> 2]; + wasm2js_i32$0 = $1, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(Math_fround(HEAPF32[HEAP32[$1 + 540 >> 2] + 20 >> 2] + HEAPF32[$1 + 492 >> 2]), Math_fround(-HEAPF32[$1 + 488 >> 2]), HEAPF32[$1 + 488 >> 2]), + HEAPF32[wasm2js_i32$0 + 484 >> 2] = wasm2js_f32$0; + HEAPF32[$1 + 492 >> 2] = HEAPF32[$1 + 484 >> 2] - HEAPF32[HEAP32[$1 + 540 >> 2] + 20 >> 2]; + HEAPF32[HEAP32[$1 + 540 >> 2] + 20 >> 2] = HEAPF32[$1 + 484 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($1 + 476 | 0, HEAPF32[$1 + 492 >> 2], $1 + 552 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 468 | 0, HEAPF32[$1 + 616 >> 2], $1 + 476 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($1 + 592 | 0, $1 + 468 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$1 + 612 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 540 >> 2], $1 + 476 | 0)) + HEAPF32[$1 + 588 >> 2]), + HEAPF32[wasm2js_i32$0 + 588 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($1 + 460 | 0, HEAPF32[$1 + 608 >> 2], $1 + 476 | 0); + b2Vec2__operator___28b2Vec2_20const__29($1 + 576 | 0, $1 + 460 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 604 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 540 >> 2] + 8 | 0, $1 + 476 | 0)) + HEAPF32[$1 + 572 >> 2]), + HEAPF32[wasm2js_i32$0 + 572 >> 2] = wasm2js_f32$0; + HEAP32[$1 + 544 >> 2] = HEAP32[$1 + 544 >> 2] + 1; + continue; + } + break; + } + label$6: { + if (!(HEAP8[29704] & 1 & HEAP32[$1 + 600 >> 2] != 1)) { + HEAP32[$1 + 456 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 456 >> 2] < HEAP32[$1 + 600 >> 2]) { + HEAP32[$1 + 452 >> 2] = HEAP32[$1 + 628 >> 2] + Math_imul(HEAP32[$1 + 456 >> 2], 36); + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 420 | 0, HEAPF32[$1 + 572 >> 2], HEAP32[$1 + 452 >> 2] + 8 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 428 | 0, $1 + 576 | 0, $1 + 420 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 436 | 0, $1 + 428 | 0, $1 + 592 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 412 | 0, HEAPF32[$1 + 588 >> 2], HEAP32[$1 + 452 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 444 | 0, $1 + 436 | 0, $1 + 412 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 444 | 0, $1 + 560 | 0), + HEAPF32[wasm2js_i32$0 + 408 >> 2] = wasm2js_f32$0; + HEAPF32[$1 + 404 >> 2] = Math_fround(-HEAPF32[HEAP32[$1 + 452 >> 2] + 24 >> 2]) * Math_fround(HEAPF32[$1 + 408 >> 2] - HEAPF32[HEAP32[$1 + 452 >> 2] + 32 >> 2]); + wasm2js_i32$0 = $1, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(Math_fround(HEAPF32[HEAP32[$1 + 452 >> 2] + 16 >> 2] + HEAPF32[$1 + 404 >> 2]), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 400 >> 2] = wasm2js_f32$0; + HEAPF32[$1 + 404 >> 2] = HEAPF32[$1 + 400 >> 2] - HEAPF32[HEAP32[$1 + 452 >> 2] + 16 >> 2]; + HEAPF32[HEAP32[$1 + 452 >> 2] + 16 >> 2] = HEAPF32[$1 + 400 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($1 + 392 | 0, HEAPF32[$1 + 404 >> 2], $1 + 560 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 384 | 0, HEAPF32[$1 + 616 >> 2], $1 + 392 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($1 + 592 | 0, $1 + 384 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$1 + 612 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 452 >> 2], $1 + 392 | 0)) + HEAPF32[$1 + 588 >> 2]), + HEAPF32[wasm2js_i32$0 + 588 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($1 + 376 | 0, HEAPF32[$1 + 608 >> 2], $1 + 392 | 0); + b2Vec2__operator___28b2Vec2_20const__29($1 + 576 | 0, $1 + 376 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 604 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 452 >> 2] + 8 | 0, $1 + 392 | 0)) + HEAPF32[$1 + 572 >> 2]), + HEAPF32[wasm2js_i32$0 + 572 >> 2] = wasm2js_f32$0; + HEAP32[$1 + 456 >> 2] = HEAP32[$1 + 456 >> 2] + 1; + continue; + } + break; + } + break label$6; + } + HEAP32[$1 + 372 >> 2] = HEAP32[$1 + 628 >> 2]; + HEAP32[$1 + 368 >> 2] = HEAP32[$1 + 628 >> 2] + 36; + b2Vec2__b2Vec2_28float_2c_20float_29($1 + 360 | 0, HEAPF32[HEAP32[$1 + 372 >> 2] + 16 >> 2], HEAPF32[HEAP32[$1 + 368 >> 2] + 16 >> 2]); + if (!(HEAPF32[$1 + 360 >> 2] >= Math_fround(0) & HEAPF32[$1 + 364 >> 2] >= Math_fround(0))) { + __assert_fail(8248, 5487, 417, 3319); + wasm2js_trap(); + } + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 328 | 0, HEAPF32[$1 + 572 >> 2], HEAP32[$1 + 372 >> 2] + 8 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 336 | 0, $1 + 576 | 0, $1 + 328 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 344 | 0, $1 + 336 | 0, $1 + 592 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 320 | 0, HEAPF32[$1 + 588 >> 2], HEAP32[$1 + 372 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 352 | 0, $1 + 344 | 0, $1 + 320 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 288 | 0, HEAPF32[$1 + 572 >> 2], HEAP32[$1 + 368 >> 2] + 8 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 296 | 0, $1 + 576 | 0, $1 + 288 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 304 | 0, $1 + 296 | 0, $1 + 592 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 280 | 0, HEAPF32[$1 + 588 >> 2], HEAP32[$1 + 368 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 312 | 0, $1 + 304 | 0, $1 + 280 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 352 | 0, $1 + 560 | 0), + HEAPF32[wasm2js_i32$0 + 276 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 312 | 0, $1 + 560 | 0), + HEAPF32[wasm2js_i32$0 + 272 >> 2] = wasm2js_f32$0; + b2Vec2__b2Vec2_28_29($1 + 264 | 0); + HEAPF32[$1 + 264 >> 2] = HEAPF32[$1 + 276 >> 2] - HEAPF32[HEAP32[$1 + 372 >> 2] + 32 >> 2]; + HEAPF32[$1 + 268 >> 2] = HEAPF32[$1 + 272 >> 2] - HEAPF32[HEAP32[$1 + 368 >> 2] + 32 >> 2]; + b2Mul_28b2Mat22_20const__2c_20b2Vec2_20const__29($1 + 256 | 0, HEAP32[$1 + 628 >> 2] + 96 | 0, $1 + 360 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($1 + 264 | 0, $1 + 256 | 0); + HEAPF32[$1 + 252 >> 2] = .0010000000474974513; + b2Mul_28b2Mat22_20const__2c_20b2Vec2_20const__29($1 + 236 | 0, HEAP32[$1 + 628 >> 2] + 80 | 0, $1 + 264 | 0); + b2Vec2__operator__28_29_20const($1 + 244 | 0, $1 + 236 | 0); + label$13: { + if (!(!(HEAPF32[$1 + 244 >> 2] >= Math_fround(0)) | !(HEAPF32[$1 + 248 >> 2] >= Math_fround(0)))) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 228 | 0, $1 + 244 | 0, $1 + 360 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 220 | 0, HEAPF32[$1 + 228 >> 2], $1 + 560 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 212 | 0, HEAPF32[$1 + 232 >> 2], $1 + 560 | 0); + $2 = HEAPF32[$1 + 616 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 196 | 0, $1 + 220 | 0, $1 + 212 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 204 | 0, $2, $1 + 196 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($1 + 592 | 0, $1 + 204 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$1 + 612 >> 2]) * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 372 >> 2], $1 + 220 | 0) + b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 368 >> 2], $1 + 212 | 0))) + HEAPF32[$1 + 588 >> 2]), + HEAPF32[wasm2js_i32$0 + 588 >> 2] = wasm2js_f32$0; + $2 = HEAPF32[$1 + 608 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 180 | 0, $1 + 220 | 0, $1 + 212 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 188 | 0, $2, $1 + 180 | 0); + b2Vec2__operator___28b2Vec2_20const__29($1 + 576 | 0, $1 + 188 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 604 >> 2] * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 372 >> 2] + 8 | 0, $1 + 220 | 0) + b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 368 >> 2] + 8 | 0, $1 + 212 | 0))) + HEAPF32[$1 + 572 >> 2]), + HEAPF32[wasm2js_i32$0 + 572 >> 2] = wasm2js_f32$0; + HEAPF32[HEAP32[$1 + 372 >> 2] + 16 >> 2] = HEAPF32[$1 + 244 >> 2]; + HEAPF32[HEAP32[$1 + 368 >> 2] + 16 >> 2] = HEAPF32[$1 + 248 >> 2]; + break label$13; + } + HEAPF32[$1 + 244 >> 2] = Math_fround(-HEAPF32[HEAP32[$1 + 372 >> 2] + 24 >> 2]) * HEAPF32[$1 + 264 >> 2]; + HEAPF32[$1 + 248 >> 2] = 0; + HEAPF32[$1 + 276 >> 2] = 0; + HEAPF32[$1 + 272 >> 2] = Math_fround(HEAPF32[HEAP32[$1 + 628 >> 2] + 100 >> 2] * HEAPF32[$1 + 244 >> 2]) + HEAPF32[$1 + 268 >> 2]; + if (!(!(HEAPF32[$1 + 244 >> 2] >= Math_fround(0)) | !(HEAPF32[$1 + 272 >> 2] >= Math_fround(0)))) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 172 | 0, $1 + 244 | 0, $1 + 360 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 164 | 0, HEAPF32[$1 + 172 >> 2], $1 + 560 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 156 | 0, HEAPF32[$1 + 176 >> 2], $1 + 560 | 0); + $2 = HEAPF32[$1 + 616 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 140 | 0, $1 + 164 | 0, $1 + 156 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 148 | 0, $2, $1 + 140 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($1 + 592 | 0, $1 + 148 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$1 + 612 >> 2]) * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 372 >> 2], $1 + 164 | 0) + b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 368 >> 2], $1 + 156 | 0))) + HEAPF32[$1 + 588 >> 2]), + HEAPF32[wasm2js_i32$0 + 588 >> 2] = wasm2js_f32$0; + $2 = HEAPF32[$1 + 608 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 124 | 0, $1 + 164 | 0, $1 + 156 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 132 | 0, $2, $1 + 124 | 0); + b2Vec2__operator___28b2Vec2_20const__29($1 + 576 | 0, $1 + 132 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 604 >> 2] * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 372 >> 2] + 8 | 0, $1 + 164 | 0) + b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 368 >> 2] + 8 | 0, $1 + 156 | 0))) + HEAPF32[$1 + 572 >> 2]), + HEAPF32[wasm2js_i32$0 + 572 >> 2] = wasm2js_f32$0; + HEAPF32[HEAP32[$1 + 372 >> 2] + 16 >> 2] = HEAPF32[$1 + 244 >> 2]; + HEAPF32[HEAP32[$1 + 368 >> 2] + 16 >> 2] = HEAPF32[$1 + 248 >> 2]; + break label$13; + } + HEAPF32[$1 + 244 >> 2] = 0; + HEAPF32[$1 + 248 >> 2] = Math_fround(-HEAPF32[HEAP32[$1 + 368 >> 2] + 24 >> 2]) * HEAPF32[$1 + 268 >> 2]; + HEAPF32[$1 + 276 >> 2] = Math_fround(HEAPF32[HEAP32[$1 + 628 >> 2] + 104 >> 2] * HEAPF32[$1 + 248 >> 2]) + HEAPF32[$1 + 264 >> 2]; + HEAPF32[$1 + 272 >> 2] = 0; + if (!(!(HEAPF32[$1 + 248 >> 2] >= Math_fround(0)) | !(HEAPF32[$1 + 276 >> 2] >= Math_fround(0)))) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 116 | 0, $1 + 244 | 0, $1 + 360 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 108 | 0, HEAPF32[$1 + 116 >> 2], $1 + 560 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 100 | 0, HEAPF32[$1 + 120 >> 2], $1 + 560 | 0); + $2 = HEAPF32[$1 + 616 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 84 | 0, $1 + 108 | 0, $1 + 100 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 92 | 0, $2, $1 + 84 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($1 + 592 | 0, $1 + 92 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$1 + 612 >> 2]) * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 372 >> 2], $1 + 108 | 0) + b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 368 >> 2], $1 + 100 | 0))) + HEAPF32[$1 + 588 >> 2]), + HEAPF32[wasm2js_i32$0 + 588 >> 2] = wasm2js_f32$0; + $2 = HEAPF32[$1 + 608 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 68 | 0, $1 + 108 | 0, $1 + 100 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 76 | 0, $2, $1 + 68 | 0); + b2Vec2__operator___28b2Vec2_20const__29($1 + 576 | 0, $1 + 76 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 604 >> 2] * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 372 >> 2] + 8 | 0, $1 + 108 | 0) + b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 368 >> 2] + 8 | 0, $1 + 100 | 0))) + HEAPF32[$1 + 572 >> 2]), + HEAPF32[wasm2js_i32$0 + 572 >> 2] = wasm2js_f32$0; + HEAPF32[HEAP32[$1 + 372 >> 2] + 16 >> 2] = HEAPF32[$1 + 244 >> 2]; + HEAPF32[HEAP32[$1 + 368 >> 2] + 16 >> 2] = HEAPF32[$1 + 248 >> 2]; + break label$13; + } + HEAPF32[$1 + 244 >> 2] = 0; + HEAPF32[$1 + 248 >> 2] = 0; + HEAPF32[$1 + 276 >> 2] = HEAPF32[$1 + 264 >> 2]; + HEAPF32[$1 + 272 >> 2] = HEAPF32[$1 + 268 >> 2]; + if (!(!(HEAPF32[$1 + 276 >> 2] >= Math_fround(0)) | !(HEAPF32[$1 + 272 >> 2] >= Math_fround(0)))) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 60 | 0, $1 + 244 | 0, $1 + 360 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 52 | 0, HEAPF32[$1 + 60 >> 2], $1 + 560 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 44 | 0, HEAPF32[$1 + 64 >> 2], $1 + 560 | 0); + $2 = HEAPF32[$1 + 616 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 28 | 0, $1 + 52 | 0, $1 + 44 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 36 | 0, $2, $1 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($1 + 592 | 0, $1 + 36 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$1 + 612 >> 2]) * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 372 >> 2], $1 + 52 | 0) + b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 368 >> 2], $1 + 44 | 0))) + HEAPF32[$1 + 588 >> 2]), + HEAPF32[wasm2js_i32$0 + 588 >> 2] = wasm2js_f32$0; + $2 = HEAPF32[$1 + 608 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 12 | 0, $1 + 52 | 0, $1 + 44 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 20 | 0, $2, $1 + 12 | 0); + b2Vec2__operator___28b2Vec2_20const__29($1 + 576 | 0, $1 + 20 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 604 >> 2] * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 372 >> 2] + 8 | 0, $1 + 52 | 0) + b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 368 >> 2] + 8 | 0, $1 + 44 | 0))) + HEAPF32[$1 + 572 >> 2]), + HEAPF32[wasm2js_i32$0 + 572 >> 2] = wasm2js_f32$0; + HEAPF32[HEAP32[$1 + 372 >> 2] + 16 >> 2] = HEAPF32[$1 + 244 >> 2]; + HEAPF32[HEAP32[$1 + 368 >> 2] + 16 >> 2] = HEAPF32[$1 + 248 >> 2]; + } + } + } + $0 = HEAP32[$1 + 596 >> 2]; + $4 = HEAP32[$1 + 592 >> 2]; + $3 = $4; + $4 = HEAP32[$5 + 28 >> 2] + Math_imul(HEAP32[$1 + 624 >> 2], 12) | 0; + HEAP32[$4 >> 2] = $3; + HEAP32[$4 + 4 >> 2] = $0; + HEAPF32[(HEAP32[$5 + 28 >> 2] + Math_imul(HEAP32[$1 + 624 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$1 + 588 >> 2]; + $4 = HEAP32[$1 + 580 >> 2]; + $0 = HEAP32[$1 + 576 >> 2]; + $3 = $0; + $0 = HEAP32[$5 + 28 >> 2] + Math_imul(HEAP32[$1 + 620 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $3; + HEAP32[$0 + 4 >> 2] = $4; + HEAPF32[(HEAP32[$5 + 28 >> 2] + Math_imul(HEAP32[$1 + 620 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$1 + 572 >> 2]; + HEAP32[$1 + 632 >> 2] = HEAP32[$1 + 632 >> 2] + 1; + continue; + } + break; + } + __stack_pointer = $1 + 640 | 0; +} + +function b2CollideEdgeAndPolygon_28b2Manifold__2c_20b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $5 = __stack_pointer - 608 | 0; + __stack_pointer = $5; + HEAP32[$5 + 604 >> 2] = $0; + HEAP32[$5 + 600 >> 2] = $1; + HEAP32[$5 + 596 >> 2] = $2; + HEAP32[$5 + 592 >> 2] = $3; + HEAP32[$5 + 588 >> 2] = $4; + HEAP32[HEAP32[$5 + 604 >> 2] + 60 >> 2] = 0; + b2MulT_28b2Transform_20const__2c_20b2Transform_20const__29($5 + 572 | 0, HEAP32[$5 + 596 >> 2], HEAP32[$5 + 588 >> 2]); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 564 | 0, $5 + 572 | 0, HEAP32[$5 + 592 >> 2] + 12 | 0); + $2 = HEAP32[$5 + 600 >> 2]; + $1 = HEAP32[$2 + 12 >> 2]; + $0 = HEAP32[$2 + 16 >> 2]; + HEAP32[$5 + 552 >> 2] = $1; + HEAP32[$5 + 556 >> 2] = $0; + $2 = HEAP32[$5 + 600 >> 2]; + $0 = HEAP32[$2 + 20 >> 2]; + $1 = HEAP32[$2 + 24 >> 2]; + HEAP32[$5 + 544 >> 2] = $0; + HEAP32[$5 + 548 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 536 | 0, $5 + 544 | 0, $5 + 552 | 0); + b2Vec2__Normalize_28_29($5 + 536 | 0); + b2Vec2__b2Vec2_28float_2c_20float_29($5 + 528 | 0, HEAPF32[$5 + 540 >> 2], Math_fround(-HEAPF32[$5 + 536 >> 2])); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 516 | 0, $5 + 564 | 0, $5 + 552 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 528 | 0, $5 + 516 | 0), + HEAPF32[wasm2js_i32$0 + 524 >> 2] = wasm2js_f32$0; + HEAP8[$5 + 515 | 0] = HEAP8[HEAP32[$5 + 600 >> 2] + 44 | 0] & 1; + label$1: { + if (!(!(HEAP8[$5 + 515 | 0] & 1) | !(HEAPF32[$5 + 524 >> 2] < Math_fround(0)))) { + break label$1; + } + b2TempPolygon__b2TempPolygon_28_29($5 + 380 | 0); + HEAP32[$5 + 508 >> 2] = HEAP32[HEAP32[$5 + 592 >> 2] + 148 >> 2]; + HEAP32[$5 + 376 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 376 >> 2] < HEAP32[HEAP32[$5 + 592 >> 2] + 148 >> 2]) { + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 368 | 0, $5 + 572 | 0, (HEAP32[$5 + 592 >> 2] + 20 | 0) + (HEAP32[$5 + 376 >> 2] << 3) | 0); + $0 = HEAP32[$5 + 372 >> 2]; + $1 = HEAP32[$5 + 368 >> 2]; + $2 = $1; + $1 = ($5 + 380 | 0) + (HEAP32[$5 + 376 >> 2] << 3) | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 360 | 0, $5 + 580 | 0, (HEAP32[$5 + 592 >> 2] + 84 | 0) + (HEAP32[$5 + 376 >> 2] << 3) | 0); + $1 = HEAP32[$5 + 364 >> 2]; + $0 = HEAP32[$5 + 360 >> 2]; + $2 = $0; + $0 = ($5 + 444 | 0) + (HEAP32[$5 + 376 >> 2] << 3) | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[$5 + 376 >> 2] = HEAP32[$5 + 376 >> 2] + 1; + continue; + } + break; + } + HEAPF32[$5 + 356 >> 2] = HEAPF32[HEAP32[$5 + 592 >> 2] + 8 >> 2] + HEAPF32[HEAP32[$5 + 600 >> 2] + 8 >> 2]; + b2ComputeEdgeSeparation_28b2TempPolygon_20const__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 336 | 0, $5 + 380 | 0, $5 + 552 | 0, $5 + 528 | 0); + if (HEAPF32[$5 + 352 >> 2] > HEAPF32[$5 + 356 >> 2]) { + break label$1; + } + b2ComputePolygonSeparation_28b2TempPolygon_20const__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 316 | 0, $5 + 380 | 0, $5 + 552 | 0, $5 + 544 | 0); + if (HEAPF32[$5 + 332 >> 2] > HEAPF32[$5 + 356 >> 2]) { + break label$1; + } + HEAPF32[$5 + 312 >> 2] = .9800000190734863; + HEAPF32[$5 + 308 >> 2] = .0010000000474974513; + b2EPAxis__b2EPAxis_28_29($5 + 288 | 0); + label$5: { + if (Math_fround(Math_fround(Math_fround(HEAPF32[$5 + 352 >> 2] - HEAPF32[$5 + 356 >> 2]) * Math_fround(.9800000190734863)) + Math_fround(.0010000000474974513)) < Math_fround(HEAPF32[$5 + 332 >> 2] - HEAPF32[$5 + 356 >> 2])) { + HEAP32[$5 + 304 >> 2] = HEAP32[$5 + 332 >> 2]; + $0 = HEAP32[$5 + 328 >> 2]; + $1 = HEAP32[$5 + 324 >> 2]; + HEAP32[$5 + 296 >> 2] = $1; + HEAP32[$5 + 300 >> 2] = $0; + $1 = HEAP32[$5 + 320 >> 2]; + $0 = HEAP32[$5 + 316 >> 2]; + HEAP32[$5 + 288 >> 2] = $0; + HEAP32[$5 + 292 >> 2] = $1; + break label$5; + } + HEAP32[$5 + 304 >> 2] = HEAP32[$5 + 352 >> 2]; + $0 = HEAP32[$5 + 348 >> 2]; + $1 = HEAP32[$5 + 344 >> 2]; + HEAP32[$5 + 296 >> 2] = $1; + HEAP32[$5 + 300 >> 2] = $0; + $1 = HEAP32[$5 + 340 >> 2]; + $0 = HEAP32[$5 + 336 >> 2]; + HEAP32[$5 + 288 >> 2] = $0; + HEAP32[$5 + 292 >> 2] = $1; + } + if (HEAP8[$5 + 515 | 0] & 1) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 280 | 0, $5 + 552 | 0, HEAP32[$5 + 600 >> 2] + 28 | 0); + b2Vec2__Normalize_28_29($5 + 280 | 0); + b2Vec2__b2Vec2_28float_2c_20float_29($5 + 272 | 0, HEAPF32[$5 + 284 >> 2], Math_fround(-HEAPF32[$5 + 280 >> 2])); + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 280 | 0, $5 + 536 | 0) >= Math_fround(0), + HEAP8[wasm2js_i32$0 + 271 | 0] = wasm2js_i32$1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 260 | 0, HEAP32[$5 + 600 >> 2] + 36 | 0, $5 + 544 | 0); + b2Vec2__Normalize_28_29($5 + 260 | 0); + b2Vec2__b2Vec2_28float_2c_20float_29($5 + 252 | 0, HEAPF32[$5 + 264 >> 2], Math_fround(-HEAPF32[$5 + 260 >> 2])); + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 536 | 0, $5 + 260 | 0) >= Math_fround(0), + HEAP8[wasm2js_i32$0 + 251 | 0] = wasm2js_i32$1; + HEAPF32[$5 + 244 >> 2] = .10000000149011612; + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 288 | 0, $5 + 536 | 0) <= Math_fround(0), + HEAP8[wasm2js_i32$0 + 243 | 0] = wasm2js_i32$1; + label$8: { + if (HEAP8[$5 + 243 | 0] & 1) { + if (HEAP8[$5 + 271 | 0] & 1) { + if (b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 288 | 0, $5 + 272 | 0) > Math_fround(.10000000149011612)) { + break label$1; + } + break label$8; + } + HEAP32[$5 + 304 >> 2] = HEAP32[$5 + 352 >> 2]; + $0 = HEAP32[$5 + 348 >> 2]; + $1 = HEAP32[$5 + 344 >> 2]; + HEAP32[$5 + 296 >> 2] = $1; + HEAP32[$5 + 300 >> 2] = $0; + $1 = HEAP32[$5 + 340 >> 2]; + $0 = HEAP32[$5 + 336 >> 2]; + HEAP32[$5 + 288 >> 2] = $0; + HEAP32[$5 + 292 >> 2] = $1; + break label$8; + } + label$11: { + if (HEAP8[$5 + 251 | 0] & 1) { + if (b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 252 | 0, $5 + 288 | 0) > Math_fround(.10000000149011612)) { + break label$1; + } + break label$11; + } + HEAP32[$5 + 304 >> 2] = HEAP32[$5 + 352 >> 2]; + $0 = HEAP32[$5 + 348 >> 2]; + $1 = HEAP32[$5 + 344 >> 2]; + HEAP32[$5 + 296 >> 2] = $1; + HEAP32[$5 + 300 >> 2] = $0; + $1 = HEAP32[$5 + 340 >> 2]; + $0 = HEAP32[$5 + 336 >> 2]; + HEAP32[$5 + 288 >> 2] = $0; + HEAP32[$5 + 292 >> 2] = $1; + } + } + } + $0 = $5 + 208 | 0; + $1 = $0 + 24 | 0; + while (1) { + b2ClipVertex__b2ClipVertex_28_29($0); + $0 = $0 + 12 | 0; + if (($1 | 0) != ($0 | 0)) { + continue; + } + break; + } + b2ReferenceFace__b2ReferenceFace_28_29($5 + 152 | 0); + label$14: { + if (HEAP32[$5 + 296 >> 2] == 1) { + HEAP32[HEAP32[$5 + 604 >> 2] + 56 >> 2] = 1; + HEAP32[$5 + 148 >> 2] = 0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 288 | 0, $5 + 444 | 0), + HEAPF32[wasm2js_i32$0 + 144 >> 2] = wasm2js_f32$0; + HEAP32[$5 + 140 >> 2] = 1; + while (1) { + if (HEAP32[$5 + 140 >> 2] < HEAP32[$5 + 508 >> 2]) { + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 288 | 0, ($5 + 444 | 0) + (HEAP32[$5 + 140 >> 2] << 3) | 0), + HEAPF32[wasm2js_i32$0 + 136 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 136 >> 2] < HEAPF32[$5 + 144 >> 2]) { + HEAPF32[$5 + 144 >> 2] = HEAPF32[$5 + 136 >> 2]; + HEAP32[$5 + 148 >> 2] = HEAP32[$5 + 140 >> 2]; + } + HEAP32[$5 + 140 >> 2] = HEAP32[$5 + 140 >> 2] + 1; + continue; + } + break; + } + HEAP32[$5 + 132 >> 2] = HEAP32[$5 + 148 >> 2]; + if (HEAP32[$5 + 508 >> 2] > (HEAP32[$5 + 132 >> 2] + 1 | 0)) { + $0 = HEAP32[$5 + 132 >> 2] + 1 | 0; + } else { + $0 = 0; + } + HEAP32[$5 + 128 >> 2] = $0; + $2 = ($5 + 380 | 0) + (HEAP32[$5 + 132 >> 2] << 3) | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + $2 = $1; + $1 = $5 + 208 | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAP8[$5 + 216 | 0] = 0; + HEAP8[$5 + 217 | 0] = HEAP32[$5 + 132 >> 2]; + HEAP8[$5 + 218 | 0] = 1; + HEAP8[$5 + 219 | 0] = 0; + $2 = ($5 + 380 | 0) + (HEAP32[$5 + 128 >> 2] << 3) | 0; + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + $2 = $0; + $0 = $5 + 208 | 0; + HEAP32[$0 + 12 >> 2] = $2; + HEAP32[$0 + 16 >> 2] = $1; + HEAP8[$5 + 228 | 0] = 0; + HEAP8[$5 + 229 | 0] = HEAP32[$5 + 128 >> 2]; + HEAP8[$5 + 230 | 0] = 1; + HEAP8[$5 + 231 | 0] = 0; + HEAP32[$5 + 152 >> 2] = 0; + HEAP32[$5 + 156 >> 2] = 1; + $0 = HEAP32[$5 + 556 >> 2]; + $1 = HEAP32[$5 + 552 >> 2]; + $2 = $1; + $1 = $5 + 152 | 0; + HEAP32[$1 + 8 >> 2] = $2; + HEAP32[$1 + 12 >> 2] = $0; + $1 = HEAP32[$5 + 548 >> 2]; + $0 = HEAP32[$5 + 544 >> 2]; + $2 = $0; + $0 = $5 + 152 | 0; + HEAP32[$0 + 16 >> 2] = $2; + HEAP32[$0 + 20 >> 2] = $1; + $2 = $5 + 288 | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + $2 = $1; + $1 = $5 + 152 | 0; + HEAP32[$1 + 24 >> 2] = $2; + HEAP32[$1 + 28 >> 2] = $0; + b2Vec2__operator__28_29_20const($5 + 120 | 0, $5 + 536 | 0); + $1 = HEAP32[$5 + 124 >> 2]; + $0 = HEAP32[$5 + 120 >> 2]; + $2 = $0; + $0 = $5 + 152 | 0; + HEAP32[$0 + 32 >> 2] = $2; + HEAP32[$0 + 36 >> 2] = $1; + $0 = HEAP32[$5 + 540 >> 2]; + $1 = HEAP32[$5 + 536 >> 2]; + $2 = $1; + $1 = $5 + 152 | 0; + HEAP32[$1 + 44 >> 2] = $2; + HEAP32[$1 + 48 >> 2] = $0; + break label$14; + } + HEAP32[HEAP32[$5 + 604 >> 2] + 56 >> 2] = 2; + $1 = HEAP32[$5 + 548 >> 2]; + $0 = HEAP32[$5 + 544 >> 2]; + $2 = $0; + $0 = $5 + 208 | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + HEAP8[$5 + 216 | 0] = 1; + HEAP8[$5 + 217 | 0] = HEAP32[$5 + 300 >> 2]; + HEAP8[$5 + 218 | 0] = 0; + HEAP8[$5 + 219 | 0] = 1; + $0 = HEAP32[$5 + 556 >> 2]; + $1 = HEAP32[$5 + 552 >> 2]; + $2 = $1; + $1 = $5 + 208 | 0; + HEAP32[$1 + 12 >> 2] = $2; + HEAP32[$1 + 16 >> 2] = $0; + HEAP8[$5 + 228 | 0] = 0; + HEAP8[$5 + 229 | 0] = HEAP32[$5 + 300 >> 2]; + HEAP8[$5 + 230 | 0] = 0; + HEAP8[$5 + 231 | 0] = 1; + HEAP32[$5 + 152 >> 2] = HEAP32[$5 + 300 >> 2]; + if (HEAP32[$5 + 508 >> 2] > (HEAP32[$5 + 152 >> 2] + 1 | 0)) { + $0 = HEAP32[$5 + 152 >> 2] + 1 | 0; + } else { + $0 = 0; + } + HEAP32[$5 + 156 >> 2] = $0; + $2 = ($5 + 380 | 0) + (HEAP32[$5 + 152 >> 2] << 3) | 0; + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + $2 = $0; + $0 = $5 + 152 | 0; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + $2 = ($5 + 380 | 0) + (HEAP32[$5 + 156 >> 2] << 3) | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + $2 = $1; + $1 = $5 + 152 | 0; + HEAP32[$1 + 16 >> 2] = $2; + HEAP32[$1 + 20 >> 2] = $0; + $2 = ($5 + 444 | 0) + (HEAP32[$5 + 152 >> 2] << 3) | 0; + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + $2 = $0; + $0 = $5 + 152 | 0; + HEAP32[$0 + 24 >> 2] = $2; + HEAP32[$0 + 28 >> 2] = $1; + b2Vec2__Set_28float_2c_20float_29($5 + 184 | 0, HEAPF32[$5 + 180 >> 2], Math_fround(-HEAPF32[$5 + 176 >> 2])); + b2Vec2__operator__28_29_20const($5 + 112 | 0, $5 + 184 | 0); + $0 = HEAP32[$5 + 116 >> 2]; + $1 = HEAP32[$5 + 112 >> 2]; + $2 = $1; + $1 = $5 + 152 | 0; + HEAP32[$1 + 44 >> 2] = $2; + HEAP32[$1 + 48 >> 2] = $0; + } + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 184 | 0, $5 + 160 | 0), + HEAPF32[wasm2js_i32$0 + 192 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 196 | 0, $5 + 168 | 0), + HEAPF32[wasm2js_i32$0 + 204 >> 2] = wasm2js_f32$0; + $0 = $5 + 80 | 0; + $1 = $0 + 24 | 0; + while (1) { + b2ClipVertex__b2ClipVertex_28_29($0); + $0 = $0 + 12 | 0; + if (($1 | 0) != ($0 | 0)) { + continue; + } + break; + } + $0 = $5 + 48 | 0; + $1 = $0 + 24 | 0; + while (1) { + b2ClipVertex__b2ClipVertex_28_29($0); + $0 = $0 + 12 | 0; + if (($1 | 0) != ($0 | 0)) { + continue; + } + break; + } + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2ClipSegmentToLine_28b2ClipVertex__2c_20b2ClipVertex_20const__2c_20b2Vec2_20const__2c_20float_2c_20int_29($5 + 80 | 0, $5 + 208 | 0, $5 + 184 | 0, HEAPF32[$5 + 192 >> 2], HEAP32[$5 + 152 >> 2]), + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + if (HEAP32[$5 + 44 >> 2] < 2) { + break label$1; + } + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2ClipSegmentToLine_28b2ClipVertex__2c_20b2ClipVertex_20const__2c_20b2Vec2_20const__2c_20float_2c_20int_29($5 + 48 | 0, $5 + 80 | 0, $5 + 196 | 0, HEAPF32[$5 + 204 >> 2], HEAP32[$5 + 156 >> 2]), + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + if (HEAP32[$5 + 44 >> 2] < 2) { + break label$1; + } + label$25: { + if (HEAP32[$5 + 296 >> 2] == 1) { + $2 = $5 + 152 | 0; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = HEAP32[$2 + 28 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 604 >> 2]; + HEAP32[$0 + 40 >> 2] = $2; + HEAP32[$0 + 44 >> 2] = $1; + $2 = $5 + 152 | 0; + $1 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 604 >> 2]; + HEAP32[$1 + 48 >> 2] = $2; + HEAP32[$1 + 52 >> 2] = $0; + break label$25; + } + $2 = (HEAP32[$5 + 592 >> 2] + 84 | 0) + (HEAP32[$5 + 152 >> 2] << 3) | 0; + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 604 >> 2]; + HEAP32[$0 + 40 >> 2] = $2; + HEAP32[$0 + 44 >> 2] = $1; + $2 = (HEAP32[$5 + 592 >> 2] + 20 | 0) + (HEAP32[$5 + 152 >> 2] << 3) | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 604 >> 2]; + HEAP32[$1 + 48 >> 2] = $2; + HEAP32[$1 + 52 >> 2] = $0; + } + HEAP32[$5 + 40 >> 2] = 0; + HEAP32[$5 + 36 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 36 >> 2] < 2) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 24 | 0, ($5 + 48 | 0) + Math_imul(HEAP32[$5 + 36 >> 2], 12) | 0, $5 + 160 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 176 | 0, $5 + 24 | 0), + HEAPF32[wasm2js_i32$0 + 32 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 32 >> 2] <= HEAPF32[$5 + 356 >> 2]) { + HEAP32[$5 + 20 >> 2] = HEAP32[$5 + 604 >> 2] + Math_imul(HEAP32[$5 + 40 >> 2], 20); + label$30: { + if (HEAP32[$5 + 296 >> 2] == 1) { + b2MulT_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 12 | 0, $5 + 572 | 0, ($5 + 48 | 0) + Math_imul(HEAP32[$5 + 36 >> 2], 12) | 0); + $1 = HEAP32[$5 + 16 >> 2]; + $0 = HEAP32[$5 + 12 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 20 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[HEAP32[$5 + 20 >> 2] + 16 >> 2] = HEAP32[(($5 + 48 | 0) + Math_imul(HEAP32[$5 + 36 >> 2], 12) | 0) + 8 >> 2]; + break label$30; + } + $2 = ($5 + 48 | 0) + Math_imul(HEAP32[$5 + 36 >> 2], 12) | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 20 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAP8[HEAP32[$5 + 20 >> 2] + 18 | 0] = HEAPU8[(($5 + 48 | 0) + Math_imul(HEAP32[$5 + 36 >> 2], 12) | 0) + 11 | 0]; + HEAP8[HEAP32[$5 + 20 >> 2] + 19 | 0] = HEAPU8[(($5 + 48 | 0) + Math_imul(HEAP32[$5 + 36 >> 2], 12) | 0) + 10 | 0]; + HEAP8[HEAP32[$5 + 20 >> 2] + 16 | 0] = HEAPU8[(($5 + 48 | 0) + Math_imul(HEAP32[$5 + 36 >> 2], 12) | 0) + 9 | 0]; + HEAP8[HEAP32[$5 + 20 >> 2] + 17 | 0] = HEAPU8[(($5 + 48 | 0) + Math_imul(HEAP32[$5 + 36 >> 2], 12) | 0) + 8 | 0]; + } + HEAP32[$5 + 40 >> 2] = HEAP32[$5 + 40 >> 2] + 1; + } + HEAP32[$5 + 36 >> 2] = HEAP32[$5 + 36 >> 2] + 1; + continue; + } + break; + } + HEAP32[HEAP32[$5 + 604 >> 2] + 60 >> 2] = HEAP32[$5 + 40 >> 2]; + } + __stack_pointer = $5 + 608 | 0; +} + +function fmt_fp($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = +$1; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + $12 = __stack_pointer - 560 | 0; + __stack_pointer = $12; + HEAP32[$12 + 44 >> 2] = 0; + $9 = __DOUBLE_BITS($1); + $11 = i64toi32_i32$HIGH_BITS; + $14 = $11; + label$1: { + if (($11 | 0) < 0) { + $19 = 1; + $25 = 1775; + $1 = -$1; + $8 = __DOUBLE_BITS($1); + $11 = i64toi32_i32$HIGH_BITS; + $14 = $11; + break label$1; + } + if ($4 & 2048) { + $19 = 1; + $25 = 1778; + break label$1; + } + $19 = $4 & 1; + $25 = $19 ? 1781 : 1776; + $26 = !$19; + } + $11 = $14; + $8 = $11 & 2146435072; + $11 = 0; + label$4: { + if (!$11 & ($8 | 0) == 2146435072) { + $6 = $19 + 3 | 0; + pad($0, 32, $2, $6, $4 & -65537); + out($0, $25, $19); + $7 = $5 & 32; + out($0, $1 != $1 ? $7 ? 6920 : 10867 : $7 ? 7875 : 10880, 3); + pad($0, 32, $2, $6, $4 ^ 8192); + $9 = ($2 | 0) < ($6 | 0) ? $6 : $2; + break label$4; + } + $20 = $12 + 16 | 0; + label$6: { + label$7: { + label$8: { + $1 = frexp($1, $12 + 44 | 0); + $1 = $1 + $1; + if ($1 != 0) { + $6 = HEAP32[$12 + 44 >> 2]; + HEAP32[$12 + 44 >> 2] = $6 - 1; + $23 = $5 | 32; + if (($23 | 0) != 97) { + break label$8; + } + break label$6; + } + $23 = $5 | 32; + if (($23 | 0) == 97) { + break label$6; + } + $24 = HEAP32[$12 + 44 >> 2]; + $13 = ($3 | 0) < 0 ? 6 : $3; + break label$7; + } + $24 = $6 - 29 | 0; + HEAP32[$12 + 44 >> 2] = $24; + $1 = $1 * 268435456; + $13 = ($3 | 0) < 0 ? 6 : $3; + } + $17 = ($12 + 48 | 0) + (($24 | 0) >= 0 ? 288 : 0) | 0; + $7 = $17; + while (1) { + if ($1 < 4294967296 & $1 >= 0) { + $6 = ~~$1 >>> 0; + } else { + $6 = 0; + } + HEAP32[$7 >> 2] = $6; + $7 = $7 + 4 | 0; + $1 = ($1 - +($6 >>> 0)) * 1e9; + if ($1 != 0) { + continue; + } + break; + } + label$13: { + if (($24 | 0) <= 0) { + $3 = $24; + $6 = $7; + $10 = $17; + break label$13; + } + $10 = $17; + $3 = $24; + while (1) { + $3 = ($3 | 0) >= 29 ? 29 : $3; + $6 = $7 - 4 | 0; + label$16: { + if ($10 >>> 0 > $6 >>> 0) { + break label$16; + } + $21 = 0; + while (1) { + $9 = $21; + $8 = HEAP32[$6 >> 2]; + $11 = $8; + $22 = $3; + $15 = $22 & 31; + if (($22 & 63) >>> 0 >= 32) { + $8 = $11 << $15; + $22 = 0; + } else { + $8 = (1 << $15) - 1 & $11 >>> 32 - $15; + $22 = $11 << $15; + } + $15 = $9 + $22 | 0; + $11 = $8; + $8 = $16; + $8 = $11 + $8 | 0; + $8 = $15 >>> 0 < $22 >>> 0 ? $8 + 1 | 0 : $8; + $27 = $8; + $9 = __wasm_i64_udiv($15, $8, 1e9, 0); + $8 = i64toi32_i32$HIGH_BITS; + $14 = $8; + $21 = $9; + $9 = __wasm_i64_mul($9, $8, 1e9, 0); + $8 = i64toi32_i32$HIGH_BITS; + $28 = $8; + $22 = $9; + $11 = $15 - $9 | 0; + $8 = $27; + $9 = $28; + $15 = $9 + ($15 >>> 0 < $22 >>> 0) | 0; + HEAP32[$6 >> 2] = $11; + $6 = $6 - 4 | 0; + if ($10 >>> 0 <= $6 >>> 0) { + continue; + } + break; + } + $6 = $21; + if (!$6) { + break label$16; + } + $10 = $10 - 4 | 0; + HEAP32[$10 >> 2] = $6; + } + while (1) { + $6 = $7; + if ($10 >>> 0 < $6 >>> 0) { + $7 = $6 - 4 | 0; + if (!HEAP32[$7 >> 2]) { + continue; + } + } + break; + } + $3 = HEAP32[$12 + 44 >> 2] - $3 | 0; + HEAP32[$12 + 44 >> 2] = $3; + $7 = $6; + if (($3 | 0) > 0) { + continue; + } + break; + } + } + if (($3 | 0) < 0) { + $16 = (($13 + 25 >>> 0) / 9 | 0) + 1 | 0; + $21 = ($23 | 0) == 102; + while (1) { + $7 = 0 - $3 | 0; + $8 = ($7 | 0) >= 9 ? 9 : $7; + label$22: { + if ($6 >>> 0 <= $10 >>> 0) { + $7 = HEAP32[$10 >> 2]; + break label$22; + } + $14 = 1e9 >>> $8 | 0; + $11 = -1 << $8 ^ -1; + $3 = 0; + $7 = $10; + while (1) { + $9 = HEAP32[$7 >> 2]; + HEAP32[$7 >> 2] = ($9 >>> $8 | 0) + $3; + $3 = Math_imul($9 & $11, $14); + $7 = $7 + 4 | 0; + if ($7 >>> 0 < $6 >>> 0) { + continue; + } + break; + } + $7 = HEAP32[$10 >> 2]; + if (!$3) { + break label$22; + } + HEAP32[$6 >> 2] = $3; + $6 = $6 + 4 | 0; + } + $3 = HEAP32[$12 + 44 >> 2] + $8 | 0; + HEAP32[$12 + 44 >> 2] = $3; + $10 = (!$7 << 2) + $10 | 0; + $7 = $21 ? $17 : $10; + $6 = $6 - $7 >> 2 > ($16 | 0) ? $7 + ($16 << 2) | 0 : $6; + if (($3 | 0) < 0) { + continue; + } + break; + } + } + $3 = 0; + label$25: { + if ($6 >>> 0 <= $10 >>> 0) { + break label$25; + } + $3 = Math_imul($17 - $10 >> 2, 9); + $7 = 10; + $9 = HEAP32[$10 >> 2]; + if ($9 >>> 0 < 10) { + break label$25; + } + while (1) { + $3 = $3 + 1 | 0; + $7 = Math_imul($7, 10); + if ($9 >>> 0 >= $7 >>> 0) { + continue; + } + break; + } + } + $7 = ($13 - (($23 | 0) != 102 ? $3 : 0) | 0) - (($23 | 0) == 103 & ($13 | 0) != 0) | 0; + if (($7 | 0) < (Math_imul($6 - $17 >> 2, 9) - 9 | 0)) { + $9 = $7 + 9216 | 0; + $14 = ($9 | 0) / 9 | 0; + $8 = (((($24 | 0) < 0 ? 4 : 292) + $12 | 0) + ($14 << 2) | 0) - 4048 | 0; + $7 = 10; + $9 = $9 - Math_imul($14, 9) | 0; + if (($9 | 0) <= 7) { + while (1) { + $7 = Math_imul($7, 10); + $9 = $9 + 1 | 0; + if (($9 | 0) != 8) { + continue; + } + break; + } + } + $9 = HEAP32[$8 >> 2]; + $16 = ($9 >>> 0) / ($7 >>> 0) | 0; + $14 = $9 - Math_imul($7, $16) | 0; + $11 = $8 + 4 | 0; + label$30: { + if (!$14 & ($11 | 0) == ($6 | 0)) { + break label$30; + } + label$31: { + if (!($16 & 1)) { + $1 = 9007199254740992; + if (!(HEAP8[$8 - 4 | 0] & 1) | (($7 | 0) != 1e9 | $10 >>> 0 >= $8 >>> 0)) { + break label$31; + } + } + $1 = 9007199254740994; + } + $18 = ($6 | 0) == ($11 | 0) ? 1 : 1.5; + $11 = $7 >>> 1 | 0; + $18 = $14 >>> 0 < $11 >>> 0 ? .5 : ($11 | 0) == ($14 | 0) ? $18 : 1.5; + if (!(HEAPU8[$25 | 0] != 45 | $26)) { + $18 = -$18; + $1 = -$1; + } + $9 = $9 - $14 | 0; + HEAP32[$8 >> 2] = $9; + if ($1 + $18 == $1) { + break label$30; + } + $7 = $7 + $9 | 0; + HEAP32[$8 >> 2] = $7; + if ($7 >>> 0 >= 1e9) { + while (1) { + HEAP32[$8 >> 2] = 0; + $8 = $8 - 4 | 0; + if ($8 >>> 0 < $10 >>> 0) { + $10 = $10 - 4 | 0; + HEAP32[$10 >> 2] = 0; + } + $7 = HEAP32[$8 >> 2] + 1 | 0; + HEAP32[$8 >> 2] = $7; + if ($7 >>> 0 > 999999999) { + continue; + } + break; + } + } + $3 = Math_imul($17 - $10 >> 2, 9); + $7 = 10; + $9 = HEAP32[$10 >> 2]; + if ($9 >>> 0 < 10) { + break label$30; + } + while (1) { + $3 = $3 + 1 | 0; + $7 = Math_imul($7, 10); + if ($9 >>> 0 >= $7 >>> 0) { + continue; + } + break; + } + } + $7 = $8 + 4 | 0; + $6 = $6 >>> 0 > $7 >>> 0 ? $7 : $6; + } + while (1) { + $7 = $6; + $9 = $6 >>> 0 <= $10 >>> 0; + if (!$9) { + $6 = $7 - 4 | 0; + if (!HEAP32[$6 >> 2]) { + continue; + } + } + break; + } + label$40: { + if (($23 | 0) != 103) { + $8 = $4 & 8; + break label$40; + } + $6 = $13 ? $13 : 1; + $8 = ($6 | 0) > ($3 | 0) & ($3 | 0) > -5; + $13 = ($8 ? $3 ^ -1 : -1) + $6 | 0; + $5 = ($8 ? -1 : -2) + $5 | 0; + $8 = $4 & 8; + if ($8) { + break label$40; + } + $6 = -9; + label$42: { + if ($9) { + break label$42; + } + $8 = HEAP32[$7 - 4 >> 2]; + if (!$8) { + break label$42; + } + $9 = 10; + $6 = 0; + if (($8 >>> 0) % 10 | 0) { + break label$42; + } + while (1) { + $14 = $6; + $6 = $6 + 1 | 0; + $9 = Math_imul($9, 10); + if (!(($8 >>> 0) % ($9 >>> 0) | 0)) { + continue; + } + break; + } + $6 = $14 ^ -1; + } + $9 = Math_imul($7 - $17 >> 2, 9); + if (($5 & -33) == 70) { + $8 = 0; + $6 = ($6 + $9 | 0) - 9 | 0; + $6 = ($6 | 0) > 0 ? $6 : 0; + $13 = ($6 | 0) > ($13 | 0) ? $13 : $6; + break label$40; + } + $8 = 0; + $6 = (($3 + $9 | 0) + $6 | 0) - 9 | 0; + $6 = ($6 | 0) > 0 ? $6 : 0; + $13 = ($6 | 0) > ($13 | 0) ? $13 : $6; + } + $9 = -1; + $14 = $8 | $13; + if ((($14 ? 2147483645 : 2147483646) | 0) < ($13 | 0)) { + break label$4; + } + $11 = ((($14 | 0) != 0) + $13 | 0) + 1 | 0; + $21 = $5 & -33; + label$45: { + if (($21 | 0) == 70) { + if (($11 ^ 2147483647) < ($3 | 0)) { + break label$4; + } + $6 = ($3 | 0) > 0 ? $3 : 0; + break label$45; + } + $6 = $3 >> 31; + $6 = fmt_u(($6 ^ $3) - $6 | 0, 0, $20); + if (($20 - $6 | 0) <= 1) { + while (1) { + $6 = $6 - 1 | 0; + HEAP8[$6 | 0] = 48; + if (($20 - $6 | 0) < 2) { + continue; + } + break; + } + } + $16 = $6 - 2 | 0; + HEAP8[$16 | 0] = $5; + HEAP8[$6 - 1 | 0] = ($3 | 0) < 0 ? 45 : 43; + $6 = $20 - $16 | 0; + if (($6 | 0) > ($11 ^ 2147483647)) { + break label$4; + } + } + $6 = $6 + $11 | 0; + if (($6 | 0) > ($19 ^ 2147483647)) { + break label$4; + } + $11 = $6 + $19 | 0; + pad($0, 32, $2, $11, $4); + out($0, $25, $19); + pad($0, 48, $2, $11, $4 ^ 65536); + label$49: { + label$50: { + label$51: { + if (($21 | 0) == 70) { + $8 = $12 + 16 | 8; + $3 = $12 + 16 | 9; + $9 = $10 >>> 0 > $17 >>> 0 ? $17 : $10; + $10 = $9; + while (1) { + $15 = HEAP32[$10 >> 2]; + $6 = fmt_u($15, 0, $3); + label$54: { + if (($10 | 0) != ($9 | 0)) { + if ($12 + 16 >>> 0 >= $6 >>> 0) { + break label$54; + } + while (1) { + $6 = $6 - 1 | 0; + HEAP8[$6 | 0] = 48; + if ($12 + 16 >>> 0 < $6 >>> 0) { + continue; + } + break; + } + break label$54; + } + if (($3 | 0) != ($6 | 0)) { + break label$54; + } + HEAP8[$12 + 24 | 0] = 48; + $6 = $8; + } + out($0, $6, $3 - $6 | 0); + $10 = $10 + 4 | 0; + if ($17 >>> 0 >= $10 >>> 0) { + continue; + } + break; + } + if ($14) { + out($0, 12340, 1); + } + if (($13 | 0) <= 0 | $7 >>> 0 <= $10 >>> 0) { + break label$51; + } + while (1) { + $8 = HEAP32[$10 >> 2]; + $6 = fmt_u($8, 0, $3); + if ($6 >>> 0 > $12 + 16 >>> 0) { + while (1) { + $6 = $6 - 1 | 0; + HEAP8[$6 | 0] = 48; + if ($12 + 16 >>> 0 < $6 >>> 0) { + continue; + } + break; + } + } + out($0, $6, ($13 | 0) >= 9 ? 9 : $13); + $6 = $13 - 9 | 0; + $10 = $10 + 4 | 0; + if ($10 >>> 0 >= $7 >>> 0) { + break label$50; + } + $9 = ($13 | 0) > 9; + $13 = $6; + if ($9) { + continue; + } + break; + } + break label$50; + } + label$61: { + if (($13 | 0) < 0) { + break label$61; + } + $14 = $7 >>> 0 > $10 >>> 0 ? $7 : $10 + 4 | 0; + $17 = $12 + 16 | 8; + $3 = $12 + 16 | 9; + $7 = $10; + while (1) { + $15 = HEAP32[$7 >> 2]; + $6 = fmt_u($15, 0, $3); + if (($6 | 0) == ($3 | 0)) { + HEAP8[$12 + 24 | 0] = 48; + $6 = $17; + } + label$64: { + if (($7 | 0) != ($10 | 0)) { + if ($12 + 16 >>> 0 >= $6 >>> 0) { + break label$64; + } + while (1) { + $6 = $6 - 1 | 0; + HEAP8[$6 | 0] = 48; + if ($12 + 16 >>> 0 < $6 >>> 0) { + continue; + } + break; + } + break label$64; + } + out($0, $6, 1); + $6 = $6 + 1 | 0; + if (!($8 | $13)) { + break label$64; + } + out($0, 12340, 1); + } + $9 = $3 - $6 | 0; + out($0, $6, ($9 | 0) > ($13 | 0) ? $13 : $9); + $13 = $13 - $9 | 0; + $7 = $7 + 4 | 0; + if ($14 >>> 0 <= $7 >>> 0) { + break label$61; + } + if (($13 | 0) >= 0) { + continue; + } + break; + } + } + pad($0, 48, $13 + 18 | 0, 18, 0); + out($0, $16, $20 - $16 | 0); + break label$49; + } + $6 = $13; + } + pad($0, 48, $6 + 9 | 0, 9, 0); + } + pad($0, 32, $2, $11, $4 ^ 8192); + $9 = ($2 | 0) < ($11 | 0) ? $11 : $2; + break label$4; + } + $11 = ($5 << 26 >> 31 & 9) + $25 | 0; + label$67: { + if ($3 >>> 0 > 11) { + break label$67; + } + $6 = 12 - $3 | 0; + $18 = 16; + while (1) { + $18 = $18 * 16; + $6 = $6 - 1 | 0; + if ($6) { + continue; + } + break; + } + if (HEAPU8[$11 | 0] == 45) { + $1 = -($18 + (-$1 - $18)); + break label$67; + } + $1 = $1 + $18 - $18; + } + $6 = HEAP32[$12 + 44 >> 2]; + $7 = $6; + $6 = $6 >> 31; + $6 = fmt_u(($7 ^ $6) - $6 | 0, 0, $20); + if (($20 | 0) == ($6 | 0)) { + HEAP8[$12 + 15 | 0] = 48; + $6 = $12 + 15 | 0; + } + $8 = $19 | 2; + $10 = $5 & 32; + $7 = HEAP32[$12 + 44 >> 2]; + $14 = $6 - 2 | 0; + HEAP8[$14 | 0] = $5 + 15; + HEAP8[$6 - 1 | 0] = ($7 | 0) < 0 ? 45 : 43; + $9 = $4 & 8; + $7 = $12 + 16 | 0; + while (1) { + $6 = $7; + if (Math_abs($1) < 2147483648) { + $7 = ~~$1; + } else { + $7 = -2147483648; + } + HEAP8[$6 | 0] = HEAPU8[$7 + 23872 | 0] | $10; + $1 = ($1 - +($7 | 0)) * 16; + $7 = $6 + 1 | 0; + if (!(!(($3 | 0) > 0 | $9) & $1 == 0 | ($7 - ($12 + 16 | 0) | 0) != 1)) { + HEAP8[$6 + 1 | 0] = 46; + $7 = $6 + 2 | 0; + } + if ($1 != 0) { + continue; + } + break; + } + $9 = -1; + $10 = $20 - $14 | 0; + $16 = $8 + $10 | 0; + if ((2147483645 - $16 | 0) < ($3 | 0)) { + break label$4; + } + $6 = $7 - ($12 + 16 | 0) | 0; + $3 = $3 ? ($6 - 2 | 0) < ($3 | 0) ? $3 + 2 | 0 : $6 : $6; + $7 = $16 + $3 | 0; + pad($0, 32, $2, $7, $4); + out($0, $11, $8); + pad($0, 48, $2, $7, $4 ^ 65536); + out($0, $12 + 16 | 0, $6); + pad($0, 48, $3 - $6 | 0, 0, 0); + out($0, $14, $10); + pad($0, 32, $2, $7, $4 ^ 8192); + $9 = ($2 | 0) < ($7 | 0) ? $7 : $2; + } + __stack_pointer = $12 + 560 | 0; + return $9 | 0; +} + +function b2Island__Solve_28b2Profile__2c_20b2TimeStep_20const__2c_20b2Vec2_20const__2c_20bool_29($0, $1, $2, $3, $4) { + var $5 = 0, $6 = 0, $7 = Math_fround(0), $8 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $5 = __stack_pointer - 352 | 0; + __stack_pointer = $5; + HEAP32[$5 + 348 >> 2] = $0; + HEAP32[$5 + 344 >> 2] = $1; + HEAP32[$5 + 340 >> 2] = $2; + HEAP32[$5 + 336 >> 2] = $3; + HEAP8[$5 + 335 | 0] = $4; + $6 = HEAP32[$5 + 348 >> 2]; + b2Timer__b2Timer_28_29($5 + 334 | 0); + HEAPF32[$5 + 328 >> 2] = HEAPF32[HEAP32[$5 + 340 >> 2] >> 2]; + HEAP32[$5 + 324 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 324 >> 2] < HEAP32[$6 + 28 >> 2]) { + HEAP32[$5 + 320 >> 2] = HEAP32[HEAP32[$6 + 8 >> 2] + (HEAP32[$5 + 324 >> 2] << 2) >> 2]; + $2 = HEAP32[$5 + 320 >> 2]; + $0 = HEAP32[$2 + 44 >> 2]; + $1 = HEAP32[$2 + 48 >> 2]; + HEAP32[$5 + 312 >> 2] = $0; + HEAP32[$5 + 316 >> 2] = $1; + HEAPF32[$5 + 308 >> 2] = HEAPF32[HEAP32[$5 + 320 >> 2] + 56 >> 2]; + $2 = HEAP32[$5 + 320 >> 2]; + $1 = HEAP32[$2 + 64 >> 2]; + $0 = HEAP32[$2 + 68 >> 2]; + HEAP32[$5 + 296 >> 2] = $1; + HEAP32[$5 + 300 >> 2] = $0; + HEAPF32[$5 + 292 >> 2] = HEAPF32[HEAP32[$5 + 320 >> 2] + 72 >> 2]; + $2 = HEAP32[$5 + 320 >> 2]; + $0 = HEAP32[$2 + 44 >> 2]; + $1 = HEAP32[$2 + 48 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 320 >> 2]; + HEAP32[$0 + 36 >> 2] = $2; + HEAP32[$0 + 40 >> 2] = $1; + HEAPF32[HEAP32[$5 + 320 >> 2] + 52 >> 2] = HEAPF32[HEAP32[$5 + 320 >> 2] + 56 >> 2]; + if (HEAP32[HEAP32[$5 + 320 >> 2] >> 2] == 2) { + $7 = HEAPF32[$5 + 328 >> 2]; + $8 = HEAPF32[HEAP32[$5 + 320 >> 2] + 120 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($5 + 268 | 0, Math_fround(HEAPF32[HEAP32[$5 + 320 >> 2] + 140 >> 2] * HEAPF32[HEAP32[$5 + 320 >> 2] + 116 >> 2]), HEAP32[$5 + 336 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($5 + 276 | 0, $5 + 268 | 0, HEAP32[$5 + 320 >> 2] + 76 | 0); + operator__28float_2c_20b2Vec2_20const__29($5 + 284 | 0, Math_fround($7 * $8), $5 + 276 | 0); + b2Vec2__operator___28b2Vec2_20const__29($5 + 296 | 0, $5 + 284 | 0); + HEAPF32[$5 + 292 >> 2] = Math_fround(Math_fround(HEAPF32[$5 + 328 >> 2] * HEAPF32[HEAP32[$5 + 320 >> 2] + 128 >> 2]) * HEAPF32[HEAP32[$5 + 320 >> 2] + 84 >> 2]) + HEAPF32[$5 + 292 >> 2]; + b2Vec2__operator___28float_29($5 + 296 | 0, Math_fround(Math_fround(1) / Math_fround(Math_fround(HEAPF32[$5 + 328 >> 2] * HEAPF32[HEAP32[$5 + 320 >> 2] + 132 >> 2]) + Math_fround(1)))); + HEAPF32[$5 + 292 >> 2] = HEAPF32[$5 + 292 >> 2] * Math_fround(Math_fround(1) / Math_fround(Math_fround(HEAPF32[$5 + 328 >> 2] * HEAPF32[HEAP32[$5 + 320 >> 2] + 136 >> 2]) + Math_fround(1))); + } + $0 = HEAP32[$5 + 316 >> 2]; + $1 = HEAP32[$5 + 312 >> 2]; + $2 = $1; + $1 = HEAP32[$6 + 20 >> 2] + Math_imul(HEAP32[$5 + 324 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[$6 + 20 >> 2] + Math_imul(HEAP32[$5 + 324 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$5 + 308 >> 2]; + $1 = HEAP32[$5 + 300 >> 2]; + $0 = HEAP32[$5 + 296 >> 2]; + $2 = $0; + $0 = HEAP32[$6 + 24 >> 2] + Math_imul(HEAP32[$5 + 324 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[$6 + 24 >> 2] + Math_imul(HEAP32[$5 + 324 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$5 + 292 >> 2]; + HEAP32[$5 + 324 >> 2] = HEAP32[$5 + 324 >> 2] + 1; + continue; + } + break; + } + b2Timer__Reset_28_29($5 + 334 | 0); + $2 = HEAP32[$5 + 340 >> 2]; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + $4 = $1; + $3 = $5 + 236 | 0; + $1 = $3; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + $1 = HEAP32[$2 + 20 >> 2]; + $0 = HEAP32[$2 + 16 >> 2]; + $4 = $0; + $0 = $3; + HEAP32[$0 + 16 >> 2] = $4; + HEAP32[$0 + 20 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$2 + 8 >> 2]; + $2 = $1; + $1 = $3; + HEAP32[$1 + 8 >> 2] = $2; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$5 + 260 >> 2] = HEAP32[$6 + 20 >> 2]; + HEAP32[$5 + 264 >> 2] = HEAP32[$6 + 24 >> 2]; + $2 = HEAP32[$5 + 340 >> 2]; + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + $4 = $0; + $3 = $5 + 192 | 0; + $0 = $3; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + $1 = HEAP32[$2 + 16 >> 2]; + $4 = $1; + $1 = $3; + HEAP32[$1 + 16 >> 2] = $4; + HEAP32[$1 + 20 >> 2] = $0; + $1 = HEAP32[$2 + 12 >> 2]; + $0 = HEAP32[$2 + 8 >> 2]; + $2 = $0; + $0 = $3; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + HEAP32[$5 + 216 >> 2] = HEAP32[$6 + 12 >> 2]; + HEAP32[$5 + 220 >> 2] = HEAP32[$6 + 36 >> 2]; + HEAP32[$5 + 224 >> 2] = HEAP32[$6 + 20 >> 2]; + HEAP32[$5 + 228 >> 2] = HEAP32[$6 + 24 >> 2]; + HEAP32[$5 + 232 >> 2] = HEAP32[$6 >> 2]; + b2ContactSolver__b2ContactSolver_28b2ContactSolverDef__29($5 + 140 | 0, $5 + 192 | 0); + b2ContactSolver__InitializeVelocityConstraints_28_29($5 + 140 | 0); + if (HEAP8[HEAP32[$5 + 340 >> 2] + 20 | 0] & 1) { + b2ContactSolver__WarmStart_28_29($5 + 140 | 0); + } + HEAP32[$5 + 136 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 136 >> 2] < HEAP32[$6 + 32 >> 2]) { + $0 = HEAP32[HEAP32[$6 + 16 >> 2] + (HEAP32[$5 + 136 >> 2] << 2) >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 36 >> 2]]($0, $5 + 236 | 0); + HEAP32[$5 + 136 >> 2] = HEAP32[$5 + 136 >> 2] + 1; + continue; + } + break; + } + $7 = b2Timer__GetMilliseconds_28_29_20const($5 + 334 | 0); + HEAPF32[HEAP32[$5 + 344 >> 2] + 12 >> 2] = $7; + b2Timer__Reset_28_29($5 + 334 | 0); + HEAP32[$5 + 132 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 132 >> 2] < HEAP32[HEAP32[$5 + 340 >> 2] + 12 >> 2]) { + HEAP32[$5 + 128 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 128 >> 2] < HEAP32[$6 + 32 >> 2]) { + $0 = HEAP32[HEAP32[$6 + 16 >> 2] + (HEAP32[$5 + 128 >> 2] << 2) >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 40 >> 2]]($0, $5 + 236 | 0); + HEAP32[$5 + 128 >> 2] = HEAP32[$5 + 128 >> 2] + 1; + continue; + } + break; + } + b2ContactSolver__SolveVelocityConstraints_28_29($5 + 140 | 0); + HEAP32[$5 + 132 >> 2] = HEAP32[$5 + 132 >> 2] + 1; + continue; + } + break; + } + b2ContactSolver__StoreImpulses_28_29($5 + 140 | 0); + $7 = b2Timer__GetMilliseconds_28_29_20const($5 + 334 | 0); + HEAPF32[HEAP32[$5 + 344 >> 2] + 16 >> 2] = $7; + HEAP32[$5 + 124 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 124 >> 2] < HEAP32[$6 + 28 >> 2]) { + $2 = HEAP32[$6 + 20 >> 2] + Math_imul(HEAP32[$5 + 124 >> 2], 12) | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + HEAP32[$5 + 112 >> 2] = $1; + HEAP32[$5 + 116 >> 2] = $0; + HEAPF32[$5 + 108 >> 2] = HEAPF32[(HEAP32[$6 + 20 >> 2] + Math_imul(HEAP32[$5 + 124 >> 2], 12) | 0) + 8 >> 2]; + $2 = HEAP32[$6 + 24 >> 2] + Math_imul(HEAP32[$5 + 124 >> 2], 12) | 0; + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + HEAP32[$5 + 96 >> 2] = $0; + HEAP32[$5 + 100 >> 2] = $1; + HEAPF32[$5 + 92 >> 2] = HEAPF32[(HEAP32[$6 + 24 >> 2] + Math_imul(HEAP32[$5 + 124 >> 2], 12) | 0) + 8 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($5 + 84 | 0, HEAPF32[$5 + 328 >> 2], $5 + 96 | 0); + $0 = $5 + 84 | 0; + if (b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $0) > Math_fround(4)) { + wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2) / b2Vec2__Length_28_29_20const($5 + 84 | 0)), + HEAPF32[wasm2js_i32$0 + 80 >> 2] = wasm2js_f32$0; + b2Vec2__operator___28float_29($5 + 96 | 0, HEAPF32[$5 + 80 >> 2]); + } + HEAPF32[$5 + 76 >> 2] = HEAPF32[$5 + 328 >> 2] * HEAPF32[$5 + 92 >> 2]; + if (Math_fround(HEAPF32[$5 + 76 >> 2] * HEAPF32[$5 + 76 >> 2]) > Math_fround(2.4674012660980225)) { + wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.5707963705062866) / float_20b2Abs_float__28float_29(HEAPF32[$5 + 76 >> 2])), + HEAPF32[wasm2js_i32$0 + 72 >> 2] = wasm2js_f32$0; + HEAPF32[$5 + 92 >> 2] = HEAPF32[$5 + 92 >> 2] * HEAPF32[$5 + 72 >> 2]; + } + operator__28float_2c_20b2Vec2_20const__29($5 - -64 | 0, HEAPF32[$5 + 328 >> 2], $5 + 96 | 0); + b2Vec2__operator___28b2Vec2_20const__29($5 + 112 | 0, $5 - -64 | 0); + HEAPF32[$5 + 108 >> 2] = Math_fround(HEAPF32[$5 + 328 >> 2] * HEAPF32[$5 + 92 >> 2]) + HEAPF32[$5 + 108 >> 2]; + $0 = HEAP32[$5 + 116 >> 2]; + $1 = HEAP32[$5 + 112 >> 2]; + $2 = $1; + $1 = HEAP32[$6 + 20 >> 2] + Math_imul(HEAP32[$5 + 124 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[$6 + 20 >> 2] + Math_imul(HEAP32[$5 + 124 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$5 + 108 >> 2]; + $1 = HEAP32[$5 + 100 >> 2]; + $0 = HEAP32[$5 + 96 >> 2]; + $2 = $0; + $0 = HEAP32[$6 + 24 >> 2] + Math_imul(HEAP32[$5 + 124 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[$6 + 24 >> 2] + Math_imul(HEAP32[$5 + 124 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$5 + 92 >> 2]; + HEAP32[$5 + 124 >> 2] = HEAP32[$5 + 124 >> 2] + 1; + continue; + } + break; + } + b2Timer__Reset_28_29($5 + 334 | 0); + HEAP8[$5 + 63 | 0] = 0; + HEAP32[$5 + 56 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 56 >> 2] < HEAP32[HEAP32[$5 + 340 >> 2] + 16 >> 2]) { + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2ContactSolver__SolvePositionConstraints_28_29($5 + 140 | 0) & 1, + HEAP8[wasm2js_i32$0 + 55 | 0] = wasm2js_i32$1; + HEAP8[$5 + 54 | 0] = 1; + HEAP32[$5 + 48 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 48 >> 2] < HEAP32[$6 + 32 >> 2]) { + $0 = HEAP32[HEAP32[$6 + 16 >> 2] + (HEAP32[$5 + 48 >> 2] << 2) >> 2]; + wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 44 >> 2]]($0, $5 + 236 | 0) & 1, + HEAP8[wasm2js_i32$0 + 47 | 0] = wasm2js_i32$1; + $0 = 0; + $0 = HEAP8[$5 + 54 | 0] & 1 ? HEAPU8[$5 + 47 | 0] : $0; + HEAP8[$5 + 54 | 0] = $0 & 1; + HEAP32[$5 + 48 >> 2] = HEAP32[$5 + 48 >> 2] + 1; + continue; + } + break; + } + if (!(HEAP8[$5 + 55 | 0] & 1) | !(HEAP8[$5 + 54 | 0] & 1)) { + HEAP32[$5 + 56 >> 2] = HEAP32[$5 + 56 >> 2] + 1; + continue; + } else { + HEAP8[$5 + 63 | 0] = 1; + } + } + break; + } + HEAP32[$5 + 40 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 40 >> 2] < HEAP32[$6 + 28 >> 2]) { + HEAP32[$5 + 36 >> 2] = HEAP32[HEAP32[$6 + 8 >> 2] + (HEAP32[$5 + 40 >> 2] << 2) >> 2]; + $2 = HEAP32[$6 + 20 >> 2] + Math_imul(HEAP32[$5 + 40 >> 2], 12) | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 36 >> 2]; + HEAP32[$1 + 44 >> 2] = $2; + HEAP32[$1 + 48 >> 2] = $0; + HEAPF32[HEAP32[$5 + 36 >> 2] + 56 >> 2] = HEAPF32[(HEAP32[$6 + 20 >> 2] + Math_imul(HEAP32[$5 + 40 >> 2], 12) | 0) + 8 >> 2]; + $2 = HEAP32[$6 + 24 >> 2] + Math_imul(HEAP32[$5 + 40 >> 2], 12) | 0; + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 36 >> 2]; + HEAP32[$0 + 64 >> 2] = $2; + HEAP32[$0 + 68 >> 2] = $1; + HEAPF32[HEAP32[$5 + 36 >> 2] + 72 >> 2] = HEAPF32[(HEAP32[$6 + 24 >> 2] + Math_imul(HEAP32[$5 + 40 >> 2], 12) | 0) + 8 >> 2]; + b2Body__SynchronizeTransform_28_29(HEAP32[$5 + 36 >> 2]); + HEAP32[$5 + 40 >> 2] = HEAP32[$5 + 40 >> 2] + 1; + continue; + } + break; + } + $7 = b2Timer__GetMilliseconds_28_29_20const($5 + 334 | 0); + HEAPF32[HEAP32[$5 + 344 >> 2] + 20 >> 2] = $7; + b2Island__Report_28b2ContactVelocityConstraint_20const__29($6, HEAP32[$5 + 180 >> 2]); + if (HEAP8[$5 + 335 | 0] & 1) { + HEAPF32[$5 + 32 >> 2] = 34028234663852886e22; + HEAPF32[$5 + 28 >> 2] = 9999999747378752e-20; + HEAPF32[$5 + 24 >> 2] = .001218469929881394; + HEAP32[$5 + 20 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 20 >> 2] < HEAP32[$6 + 28 >> 2]) { + HEAP32[$5 + 16 >> 2] = HEAP32[HEAP32[$6 + 8 >> 2] + (HEAP32[$5 + 20 >> 2] << 2) >> 2]; + if (b2Body__GetType_28_29_20const(HEAP32[$5 + 16 >> 2])) { + label$27: { + label$28: { + if (!(!(HEAPU16[HEAP32[$5 + 16 >> 2] + 4 >> 1] & 4) | Math_fround(HEAPF32[HEAP32[$5 + 16 >> 2] + 72 >> 2] * HEAPF32[HEAP32[$5 + 16 >> 2] + 72 >> 2]) > Math_fround(.001218469929881394))) { + if (!(b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$5 + 16 >> 2] - -64 | 0, HEAP32[$5 + 16 >> 2] - -64 | 0) > Math_fround(9999999747378752e-20))) { + break label$28; + } + } + HEAPF32[HEAP32[$5 + 16 >> 2] + 144 >> 2] = 0; + HEAPF32[$5 + 32 >> 2] = 0; + break label$27; + } + $0 = HEAP32[$5 + 16 >> 2]; + HEAPF32[$0 + 144 >> 2] = HEAPF32[$0 + 144 >> 2] + HEAPF32[$5 + 328 >> 2]; + wasm2js_i32$0 = $5, wasm2js_f32$0 = float_20b2Min_float__28float_2c_20float_29(HEAPF32[$5 + 32 >> 2], HEAPF32[HEAP32[$5 + 16 >> 2] + 144 >> 2]), + HEAPF32[wasm2js_i32$0 + 32 >> 2] = wasm2js_f32$0; + } + } + HEAP32[$5 + 20 >> 2] = HEAP32[$5 + 20 >> 2] + 1; + continue; + } + break; + } + if (!(!(HEAPF32[$5 + 32 >> 2] >= Math_fround(.5)) | !(HEAP8[$5 + 63 | 0] & 1))) { + HEAP32[$5 + 12 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 12 >> 2] < HEAP32[$6 + 28 >> 2]) { + HEAP32[$5 + 8 >> 2] = HEAP32[HEAP32[$6 + 8 >> 2] + (HEAP32[$5 + 12 >> 2] << 2) >> 2]; + b2Body__SetAwake_28bool_29(HEAP32[$5 + 8 >> 2], 0); + HEAP32[$5 + 12 >> 2] = HEAP32[$5 + 12 >> 2] + 1; + continue; + } + break; + } + } + } + b2ContactSolver___b2ContactSolver_28_29($5 + 140 | 0); + __stack_pointer = $5 + 352 | 0; +} + +function b2ContactSolver__InitializeVelocityConstraints_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = Math_fround(0), $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 400 | 0; + __stack_pointer = $1; + HEAP32[$1 + 396 >> 2] = $0; + $4 = HEAP32[$1 + 396 >> 2]; + HEAP32[$1 + 392 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 392 >> 2] < HEAP32[$4 + 48 >> 2]) { + HEAP32[$1 + 388 >> 2] = HEAP32[$4 + 40 >> 2] + Math_imul(HEAP32[$1 + 392 >> 2], 156); + HEAP32[$1 + 384 >> 2] = HEAP32[$4 + 36 >> 2] + Math_imul(HEAP32[$1 + 392 >> 2], 88); + HEAPF32[$1 + 380 >> 2] = HEAPF32[HEAP32[$1 + 384 >> 2] + 76 >> 2]; + HEAPF32[$1 + 376 >> 2] = HEAPF32[HEAP32[$1 + 384 >> 2] + 80 >> 2]; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetManifold_28_29(HEAP32[HEAP32[$4 + 44 >> 2] + (HEAP32[HEAP32[$1 + 388 >> 2] + 152 >> 2] << 2) >> 2]), + HEAP32[wasm2js_i32$0 + 372 >> 2] = wasm2js_i32$1; + HEAP32[$1 + 368 >> 2] = HEAP32[HEAP32[$1 + 388 >> 2] + 112 >> 2]; + HEAP32[$1 + 364 >> 2] = HEAP32[HEAP32[$1 + 388 >> 2] + 116 >> 2]; + HEAPF32[$1 + 360 >> 2] = HEAPF32[HEAP32[$1 + 388 >> 2] + 120 >> 2]; + HEAPF32[$1 + 356 >> 2] = HEAPF32[HEAP32[$1 + 388 >> 2] + 124 >> 2]; + HEAPF32[$1 + 352 >> 2] = HEAPF32[HEAP32[$1 + 388 >> 2] + 128 >> 2]; + HEAPF32[$1 + 348 >> 2] = HEAPF32[HEAP32[$1 + 388 >> 2] + 132 >> 2]; + $3 = HEAP32[$1 + 384 >> 2]; + $2 = HEAP32[$3 + 48 >> 2]; + $0 = HEAP32[$3 + 52 >> 2]; + HEAP32[$1 + 336 >> 2] = $2; + HEAP32[$1 + 340 >> 2] = $0; + $3 = HEAP32[$1 + 384 >> 2]; + $0 = HEAP32[$3 + 56 >> 2]; + $2 = HEAP32[$3 + 60 >> 2]; + HEAP32[$1 + 328 >> 2] = $0; + HEAP32[$1 + 332 >> 2] = $2; + $3 = HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 368 >> 2], 12) | 0; + $2 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + HEAP32[$1 + 320 >> 2] = $2; + HEAP32[$1 + 324 >> 2] = $0; + HEAPF32[$1 + 316 >> 2] = HEAPF32[(HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 368 >> 2], 12) | 0) + 8 >> 2]; + $3 = HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 368 >> 2], 12) | 0; + $0 = HEAP32[$3 >> 2]; + $2 = HEAP32[$3 + 4 >> 2]; + HEAP32[$1 + 304 >> 2] = $0; + HEAP32[$1 + 308 >> 2] = $2; + HEAPF32[$1 + 300 >> 2] = HEAPF32[(HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 368 >> 2], 12) | 0) + 8 >> 2]; + $3 = HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 364 >> 2], 12) | 0; + $2 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + HEAP32[$1 + 288 >> 2] = $2; + HEAP32[$1 + 292 >> 2] = $0; + HEAPF32[$1 + 284 >> 2] = HEAPF32[(HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 364 >> 2], 12) | 0) + 8 >> 2]; + $3 = HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 364 >> 2], 12) | 0; + $0 = HEAP32[$3 >> 2]; + $2 = HEAP32[$3 + 4 >> 2]; + HEAP32[$1 + 272 >> 2] = $0; + HEAP32[$1 + 276 >> 2] = $2; + HEAPF32[$1 + 268 >> 2] = HEAPF32[(HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 364 >> 2], 12) | 0) + 8 >> 2]; + if (HEAP32[HEAP32[$1 + 372 >> 2] + 60 >> 2] <= 0) { + __assert_fail(12211, 5487, 176, 3289); + wasm2js_trap(); + } else { + b2Transform__b2Transform_28_29($1 + 252 | 0); + b2Transform__b2Transform_28_29($1 + 236 | 0); + b2Rot__Set_28float_29($1 + 260 | 0, HEAPF32[$1 + 316 >> 2]); + b2Rot__Set_28float_29($1 + 244 | 0, HEAPF32[$1 + 284 >> 2]); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($1 + 220 | 0, $1 + 260 | 0, $1 + 336 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 228 | 0, $1 + 320 | 0, $1 + 220 | 0); + $0 = HEAP32[$1 + 232 >> 2]; + $2 = HEAP32[$1 + 228 >> 2]; + $3 = $2; + $2 = $1 + 252 | 0; + HEAP32[$2 >> 2] = $3; + HEAP32[$2 + 4 >> 2] = $0; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($1 + 204 | 0, $1 + 244 | 0, $1 + 328 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 212 | 0, $1 + 288 | 0, $1 + 204 | 0); + $2 = HEAP32[$1 + 216 >> 2]; + $0 = HEAP32[$1 + 212 >> 2]; + $3 = $0; + $0 = $1 + 236 | 0; + HEAP32[$0 >> 2] = $3; + HEAP32[$0 + 4 >> 2] = $2; + b2WorldManifold__b2WorldManifold_28_29($1 + 172 | 0); + b2WorldManifold__Initialize_28b2Manifold_20const__2c_20b2Transform_20const__2c_20float_2c_20b2Transform_20const__2c_20float_29($1 + 172 | 0, HEAP32[$1 + 372 >> 2], $1 + 252 | 0, HEAPF32[$1 + 380 >> 2], $1 + 236 | 0, HEAPF32[$1 + 376 >> 2]); + $3 = $1 + 172 | 0; + $2 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + $3 = $2; + $2 = HEAP32[$1 + 388 >> 2]; + HEAP32[$2 + 72 >> 2] = $3; + HEAP32[$2 + 76 >> 2] = $0; + HEAP32[$1 + 168 >> 2] = HEAP32[HEAP32[$1 + 388 >> 2] + 148 >> 2]; + HEAP32[$1 + 164 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 164 >> 2] < HEAP32[$1 + 168 >> 2]) { + HEAP32[$1 + 160 >> 2] = HEAP32[$1 + 388 >> 2] + Math_imul(HEAP32[$1 + 164 >> 2], 36); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 152 | 0, ($1 + 180 | 0) + (HEAP32[$1 + 164 >> 2] << 3) | 0, $1 + 320 | 0); + $2 = HEAP32[$1 + 156 >> 2]; + $0 = HEAP32[$1 + 152 >> 2]; + $3 = $0; + $0 = HEAP32[$1 + 160 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$0 + 4 >> 2] = $2; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 144 | 0, ($1 + 180 | 0) + (HEAP32[$1 + 164 >> 2] << 3) | 0, $1 + 288 | 0); + $0 = HEAP32[$1 + 148 >> 2]; + $2 = HEAP32[$1 + 144 >> 2]; + $3 = $2; + $2 = HEAP32[$1 + 160 >> 2]; + HEAP32[$2 + 8 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = $0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 160 >> 2], HEAP32[$1 + 388 >> 2] + 72 | 0), + HEAPF32[wasm2js_i32$0 + 140 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 160 >> 2] + 8 | 0, HEAP32[$1 + 388 >> 2] + 72 | 0), + HEAPF32[wasm2js_i32$0 + 136 >> 2] = wasm2js_f32$0; + HEAPF32[$1 + 132 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 348 >> 2] * HEAPF32[$1 + 136 >> 2]) * HEAPF32[$1 + 136 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 352 >> 2] * HEAPF32[$1 + 140 >> 2]) * HEAPF32[$1 + 140 >> 2]) + Math_fround(HEAPF32[$1 + 360 >> 2] + HEAPF32[$1 + 356 >> 2])); + $0 = HEAP32[$1 + 160 >> 2]; + if (HEAPF32[$1 + 132 >> 2] > Math_fround(0)) { + $5 = Math_fround(Math_fround(1) / HEAPF32[$1 + 132 >> 2]); + } else { + $5 = Math_fround(0); + } + HEAPF32[$0 + 24 >> 2] = $5; + b2Cross_28b2Vec2_20const__2c_20float_29($1 + 124 | 0, HEAP32[$1 + 388 >> 2] + 72 | 0, Math_fround(1)); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 160 >> 2], $1 + 124 | 0), + HEAPF32[wasm2js_i32$0 + 120 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 160 >> 2] + 8 | 0, $1 + 124 | 0), + HEAPF32[wasm2js_i32$0 + 116 >> 2] = wasm2js_f32$0; + HEAPF32[$1 + 112 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 348 >> 2] * HEAPF32[$1 + 116 >> 2]) * HEAPF32[$1 + 116 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 352 >> 2] * HEAPF32[$1 + 120 >> 2]) * HEAPF32[$1 + 120 >> 2]) + Math_fround(HEAPF32[$1 + 360 >> 2] + HEAPF32[$1 + 356 >> 2])); + $0 = HEAP32[$1 + 160 >> 2]; + if (HEAPF32[$1 + 112 >> 2] > Math_fround(0)) { + $5 = Math_fround(Math_fround(1) / HEAPF32[$1 + 112 >> 2]); + } else { + $5 = Math_fround(0); + } + HEAPF32[$0 + 28 >> 2] = $5; + HEAPF32[HEAP32[$1 + 160 >> 2] + 32 >> 2] = 0; + $0 = HEAP32[$1 + 388 >> 2]; + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 76 | 0, HEAPF32[$1 + 268 >> 2], HEAP32[$1 + 160 >> 2] + 8 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 84 | 0, $1 + 272 | 0, $1 + 76 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 92 | 0, $1 + 84 | 0, $1 + 304 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 68 | 0, HEAPF32[$1 + 300 >> 2], HEAP32[$1 + 160 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 100 | 0, $1 + 92 | 0, $1 + 68 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0 + 72 | 0, $1 + 100 | 0), + HEAPF32[wasm2js_i32$0 + 108 >> 2] = wasm2js_f32$0; + if (HEAPF32[$1 + 108 >> 2] < Math_fround(-1)) { + HEAPF32[HEAP32[$1 + 160 >> 2] + 32 >> 2] = Math_fround(-HEAPF32[HEAP32[$1 + 388 >> 2] + 140 >> 2]) * HEAPF32[$1 + 108 >> 2]; + } + HEAP32[$1 + 164 >> 2] = HEAP32[$1 + 164 >> 2] + 1; + continue; + } + break; + } + if (!(!(HEAP8[29704] & 1) | HEAP32[HEAP32[$1 + 388 >> 2] + 148 >> 2] != 2)) { + HEAP32[$1 + 64 >> 2] = HEAP32[$1 + 388 >> 2]; + HEAP32[$1 + 60 >> 2] = HEAP32[$1 + 388 >> 2] + 36; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 64 >> 2], HEAP32[$1 + 388 >> 2] + 72 | 0), + HEAPF32[wasm2js_i32$0 + 56 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 64 >> 2] + 8 | 0, HEAP32[$1 + 388 >> 2] + 72 | 0), + HEAPF32[wasm2js_i32$0 + 52 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 60 >> 2], HEAP32[$1 + 388 >> 2] + 72 | 0), + HEAPF32[wasm2js_i32$0 + 48 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 60 >> 2] + 8 | 0, HEAP32[$1 + 388 >> 2] + 72 | 0), + HEAPF32[wasm2js_i32$0 + 44 >> 2] = wasm2js_f32$0; + HEAPF32[$1 + 40 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 348 >> 2] * HEAPF32[$1 + 52 >> 2]) * HEAPF32[$1 + 52 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 352 >> 2] * HEAPF32[$1 + 56 >> 2]) * HEAPF32[$1 + 56 >> 2]) + Math_fround(HEAPF32[$1 + 360 >> 2] + HEAPF32[$1 + 356 >> 2])); + HEAPF32[$1 + 36 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 348 >> 2] * HEAPF32[$1 + 44 >> 2]) * HEAPF32[$1 + 44 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 352 >> 2] * HEAPF32[$1 + 48 >> 2]) * HEAPF32[$1 + 48 >> 2]) + Math_fround(HEAPF32[$1 + 360 >> 2] + HEAPF32[$1 + 356 >> 2])); + HEAPF32[$1 + 32 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 348 >> 2] * HEAPF32[$1 + 52 >> 2]) * HEAPF32[$1 + 44 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 352 >> 2] * HEAPF32[$1 + 56 >> 2]) * HEAPF32[$1 + 48 >> 2]) + Math_fround(HEAPF32[$1 + 360 >> 2] + HEAPF32[$1 + 356 >> 2])); + HEAPF32[$1 + 28 >> 2] = 1e3; + label$13: { + if (Math_fround(HEAPF32[$1 + 40 >> 2] * HEAPF32[$1 + 40 >> 2]) < Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 40 >> 2] * HEAPF32[$1 + 36 >> 2]) - Math_fround(HEAPF32[$1 + 32 >> 2] * HEAPF32[$1 + 32 >> 2])) * Math_fround(1e3))) { + b2Vec2__Set_28float_2c_20float_29(HEAP32[$1 + 388 >> 2] + 96 | 0, HEAPF32[$1 + 40 >> 2], HEAPF32[$1 + 32 >> 2]); + b2Vec2__Set_28float_2c_20float_29(HEAP32[$1 + 388 >> 2] + 104 | 0, HEAPF32[$1 + 32 >> 2], HEAPF32[$1 + 36 >> 2]); + b2Mat22__GetInverse_28_29_20const($1 + 12 | 0, HEAP32[$1 + 388 >> 2] + 96 | 0); + $2 = HEAP32[$1 + 16 >> 2]; + $0 = HEAP32[$1 + 12 >> 2]; + $6 = $0; + $3 = HEAP32[$1 + 388 >> 2]; + $0 = $3; + HEAP32[$0 + 80 >> 2] = $6; + HEAP32[$0 + 84 >> 2] = $2; + $0 = HEAP32[$1 + 24 >> 2]; + $2 = HEAP32[$1 + 20 >> 2]; + $6 = $2; + $2 = $3; + HEAP32[$2 + 88 >> 2] = $6; + HEAP32[$2 + 92 >> 2] = $0; + break label$13; + } + HEAP32[HEAP32[$1 + 388 >> 2] + 148 >> 2] = 1; + } + } + HEAP32[$1 + 392 >> 2] = HEAP32[$1 + 392 >> 2] + 1; + continue; + } + } + break; + } + __stack_pointer = $1 + 400 | 0; +} + +function b2PrismaticJoint__SolvePositionConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 400 | 0; + __stack_pointer = $2; + HEAP32[$2 + 396 >> 2] = $0; + HEAP32[$2 + 392 >> 2] = $1; + $3 = HEAP32[$2 + 396 >> 2]; + $4 = HEAP32[HEAP32[$2 + 392 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 384 >> 2] = $0; + HEAP32[$2 + 388 >> 2] = $1; + HEAPF32[$2 + 380 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 392 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 392 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 368 >> 2] = $1; + HEAP32[$2 + 372 >> 2] = $0; + HEAPF32[$2 + 364 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 392 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 356 | 0, HEAPF32[$2 + 380 >> 2]); + b2Rot__b2Rot_28float_29($2 + 348 | 0, HEAPF32[$2 + 364 >> 2]); + HEAPF32[$2 + 344 >> 2] = HEAPF32[$3 + 168 >> 2]; + HEAPF32[$2 + 340 >> 2] = HEAPF32[$3 + 172 >> 2]; + HEAPF32[$2 + 336 >> 2] = HEAPF32[$3 + 176 >> 2]; + HEAPF32[$2 + 332 >> 2] = HEAPF32[$3 + 180 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 316 | 0, $3 + 68 | 0, $3 + 152 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 324 | 0, $2 + 356 | 0, $2 + 316 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 300 | 0, $3 + 76 | 0, $3 + 160 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 308 | 0, $2 + 348 | 0, $2 + 300 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 276 | 0, $2 + 368 | 0, $2 + 308 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 284 | 0, $2 + 276 | 0, $2 + 384 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 292 | 0, $2 + 284 | 0, $2 + 324 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 268 | 0, $2 + 356 | 0, $3 + 84 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 256 | 0, $2 + 292 | 0, $2 + 324 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 256 | 0, $2 + 268 | 0), + HEAPF32[wasm2js_i32$0 + 264 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 308 | 0, $2 + 268 | 0), + HEAPF32[wasm2js_i32$0 + 252 >> 2] = wasm2js_f32$0; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 244 | 0, $2 + 356 | 0, $3 + 92 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 232 | 0, $2 + 292 | 0, $2 + 324 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 232 | 0, $2 + 244 | 0), + HEAPF32[wasm2js_i32$0 + 240 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 308 | 0, $2 + 244 | 0), + HEAPF32[wasm2js_i32$0 + 228 >> 2] = wasm2js_f32$0; + b2Vec3__b2Vec3_28_29($2 + 216 | 0); + b2Vec2__b2Vec2_28_29($2 + 208 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 244 | 0, $2 + 292 | 0), + HEAPF32[wasm2js_i32$0 + 208 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 212 >> 2] = Math_fround(HEAPF32[$2 + 364 >> 2] - HEAPF32[$2 + 380 >> 2]) - HEAPF32[$3 + 100 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Abs_float__28float_29(HEAPF32[$2 + 208 >> 2]), + HEAPF32[wasm2js_i32$0 + 204 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Abs_float__28float_29(HEAPF32[$2 + 212 >> 2]), + HEAPF32[wasm2js_i32$0 + 200 >> 2] = wasm2js_f32$0; + HEAP8[$2 + 199 | 0] = 0; + HEAPF32[$2 + 192 >> 2] = 0; + if (HEAP8[$3 + 140 | 0] & 1) { + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 268 | 0, $2 + 292 | 0), + HEAPF32[wasm2js_i32$0 + 188 >> 2] = wasm2js_f32$0; + label$2: { + if (float_20b2Abs_float__28float_29(Math_fround(HEAPF32[$3 + 128 >> 2] - HEAPF32[$3 + 124 >> 2])) < Math_fround(.009999999776482582)) { + HEAPF32[$2 + 192 >> 2] = HEAPF32[$2 + 188 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(HEAPF32[$2 + 204 >> 2], float_20b2Abs_float__28float_29(HEAPF32[$2 + 188 >> 2])), + HEAPF32[wasm2js_i32$0 + 204 >> 2] = wasm2js_f32$0; + HEAP8[$2 + 199 | 0] = 1; + break label$2; + } + label$4: { + if (HEAPF32[$2 + 188 >> 2] <= HEAPF32[$3 + 124 >> 2]) { + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Min_float__28float_2c_20float_29(Math_fround(HEAPF32[$2 + 188 >> 2] - HEAPF32[$3 + 124 >> 2]), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 192 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(HEAPF32[$2 + 204 >> 2], Math_fround(HEAPF32[$3 + 124 >> 2] - HEAPF32[$2 + 188 >> 2])), + HEAPF32[wasm2js_i32$0 + 204 >> 2] = wasm2js_f32$0; + HEAP8[$2 + 199 | 0] = 1; + break label$4; + } + if (HEAPF32[$2 + 188 >> 2] >= HEAPF32[$3 + 128 >> 2]) { + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(Math_fround(HEAPF32[$2 + 188 >> 2] - HEAPF32[$3 + 128 >> 2]), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 192 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(HEAPF32[$2 + 204 >> 2], Math_fround(HEAPF32[$2 + 188 >> 2] - HEAPF32[$3 + 128 >> 2])), + HEAPF32[wasm2js_i32$0 + 204 >> 2] = wasm2js_f32$0; + HEAP8[$2 + 199 | 0] = 1; + } + } + } + } + label$7: { + if (HEAP8[$2 + 199 | 0] & 1) { + HEAPF32[$2 + 184 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 332 >> 2] * HEAPF32[$2 + 228 >> 2]) * HEAPF32[$2 + 228 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 336 >> 2] * HEAPF32[$2 + 240 >> 2]) * HEAPF32[$2 + 240 >> 2]) + Math_fround(HEAPF32[$2 + 344 >> 2] + HEAPF32[$2 + 340 >> 2])); + HEAPF32[$2 + 180 >> 2] = Math_fround(HEAPF32[$2 + 336 >> 2] * HEAPF32[$2 + 240 >> 2]) + Math_fround(HEAPF32[$2 + 332 >> 2] * HEAPF32[$2 + 228 >> 2]); + HEAPF32[$2 + 176 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 336 >> 2] * HEAPF32[$2 + 240 >> 2]) * HEAPF32[$2 + 264 >> 2]) + Math_fround(Math_fround(HEAPF32[$2 + 332 >> 2] * HEAPF32[$2 + 228 >> 2]) * HEAPF32[$2 + 252 >> 2]); + HEAPF32[$2 + 172 >> 2] = HEAPF32[$2 + 336 >> 2] + HEAPF32[$2 + 332 >> 2]; + if (HEAPF32[$2 + 172 >> 2] == Math_fround(0)) { + HEAPF32[$2 + 172 >> 2] = 1; + } + HEAPF32[$2 + 168 >> 2] = Math_fround(HEAPF32[$2 + 336 >> 2] * HEAPF32[$2 + 264 >> 2]) + Math_fround(HEAPF32[$2 + 332 >> 2] * HEAPF32[$2 + 252 >> 2]); + HEAPF32[$2 + 164 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 332 >> 2] * HEAPF32[$2 + 252 >> 2]) * HEAPF32[$2 + 252 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 336 >> 2] * HEAPF32[$2 + 264 >> 2]) * HEAPF32[$2 + 264 >> 2]) + Math_fround(HEAPF32[$2 + 344 >> 2] + HEAPF32[$2 + 340 >> 2])); + b2Mat33__b2Mat33_28_29($2 + 128 | 0); + b2Vec3__Set_28float_2c_20float_2c_20float_29($2 + 128 | 0, HEAPF32[$2 + 184 >> 2], HEAPF32[$2 + 180 >> 2], HEAPF32[$2 + 176 >> 2]); + b2Vec3__Set_28float_2c_20float_2c_20float_29($2 + 140 | 0, HEAPF32[$2 + 180 >> 2], HEAPF32[$2 + 172 >> 2], HEAPF32[$2 + 168 >> 2]); + b2Vec3__Set_28float_2c_20float_2c_20float_29($2 + 152 | 0, HEAPF32[$2 + 176 >> 2], HEAPF32[$2 + 168 >> 2], HEAPF32[$2 + 164 >> 2]); + b2Vec3__b2Vec3_28_29($2 + 116 | 0); + HEAPF32[$2 + 116 >> 2] = HEAPF32[$2 + 208 >> 2]; + HEAPF32[$2 + 120 >> 2] = HEAPF32[$2 + 212 >> 2]; + HEAPF32[$2 + 124 >> 2] = HEAPF32[$2 + 192 >> 2]; + b2Vec3__operator__28_29_20const($2 + 92 | 0, $2 + 116 | 0); + b2Mat33__Solve33_28b2Vec3_20const__29_20const($2 + 104 | 0, $2 + 128 | 0, $2 + 92 | 0); + HEAP32[$2 + 224 >> 2] = HEAP32[$2 + 112 >> 2]; + $1 = HEAP32[$2 + 108 >> 2]; + $0 = HEAP32[$2 + 104 >> 2]; + HEAP32[$2 + 216 >> 2] = $0; + HEAP32[$2 + 220 >> 2] = $1; + break label$7; + } + HEAPF32[$2 + 88 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 332 >> 2] * HEAPF32[$2 + 228 >> 2]) * HEAPF32[$2 + 228 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 336 >> 2] * HEAPF32[$2 + 240 >> 2]) * HEAPF32[$2 + 240 >> 2]) + Math_fround(HEAPF32[$2 + 344 >> 2] + HEAPF32[$2 + 340 >> 2])); + HEAPF32[$2 + 84 >> 2] = Math_fround(HEAPF32[$2 + 336 >> 2] * HEAPF32[$2 + 240 >> 2]) + Math_fround(HEAPF32[$2 + 332 >> 2] * HEAPF32[$2 + 228 >> 2]); + HEAPF32[$2 + 80 >> 2] = HEAPF32[$2 + 336 >> 2] + HEAPF32[$2 + 332 >> 2]; + if (HEAPF32[$2 + 80 >> 2] == Math_fround(0)) { + HEAPF32[$2 + 80 >> 2] = 1; + } + b2Mat22__b2Mat22_28_29($2 - -64 | 0); + b2Vec2__Set_28float_2c_20float_29($2 - -64 | 0, HEAPF32[$2 + 88 >> 2], HEAPF32[$2 + 84 >> 2]); + b2Vec2__Set_28float_2c_20float_29($2 + 72 | 0, HEAPF32[$2 + 84 >> 2], HEAPF32[$2 + 80 >> 2]); + b2Vec2__operator__28_29_20const($2 + 48 | 0, $2 + 208 | 0); + b2Mat22__Solve_28b2Vec2_20const__29_20const($2 + 56 | 0, $2 - -64 | 0, $2 + 48 | 0); + HEAPF32[$2 + 216 >> 2] = HEAPF32[$2 + 56 >> 2]; + HEAPF32[$2 + 220 >> 2] = HEAPF32[$2 + 60 >> 2]; + HEAPF32[$2 + 224 >> 2] = 0; + } + operator__28float_2c_20b2Vec2_20const__29($2 + 32 | 0, HEAPF32[$2 + 216 >> 2], $2 + 244 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 24 | 0, HEAPF32[$2 + 224 >> 2], $2 + 268 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 40 | 0, $2 + 32 | 0, $2 + 24 | 0); + HEAPF32[$2 + 20 >> 2] = Math_fround(HEAPF32[$2 + 224 >> 2] * HEAPF32[$2 + 264 >> 2]) + Math_fround(Math_fround(HEAPF32[$2 + 216 >> 2] * HEAPF32[$2 + 240 >> 2]) + HEAPF32[$2 + 220 >> 2]); + HEAPF32[$2 + 16 >> 2] = Math_fround(HEAPF32[$2 + 224 >> 2] * HEAPF32[$2 + 252 >> 2]) + Math_fround(Math_fround(HEAPF32[$2 + 216 >> 2] * HEAPF32[$2 + 228 >> 2]) + HEAPF32[$2 + 220 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($2 + 8 | 0, HEAPF32[$2 + 344 >> 2], $2 + 40 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 384 | 0, $2 + 8 | 0); + HEAPF32[$2 + 380 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 336 >> 2]) * HEAPF32[$2 + 20 >> 2]) + HEAPF32[$2 + 380 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2, HEAPF32[$2 + 340 >> 2], $2 + 40 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 368 | 0, $2); + HEAPF32[$2 + 364 >> 2] = Math_fround(HEAPF32[$2 + 332 >> 2] * HEAPF32[$2 + 16 >> 2]) + HEAPF32[$2 + 364 >> 2]; + $0 = HEAP32[$2 + 388 >> 2]; + $1 = HEAP32[$2 + 384 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 392 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 392 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 380 >> 2]; + $1 = HEAP32[$2 + 372 >> 2]; + $0 = HEAP32[$2 + 368 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 392 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 392 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 364 >> 2]; + __stack_pointer = $2 + 400 | 0; + $5 = HEAPF32[$2 + 204 >> 2] <= Math_fround(.004999999888241291) ? HEAPF32[$2 + 200 >> 2] <= Math_fround(.03490658849477768) : $5; + return $5 | 0; +} + +function b2GearJoint__InitVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 240 | 0; + __stack_pointer = $3; + HEAP32[$3 + 236 >> 2] = $0; + HEAP32[$3 + 232 >> 2] = $1; + $2 = HEAP32[$3 + 236 >> 2]; + HEAP32[$2 + 160 >> 2] = HEAP32[HEAP32[$2 + 48 >> 2] + 8 >> 2]; + HEAP32[$2 + 164 >> 2] = HEAP32[HEAP32[$2 + 52 >> 2] + 8 >> 2]; + HEAP32[$2 + 168 >> 2] = HEAP32[HEAP32[$2 + 84 >> 2] + 8 >> 2]; + HEAP32[$2 + 172 >> 2] = HEAP32[HEAP32[$2 + 88 >> 2] + 8 >> 2]; + $4 = HEAP32[$2 + 48 >> 2]; + $1 = HEAP32[$4 + 28 >> 2]; + $0 = HEAP32[$4 + 32 >> 2]; + HEAP32[$2 + 176 >> 2] = $1; + HEAP32[$2 + 180 >> 2] = $0; + $4 = HEAP32[$2 + 52 >> 2]; + $0 = HEAP32[$4 + 28 >> 2]; + $1 = HEAP32[$4 + 32 >> 2]; + HEAP32[$2 + 184 >> 2] = $0; + HEAP32[$2 + 188 >> 2] = $1; + $4 = HEAP32[$2 + 84 >> 2]; + $1 = HEAP32[$4 + 28 >> 2]; + $0 = HEAP32[$4 + 32 >> 2]; + HEAP32[$2 + 192 >> 2] = $1; + HEAP32[$2 + 196 >> 2] = $0; + $4 = HEAP32[$2 + 88 >> 2]; + $0 = HEAP32[$4 + 28 >> 2]; + $1 = HEAP32[$4 + 32 >> 2]; + HEAP32[$2 + 200 >> 2] = $0; + HEAP32[$2 + 204 >> 2] = $1; + HEAPF32[$2 + 208 >> 2] = HEAPF32[HEAP32[$2 + 48 >> 2] + 120 >> 2]; + HEAPF32[$2 + 212 >> 2] = HEAPF32[HEAP32[$2 + 52 >> 2] + 120 >> 2]; + HEAPF32[$2 + 216 >> 2] = HEAPF32[HEAP32[$2 + 84 >> 2] + 120 >> 2]; + HEAPF32[$2 + 220 >> 2] = HEAPF32[HEAP32[$2 + 88 >> 2] + 120 >> 2]; + HEAPF32[$2 + 224 >> 2] = HEAPF32[HEAP32[$2 + 48 >> 2] + 128 >> 2]; + HEAPF32[$2 + 228 >> 2] = HEAPF32[HEAP32[$2 + 52 >> 2] + 128 >> 2]; + HEAPF32[$2 + 232 >> 2] = HEAPF32[HEAP32[$2 + 84 >> 2] + 128 >> 2]; + HEAPF32[$2 + 236 >> 2] = HEAPF32[HEAP32[$2 + 88 >> 2] + 128 >> 2]; + HEAPF32[$3 + 228 >> 2] = HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 24 >> 2] + Math_imul(HEAP32[$2 + 160 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 160 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$3 + 216 >> 2] = $1; + HEAP32[$3 + 220 >> 2] = $0; + HEAPF32[$3 + 212 >> 2] = HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 160 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$3 + 208 >> 2] = HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 24 >> 2] + Math_imul(HEAP32[$2 + 164 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 164 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$3 + 200 >> 2] = $0; + HEAP32[$3 + 204 >> 2] = $1; + HEAPF32[$3 + 196 >> 2] = HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 164 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$3 + 192 >> 2] = HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 24 >> 2] + Math_imul(HEAP32[$2 + 168 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 168 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$3 + 184 >> 2] = $1; + HEAP32[$3 + 188 >> 2] = $0; + HEAPF32[$3 + 180 >> 2] = HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 168 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$3 + 176 >> 2] = HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 24 >> 2] + Math_imul(HEAP32[$2 + 172 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 172 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$3 + 168 >> 2] = $0; + HEAP32[$3 + 172 >> 2] = $1; + HEAPF32[$3 + 164 >> 2] = HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 172 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($3 + 156 | 0, HEAPF32[$3 + 228 >> 2]); + b2Rot__b2Rot_28float_29($3 + 148 | 0, HEAPF32[$3 + 208 >> 2]); + b2Rot__b2Rot_28float_29($3 + 140 | 0, HEAPF32[$3 + 192 >> 2]); + b2Rot__b2Rot_28float_29($3 + 132 | 0, HEAPF32[$3 + 176 >> 2]); + HEAPF32[$2 + 272 >> 2] = 0; + label$1: { + if (HEAP32[$2 + 76 >> 2] == 1) { + b2Vec2__SetZero_28_29($2 + 240 | 0); + HEAPF32[$2 + 256 >> 2] = 1; + HEAPF32[$2 + 264 >> 2] = 1; + HEAPF32[$2 + 272 >> 2] = HEAPF32[$2 + 272 >> 2] + Math_fround(HEAPF32[$2 + 224 >> 2] + HEAPF32[$2 + 232 >> 2]); + break label$1; + } + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 124 | 0, $3 + 140 | 0, $2 + 124 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 108 | 0, $2 + 108 | 0, $2 + 192 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 116 | 0, $3 + 140 | 0, $3 + 108 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 92 | 0, $2 + 92 | 0, $2 + 176 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 100 | 0, $3 + 156 | 0, $3 + 92 | 0); + $0 = HEAP32[$3 + 128 >> 2]; + $1 = HEAP32[$3 + 124 >> 2]; + HEAP32[$2 + 240 >> 2] = $1; + HEAP32[$2 + 244 >> 2] = $0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 116 | 0, $3 + 124 | 0), + HEAPF32[wasm2js_i32$0 + 264 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 100 | 0, $3 + 124 | 0), + HEAPF32[wasm2js_i32$0 + 256 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 272 >> 2] = HEAPF32[$2 + 272 >> 2] + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 224 >> 2] * HEAPF32[$2 + 256 >> 2]) * HEAPF32[$2 + 256 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 232 >> 2] * HEAPF32[$2 + 264 >> 2]) * HEAPF32[$2 + 264 >> 2]) + Math_fround(HEAPF32[$2 + 216 >> 2] + HEAPF32[$2 + 208 >> 2]))); + } + label$3: { + if (HEAP32[$2 + 80 >> 2] == 1) { + b2Vec2__SetZero_28_29($2 + 248 | 0); + HEAPF32[$2 + 260 >> 2] = HEAPF32[$2 + 152 >> 2]; + HEAPF32[$2 + 268 >> 2] = HEAPF32[$2 + 152 >> 2]; + HEAPF32[$2 + 272 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 152 >> 2] * HEAPF32[$2 + 152 >> 2]) * Math_fround(HEAPF32[$2 + 228 >> 2] + HEAPF32[$2 + 236 >> 2])) + HEAPF32[$2 + 272 >> 2]; + break label$3; + } + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 84 | 0, $3 + 132 | 0, $2 + 132 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 68 | 0, $2 + 116 | 0, $2 + 200 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 76 | 0, $3 + 132 | 0, $3 + 68 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 52 | 0, $2 + 100 | 0, $2 + 184 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 60 | 0, $3 + 148 | 0, $3 + 52 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 44 | 0, HEAPF32[$2 + 152 >> 2], $3 + 84 | 0); + $1 = HEAP32[$3 + 48 >> 2]; + $0 = HEAP32[$3 + 44 >> 2]; + HEAP32[$2 + 248 >> 2] = $0; + HEAP32[$2 + 252 >> 2] = $1; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(HEAPF32[$2 + 152 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 76 | 0, $3 + 84 | 0)), + HEAPF32[wasm2js_i32$0 + 268 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(HEAPF32[$2 + 152 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 60 | 0, $3 + 84 | 0)), + HEAPF32[wasm2js_i32$0 + 260 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 272 >> 2] = HEAPF32[$2 + 272 >> 2] + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 228 >> 2] * HEAPF32[$2 + 260 >> 2]) * HEAPF32[$2 + 260 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 152 >> 2] * HEAPF32[$2 + 152 >> 2]) * Math_fround(HEAPF32[$2 + 220 >> 2] + HEAPF32[$2 + 212 >> 2])) + Math_fround(Math_fround(HEAPF32[$2 + 236 >> 2] * HEAPF32[$2 + 268 >> 2]) * HEAPF32[$2 + 268 >> 2]))); + } + if (HEAPF32[$2 + 272 >> 2] > Math_fround(0)) { + $5 = Math_fround(Math_fround(1) / HEAPF32[$2 + 272 >> 2]); + } else { + $5 = Math_fround(0); + } + HEAPF32[$2 + 272 >> 2] = $5; + label$7: { + if (HEAP8[HEAP32[$3 + 232 >> 2] + 20 | 0] & 1) { + operator__28float_2c_20b2Vec2_20const__29($3 + 36 | 0, Math_fround(HEAPF32[$2 + 208 >> 2] * HEAPF32[$2 + 156 >> 2]), $2 + 240 | 0); + b2Vec2__operator___28b2Vec2_20const__29($3 + 216 | 0, $3 + 36 | 0); + HEAPF32[$3 + 212 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 224 >> 2] * HEAPF32[$2 + 156 >> 2]) * HEAPF32[$2 + 256 >> 2]) + HEAPF32[$3 + 212 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($3 + 28 | 0, Math_fround(HEAPF32[$2 + 212 >> 2] * HEAPF32[$2 + 156 >> 2]), $2 + 248 | 0); + b2Vec2__operator___28b2Vec2_20const__29($3 + 200 | 0, $3 + 28 | 0); + HEAPF32[$3 + 196 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 228 >> 2] * HEAPF32[$2 + 156 >> 2]) * HEAPF32[$2 + 260 >> 2]) + HEAPF32[$3 + 196 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($3 + 20 | 0, Math_fround(HEAPF32[$2 + 216 >> 2] * HEAPF32[$2 + 156 >> 2]), $2 + 240 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($3 + 184 | 0, $3 + 20 | 0); + HEAPF32[$3 + 180 >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[$2 + 232 >> 2] * HEAPF32[$2 + 156 >> 2])) * HEAPF32[$2 + 264 >> 2]) + HEAPF32[$3 + 180 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($3 + 12 | 0, Math_fround(HEAPF32[$2 + 220 >> 2] * HEAPF32[$2 + 156 >> 2]), $2 + 248 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($3 + 168 | 0, $3 + 12 | 0); + HEAPF32[$3 + 164 >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[$2 + 236 >> 2] * HEAPF32[$2 + 156 >> 2])) * HEAPF32[$2 + 268 >> 2]) + HEAPF32[$3 + 164 >> 2]; + break label$7; + } + HEAPF32[$2 + 156 >> 2] = 0; + } + $0 = HEAP32[$3 + 220 >> 2]; + $1 = HEAP32[$3 + 216 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 160 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 160 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$3 + 212 >> 2]; + $1 = HEAP32[$3 + 204 >> 2]; + $0 = HEAP32[$3 + 200 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 164 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 164 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$3 + 196 >> 2]; + $0 = HEAP32[$3 + 188 >> 2]; + $1 = HEAP32[$3 + 184 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 168 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 168 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$3 + 180 >> 2]; + $1 = HEAP32[$3 + 172 >> 2]; + $0 = HEAP32[$3 + 168 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 172 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$3 + 232 >> 2] + 28 >> 2] + Math_imul(HEAP32[$2 + 172 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$3 + 164 >> 2]; + __stack_pointer = $3 + 240 | 0; +} + +function void_20std____2____tree_remove_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____2c_20std____2____tree_node_base_void____29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + if (HEAP32[HEAP32[$2 + 24 >> 2] + 4 >> 2] ? HEAP32[HEAP32[$2 + 24 >> 2] >> 2] : 0) { + $0 = std____2____tree_node_base_void____20std____2____tree_next_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 24 >> 2]); + } else { + $0 = HEAP32[$2 + 24 >> 2]; + } + HEAP32[$2 + 20 >> 2] = $0; + if (HEAP32[HEAP32[$2 + 20 >> 2] >> 2]) { + $0 = HEAP32[HEAP32[$2 + 20 >> 2] >> 2]; + } else { + $0 = HEAP32[HEAP32[$2 + 20 >> 2] + 4 >> 2]; + } + HEAP32[$2 + 16 >> 2] = $0; + HEAP32[$2 + 12 >> 2] = 0; + if (HEAP32[$2 + 16 >> 2]) { + HEAP32[HEAP32[$2 + 16 >> 2] + 8 >> 2] = HEAP32[HEAP32[$2 + 20 >> 2] + 8 >> 2]; + } + label$7: { + if (bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 20 >> 2]) & 1) { + HEAP32[HEAP32[HEAP32[$2 + 20 >> 2] + 8 >> 2] >> 2] = HEAP32[$2 + 16 >> 2]; + label$9: { + if (HEAP32[$2 + 20 >> 2] != HEAP32[$2 + 28 >> 2]) { + wasm2js_i32$0 = $2, wasm2js_i32$1 = HEAP32[std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 20 >> 2]) + 4 >> 2], + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + break label$9; + } + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 16 >> 2]; + } + break label$7; + } + $0 = HEAP32[$2 + 16 >> 2]; + wasm2js_i32$0 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 20 >> 2]), + wasm2js_i32$1 = $0, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + HEAP32[$2 + 12 >> 2] = HEAP32[HEAP32[HEAP32[$2 + 20 >> 2] + 8 >> 2] >> 2]; + } + HEAP8[$2 + 11 | 0] = HEAP8[HEAP32[$2 + 20 >> 2] + 12 | 0] & 1; + if (HEAP32[$2 + 20 >> 2] != HEAP32[$2 + 24 >> 2]) { + HEAP32[HEAP32[$2 + 20 >> 2] + 8 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 8 >> 2]; + label$12: { + if (bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 24 >> 2]) & 1) { + HEAP32[HEAP32[HEAP32[$2 + 20 >> 2] + 8 >> 2] >> 2] = HEAP32[$2 + 20 >> 2]; + break label$12; + } + $0 = HEAP32[$2 + 20 >> 2]; + wasm2js_i32$0 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 20 >> 2]), + wasm2js_i32$1 = $0, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + } + HEAP32[HEAP32[$2 + 20 >> 2] >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] >> 2]; + std____2____tree_node_base_void______set_parent_5babi_v160004_5d_28std____2____tree_node_base_void____29(HEAP32[HEAP32[$2 + 20 >> 2] >> 2], HEAP32[$2 + 20 >> 2]); + HEAP32[HEAP32[$2 + 20 >> 2] + 4 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 4 >> 2]; + if (HEAP32[HEAP32[$2 + 20 >> 2] + 4 >> 2]) { + std____2____tree_node_base_void______set_parent_5babi_v160004_5d_28std____2____tree_node_base_void____29(HEAP32[HEAP32[$2 + 20 >> 2] + 4 >> 2], HEAP32[$2 + 20 >> 2]); + } + HEAP8[HEAP32[$2 + 20 >> 2] + 12 | 0] = HEAP8[HEAP32[$2 + 24 >> 2] + 12 | 0] & 1; + if (HEAP32[$2 + 28 >> 2] == HEAP32[$2 + 24 >> 2]) { + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 20 >> 2]; + } + } + if (!(!(HEAP8[$2 + 11 | 0] & 1) | !HEAP32[$2 + 28 >> 2])) { + label$17: { + if (HEAP32[$2 + 16 >> 2]) { + HEAP8[HEAP32[$2 + 16 >> 2] + 12 | 0] = 1; + break label$17; + } + while (1) { + label$20: { + if (!(bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 12 >> 2]) & 1)) { + if (!(HEAP8[HEAP32[$2 + 12 >> 2] + 12 | 0] & 1)) { + HEAP8[HEAP32[$2 + 12 >> 2] + 12 | 0] = 1; + wasm2js_i32$0 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]), + wasm2js_i32$1 = 0, HEAP8[wasm2js_i32$0 + 12 | 0] = wasm2js_i32$1; + void_20std____2____tree_left_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2])); + if (HEAP32[$2 + 28 >> 2] == HEAP32[HEAP32[$2 + 12 >> 2] >> 2]) { + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + } + HEAP32[$2 + 12 >> 2] = HEAP32[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] + 4 >> 2]; + } + label$24: { + if (!((HEAP8[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] + 12 | 0] & 1 ? 0 : HEAP32[HEAP32[$2 + 12 >> 2] >> 2]) | (HEAP8[HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2] + 12 | 0] & 1 ? 0 : HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2]))) { + HEAP8[HEAP32[$2 + 12 >> 2] + 12 | 0] = 0; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + if (!(HEAP8[HEAP32[$2 + 16 >> 2] + 12 | 0] & 1 & HEAP32[$2 + 16 >> 2] != HEAP32[$2 + 28 >> 2])) { + HEAP8[HEAP32[$2 + 16 >> 2] + 12 | 0] = 1; + break label$20; + } + label$30: { + if (bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 16 >> 2]) & 1) { + $0 = HEAP32[std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 16 >> 2]) + 4 >> 2]; + break label$30; + } + $0 = HEAP32[HEAP32[HEAP32[$2 + 16 >> 2] + 8 >> 2] >> 2]; + } + HEAP32[$2 + 12 >> 2] = $0; + break label$24; + } + if (!(HEAP8[HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2] + 12 | 0] & 1 ? 0 : HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2])) { + HEAP8[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] + 12 | 0] = 1; + HEAP8[HEAP32[$2 + 12 >> 2] + 12 | 0] = 0; + void_20std____2____tree_right_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 12 >> 2]); + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + } + $0 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]); + HEAP8[HEAP32[$2 + 12 >> 2] + 12 | 0] = HEAP8[$0 + 12 | 0] & 1; + wasm2js_i32$0 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]), + wasm2js_i32$1 = 1, HEAP8[wasm2js_i32$0 + 12 | 0] = wasm2js_i32$1; + HEAP8[HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2] + 12 | 0] = 1; + void_20std____2____tree_left_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2])); + break label$20; + } + continue; + } + if (!(HEAP8[HEAP32[$2 + 12 >> 2] + 12 | 0] & 1)) { + HEAP8[HEAP32[$2 + 12 >> 2] + 12 | 0] = 1; + wasm2js_i32$0 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]), + wasm2js_i32$1 = 0, HEAP8[wasm2js_i32$0 + 12 | 0] = wasm2js_i32$1; + void_20std____2____tree_right_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2])); + if (HEAP32[$2 + 28 >> 2] == HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2]) { + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + } + HEAP32[$2 + 12 >> 2] = HEAP32[HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2] >> 2]; + } + label$36: { + if (!((HEAP8[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] + 12 | 0] & 1 ? 0 : HEAP32[HEAP32[$2 + 12 >> 2] >> 2]) | (HEAP8[HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2] + 12 | 0] & 1 ? 0 : HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2]))) { + HEAP8[HEAP32[$2 + 12 >> 2] + 12 | 0] = 0; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + if (!(HEAP8[HEAP32[$2 + 16 >> 2] + 12 | 0] & 1 & HEAP32[$2 + 16 >> 2] != HEAP32[$2 + 28 >> 2])) { + HEAP8[HEAP32[$2 + 16 >> 2] + 12 | 0] = 1; + break label$20; + } + label$42: { + if (bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 16 >> 2]) & 1) { + $0 = HEAP32[std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 16 >> 2]) + 4 >> 2]; + break label$42; + } + $0 = HEAP32[HEAP32[HEAP32[$2 + 16 >> 2] + 8 >> 2] >> 2]; + } + HEAP32[$2 + 12 >> 2] = $0; + break label$36; + } + if (!(HEAP8[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] + 12 | 0] & 1 ? 0 : HEAP32[HEAP32[$2 + 12 >> 2] >> 2])) { + HEAP8[HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2] + 12 | 0] = 1; + HEAP8[HEAP32[$2 + 12 >> 2] + 12 | 0] = 0; + void_20std____2____tree_left_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 12 >> 2]); + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + } + $0 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]); + HEAP8[HEAP32[$2 + 12 >> 2] + 12 | 0] = HEAP8[$0 + 12 | 0] & 1; + wasm2js_i32$0 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]), + wasm2js_i32$1 = 1, HEAP8[wasm2js_i32$0 + 12 | 0] = wasm2js_i32$1; + HEAP8[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] + 12 | 0] = 1; + void_20std____2____tree_right_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2])); + break label$20; + } + continue; + } + break; + } + } + } + __stack_pointer = $2 + 32 | 0; +} + +function b2GearJoint__SolvePositionConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 368 | 0; + __stack_pointer = $2; + HEAP32[$2 + 364 >> 2] = $0; + HEAP32[$2 + 360 >> 2] = $1; + $3 = HEAP32[$2 + 364 >> 2]; + $4 = HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 160 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 352 >> 2] = $1; + HEAP32[$2 + 356 >> 2] = $0; + HEAPF32[$2 + 348 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 160 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 164 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 336 >> 2] = $0; + HEAP32[$2 + 340 >> 2] = $1; + HEAPF32[$2 + 332 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 164 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 168 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 320 >> 2] = $1; + HEAP32[$2 + 324 >> 2] = $0; + HEAPF32[$2 + 316 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 168 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 172 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 304 >> 2] = $0; + HEAP32[$2 + 308 >> 2] = $1; + HEAPF32[$2 + 300 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 172 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 292 | 0, HEAPF32[$2 + 348 >> 2]); + b2Rot__b2Rot_28float_29($2 + 284 | 0, HEAPF32[$2 + 332 >> 2]); + b2Rot__b2Rot_28float_29($2 + 276 | 0, HEAPF32[$2 + 316 >> 2]); + b2Rot__b2Rot_28float_29($2 + 268 | 0, HEAPF32[$2 + 300 >> 2]); + HEAPF32[$2 + 264 >> 2] = 0; + b2Vec2__b2Vec2_28_29($2 + 248 | 0); + b2Vec2__b2Vec2_28_29($2 + 240 | 0); + HEAPF32[$2 + 220 >> 2] = 0; + label$1: { + if (HEAP32[$3 + 76 >> 2] == 1) { + b2Vec2__SetZero_28_29($2 + 248 | 0); + HEAPF32[$2 + 236 >> 2] = 1; + HEAPF32[$2 + 228 >> 2] = 1; + HEAPF32[$2 + 220 >> 2] = HEAPF32[$2 + 220 >> 2] + Math_fround(HEAPF32[$3 + 224 >> 2] + HEAPF32[$3 + 232 >> 2]); + HEAPF32[$2 + 260 >> 2] = Math_fround(HEAPF32[$2 + 348 >> 2] - HEAPF32[$2 + 316 >> 2]) - HEAPF32[$3 + 140 >> 2]; + break label$1; + } + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 212 | 0, $2 + 276 | 0, $3 + 124 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 196 | 0, $3 + 108 | 0, $3 + 192 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 204 | 0, $2 + 276 | 0, $2 + 196 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 180 | 0, $3 + 92 | 0, $3 + 176 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 188 | 0, $2 + 292 | 0, $2 + 180 | 0); + $0 = HEAP32[$2 + 216 >> 2]; + $1 = HEAP32[$2 + 212 >> 2]; + HEAP32[$2 + 248 >> 2] = $1; + HEAP32[$2 + 252 >> 2] = $0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 204 | 0, $2 + 212 | 0), + HEAPF32[wasm2js_i32$0 + 228 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 188 | 0, $2 + 212 | 0), + HEAPF32[wasm2js_i32$0 + 236 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 220 >> 2] = HEAPF32[$2 + 220 >> 2] + Math_fround(Math_fround(Math_fround(HEAPF32[$3 + 224 >> 2] * HEAPF32[$2 + 236 >> 2]) * HEAPF32[$2 + 236 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$3 + 232 >> 2] * HEAPF32[$2 + 228 >> 2]) * HEAPF32[$2 + 228 >> 2]) + Math_fround(HEAPF32[$3 + 216 >> 2] + HEAPF32[$3 + 208 >> 2]))); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 172 | 0, $3 + 108 | 0, $3 + 192 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 148 | 0, $2 + 352 | 0, $2 + 320 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 156 | 0, $2 + 188 | 0, $2 + 148 | 0); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 164 | 0, $2 + 276 | 0, $2 + 156 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 140 | 0, $2 + 164 | 0, $2 + 172 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 140 | 0, $3 + 124 | 0), + HEAPF32[wasm2js_i32$0 + 260 >> 2] = wasm2js_f32$0; + } + label$3: { + if (HEAP32[$3 + 80 >> 2] == 1) { + b2Vec2__SetZero_28_29($2 + 240 | 0); + HEAPF32[$2 + 232 >> 2] = HEAPF32[$3 + 152 >> 2]; + HEAPF32[$2 + 224 >> 2] = HEAPF32[$3 + 152 >> 2]; + HEAPF32[$2 + 220 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 152 >> 2] * HEAPF32[$3 + 152 >> 2]) * Math_fround(HEAPF32[$3 + 228 >> 2] + HEAPF32[$3 + 236 >> 2])) + HEAPF32[$2 + 220 >> 2]; + HEAPF32[$2 + 256 >> 2] = Math_fround(HEAPF32[$2 + 332 >> 2] - HEAPF32[$2 + 300 >> 2]) - HEAPF32[$3 + 144 >> 2]; + break label$3; + } + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 132 | 0, $2 + 268 | 0, $3 + 132 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $3 + 116 | 0, $3 + 200 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 124 | 0, $2 + 268 | 0, $2 + 116 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 100 | 0, $3 + 100 | 0, $3 + 184 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 108 | 0, $2 + 284 | 0, $2 + 100 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 92 | 0, HEAPF32[$3 + 152 >> 2], $2 + 132 | 0); + $1 = HEAP32[$2 + 96 >> 2]; + $0 = HEAP32[$2 + 92 >> 2]; + HEAP32[$2 + 240 >> 2] = $0; + HEAP32[$2 + 244 >> 2] = $1; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(HEAPF32[$3 + 152 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 124 | 0, $2 + 132 | 0)), + HEAPF32[wasm2js_i32$0 + 224 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(HEAPF32[$3 + 152 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 108 | 0, $2 + 132 | 0)), + HEAPF32[wasm2js_i32$0 + 232 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 220 >> 2] = HEAPF32[$2 + 220 >> 2] + Math_fround(Math_fround(Math_fround(HEAPF32[$3 + 228 >> 2] * HEAPF32[$2 + 232 >> 2]) * HEAPF32[$2 + 232 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$3 + 152 >> 2] * HEAPF32[$3 + 152 >> 2]) * Math_fround(HEAPF32[$3 + 220 >> 2] + HEAPF32[$3 + 212 >> 2])) + Math_fround(Math_fround(HEAPF32[$3 + 236 >> 2] * HEAPF32[$2 + 224 >> 2]) * HEAPF32[$2 + 224 >> 2]))); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $3 + 116 | 0, $3 + 200 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 60 | 0, $2 + 336 | 0, $2 + 304 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 68 | 0, $2 + 108 | 0, $2 + 60 | 0); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 76 | 0, $2 + 268 | 0, $2 + 68 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 52 | 0, $2 + 76 | 0, $2 + 84 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 52 | 0, $3 + 132 | 0), + HEAPF32[wasm2js_i32$0 + 256 >> 2] = wasm2js_f32$0; + } + HEAPF32[$2 + 48 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 152 >> 2] * HEAPF32[$2 + 256 >> 2]) + HEAPF32[$2 + 260 >> 2]) - HEAPF32[$3 + 148 >> 2]; + HEAPF32[$2 + 44 >> 2] = 0; + if (HEAPF32[$2 + 220 >> 2] > Math_fround(0)) { + HEAPF32[$2 + 44 >> 2] = Math_fround(-HEAPF32[$2 + 48 >> 2]) / HEAPF32[$2 + 220 >> 2]; + } + operator__28float_2c_20b2Vec2_20const__29($2 + 36 | 0, Math_fround(HEAPF32[$3 + 208 >> 2] * HEAPF32[$2 + 44 >> 2]), $2 + 248 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 352 | 0, $2 + 36 | 0); + HEAPF32[$2 + 348 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 224 >> 2] * HEAPF32[$2 + 44 >> 2]) * HEAPF32[$2 + 236 >> 2]) + HEAPF32[$2 + 348 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 28 | 0, Math_fround(HEAPF32[$3 + 212 >> 2] * HEAPF32[$2 + 44 >> 2]), $2 + 240 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 336 | 0, $2 + 28 | 0); + HEAPF32[$2 + 332 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 228 >> 2] * HEAPF32[$2 + 44 >> 2]) * HEAPF32[$2 + 232 >> 2]) + HEAPF32[$2 + 332 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, Math_fround(HEAPF32[$3 + 216 >> 2] * HEAPF32[$2 + 44 >> 2]), $2 + 248 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 320 | 0, $2 + 20 | 0); + HEAPF32[$2 + 316 >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[$3 + 232 >> 2] * HEAPF32[$2 + 44 >> 2])) * HEAPF32[$2 + 228 >> 2]) + HEAPF32[$2 + 316 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, Math_fround(HEAPF32[$3 + 220 >> 2] * HEAPF32[$2 + 44 >> 2]), $2 + 240 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 304 | 0, $2 + 12 | 0); + HEAPF32[$2 + 300 >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[$3 + 236 >> 2] * HEAPF32[$2 + 44 >> 2])) * HEAPF32[$2 + 224 >> 2]) + HEAPF32[$2 + 300 >> 2]; + $0 = HEAP32[$2 + 356 >> 2]; + $1 = HEAP32[$2 + 352 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 160 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 160 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 348 >> 2]; + $1 = HEAP32[$2 + 340 >> 2]; + $0 = HEAP32[$2 + 336 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 164 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 164 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 332 >> 2]; + $0 = HEAP32[$2 + 324 >> 2]; + $1 = HEAP32[$2 + 320 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 168 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 168 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 316 >> 2]; + $1 = HEAP32[$2 + 308 >> 2]; + $0 = HEAP32[$2 + 304 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 172 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 360 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 172 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 300 >> 2]; + __stack_pointer = $2 + 368 | 0; + return HEAPF32[$2 + 264 >> 2] < Math_fround(.004999999888241291) | 0; +} + +function b2World__DebugDraw_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 288 | 0; + __stack_pointer = $1; + HEAP32[$1 + 284 >> 2] = $0; + $3 = HEAP32[$1 + 284 >> 2]; + label$1: { + if (!HEAP32[$3 + 102980 >> 2]) { + break label$1; + } + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Draw__GetFlags_28_29_20const(HEAP32[$3 + 102980 >> 2]), + HEAP32[wasm2js_i32$0 + 280 >> 2] = wasm2js_i32$1; + if (HEAP32[$1 + 280 >> 2] & 1) { + HEAP32[$1 + 276 >> 2] = HEAP32[$3 + 102948 >> 2]; + while (1) { + if (HEAP32[$1 + 276 >> 2]) { + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Body__GetTransform_28_29_20const(HEAP32[$1 + 276 >> 2]), + HEAP32[wasm2js_i32$0 + 272 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Body__GetFixtureList_28_29(HEAP32[$1 + 276 >> 2]), + HEAP32[wasm2js_i32$0 + 268 >> 2] = wasm2js_i32$1; + while (1) { + if (HEAP32[$1 + 268 >> 2]) { + label$7: { + if (!((b2Body__GetType_28_29_20const(HEAP32[$1 + 276 >> 2]) | 0) != 2 | HEAPF32[HEAP32[$1 + 276 >> 2] + 116 >> 2] != Math_fround(0))) { + $0 = HEAP32[$1 + 268 >> 2]; + $2 = HEAP32[$1 + 272 >> 2]; + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($1 + 252 | 0, Math_fround(1), Math_fround(0), Math_fround(0), Math_fround(1)); + b2World__DrawShape_28b2Fixture__2c_20b2Transform_20const__2c_20b2Color_20const__29($3, $0, $2, $1 + 252 | 0); + break label$7; + } + label$9: { + if (!(b2Body__IsEnabled_28_29_20const(HEAP32[$1 + 276 >> 2]) & 1)) { + $0 = HEAP32[$1 + 268 >> 2]; + $2 = HEAP32[$1 + 272 >> 2]; + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($1 + 236 | 0, Math_fround(.5), Math_fround(.5), Math_fround(.30000001192092896), Math_fround(1)); + b2World__DrawShape_28b2Fixture__2c_20b2Transform_20const__2c_20b2Color_20const__29($3, $0, $2, $1 + 236 | 0); + break label$9; + } + label$11: { + if (!b2Body__GetType_28_29_20const(HEAP32[$1 + 276 >> 2])) { + $0 = HEAP32[$1 + 268 >> 2]; + $2 = HEAP32[$1 + 272 >> 2]; + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($1 + 220 | 0, Math_fround(.5), Math_fround(.8999999761581421), Math_fround(.5), Math_fround(1)); + b2World__DrawShape_28b2Fixture__2c_20b2Transform_20const__2c_20b2Color_20const__29($3, $0, $2, $1 + 220 | 0); + break label$11; + } + label$13: { + if ((b2Body__GetType_28_29_20const(HEAP32[$1 + 276 >> 2]) | 0) == 1) { + $0 = HEAP32[$1 + 268 >> 2]; + $2 = HEAP32[$1 + 272 >> 2]; + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($1 + 204 | 0, Math_fround(.5), Math_fround(.5), Math_fround(.8999999761581421), Math_fround(1)); + b2World__DrawShape_28b2Fixture__2c_20b2Transform_20const__2c_20b2Color_20const__29($3, $0, $2, $1 + 204 | 0); + break label$13; + } + label$15: { + if (!(b2Body__IsAwake_28_29_20const(HEAP32[$1 + 276 >> 2]) & 1)) { + $0 = HEAP32[$1 + 268 >> 2]; + $2 = HEAP32[$1 + 272 >> 2]; + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($1 + 188 | 0, Math_fround(.6000000238418579), Math_fround(.6000000238418579), Math_fround(.6000000238418579), Math_fround(1)); + b2World__DrawShape_28b2Fixture__2c_20b2Transform_20const__2c_20b2Color_20const__29($3, $0, $2, $1 + 188 | 0); + break label$15; + } + $0 = HEAP32[$1 + 268 >> 2]; + $2 = HEAP32[$1 + 272 >> 2]; + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($1 + 172 | 0, Math_fround(.8999999761581421), Math_fround(.699999988079071), Math_fround(.699999988079071), Math_fround(1)); + b2World__DrawShape_28b2Fixture__2c_20b2Transform_20const__2c_20b2Color_20const__29($3, $0, $2, $1 + 172 | 0); + } + } + } + } + } + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Fixture__GetNext_28_29(HEAP32[$1 + 268 >> 2]), + HEAP32[wasm2js_i32$0 + 268 >> 2] = wasm2js_i32$1; + continue; + } + break; + } + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Body__GetNext_28_29(HEAP32[$1 + 276 >> 2]), + HEAP32[wasm2js_i32$0 + 276 >> 2] = wasm2js_i32$1; + continue; + } + break; + } + } + if (HEAP32[$1 + 280 >> 2] & 2) { + HEAP32[$1 + 168 >> 2] = HEAP32[$3 + 102952 >> 2]; + while (1) { + if (HEAP32[$1 + 168 >> 2]) { + $0 = HEAP32[$1 + 168 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, HEAP32[$3 + 102980 >> 2]); + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Joint__GetNext_28_29(HEAP32[$1 + 168 >> 2]), + HEAP32[wasm2js_i32$0 + 168 >> 2] = wasm2js_i32$1; + continue; + } + break; + } + } + if (HEAP32[$1 + 280 >> 2] & 8) { + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($1 + 152 | 0, Math_fround(.30000001192092896), Math_fround(.8999999761581421), Math_fround(.8999999761581421), Math_fround(1)); + HEAP32[$1 + 148 >> 2] = HEAP32[$3 + 102928 >> 2]; + while (1) { + if (HEAP32[$1 + 148 >> 2]) { + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetFixtureA_28_29(HEAP32[$1 + 148 >> 2]), + HEAP32[wasm2js_i32$0 + 144 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetFixtureB_28_29(HEAP32[$1 + 148 >> 2]), + HEAP32[wasm2js_i32$0 + 140 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetChildIndexA_28_29_20const(HEAP32[$1 + 148 >> 2]), + HEAP32[wasm2js_i32$0 + 136 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetChildIndexB_28_29_20const(HEAP32[$1 + 148 >> 2]), + HEAP32[wasm2js_i32$0 + 132 >> 2] = wasm2js_i32$1; + b2AABB__GetCenter_28_29_20const($1 + 124 | 0, b2Fixture__GetAABB_28int_29_20const(HEAP32[$1 + 144 >> 2], HEAP32[$1 + 136 >> 2])); + b2AABB__GetCenter_28_29_20const($1 + 116 | 0, b2Fixture__GetAABB_28int_29_20const(HEAP32[$1 + 140 >> 2], HEAP32[$1 + 132 >> 2])); + $0 = HEAP32[$3 + 102980 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $1 + 124 | 0, $1 + 116 | 0, $1 + 152 | 0); + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetNext_28_29(HEAP32[$1 + 148 >> 2]), + HEAP32[wasm2js_i32$0 + 148 >> 2] = wasm2js_i32$1; + continue; + } + break; + } + } + if (HEAP32[$1 + 280 >> 2] & 4) { + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($1 + 100 | 0, Math_fround(.8999999761581421), Math_fround(.30000001192092896), Math_fround(.8999999761581421), Math_fround(1)); + HEAP32[$1 + 96 >> 2] = $3 + 102868; + HEAP32[$1 + 92 >> 2] = HEAP32[$3 + 102948 >> 2]; + while (1) { + if (HEAP32[$1 + 92 >> 2]) { + if (b2Body__IsEnabled_28_29_20const(HEAP32[$1 + 92 >> 2]) & 1) { + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Body__GetFixtureList_28_29(HEAP32[$1 + 92 >> 2]), + HEAP32[wasm2js_i32$0 + 88 >> 2] = wasm2js_i32$1; + while (1) { + if (HEAP32[$1 + 88 >> 2]) { + HEAP32[$1 + 84 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 84 >> 2] < HEAP32[HEAP32[$1 + 88 >> 2] + 28 >> 2]) { + HEAP32[$1 + 80 >> 2] = HEAP32[HEAP32[$1 + 88 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 84 >> 2], 28); + $4 = b2BroadPhase__GetFatAABB_28int_29_20const(HEAP32[$1 + 96 >> 2], HEAP32[HEAP32[$1 + 80 >> 2] + 24 >> 2]); + $2 = HEAP32[$4 + 8 >> 2]; + $0 = HEAP32[$4 + 12 >> 2]; + HEAP32[$1 + 72 >> 2] = $2; + HEAP32[$1 + 76 >> 2] = $0; + $2 = HEAP32[$4 + 4 >> 2]; + $0 = HEAP32[$4 >> 2]; + HEAP32[$1 + 64 >> 2] = $0; + HEAP32[$1 + 68 >> 2] = $2; + $0 = $1 + 32 | 0; + $2 = $0 + 32 | 0; + while (1) { + b2Vec2__b2Vec2_28_29($0); + $0 = $0 + 8 | 0; + if (($2 | 0) != ($0 | 0)) { + continue; + } + break; + } + b2Vec2__Set_28float_2c_20float_29($1 + 32 | 0, HEAPF32[$1 + 64 >> 2], HEAPF32[$1 + 68 >> 2]); + b2Vec2__Set_28float_2c_20float_29($1 + 40 | 0, HEAPF32[$1 + 72 >> 2], HEAPF32[$1 + 68 >> 2]); + b2Vec2__Set_28float_2c_20float_29($1 + 48 | 0, HEAPF32[$1 + 72 >> 2], HEAPF32[$1 + 76 >> 2]); + b2Vec2__Set_28float_2c_20float_29($1 + 56 | 0, HEAPF32[$1 + 64 >> 2], HEAPF32[$1 + 76 >> 2]); + $0 = HEAP32[$3 + 102980 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 8 >> 2]]($0, $1 + 32 | 0, 4, $1 + 100 | 0); + HEAP32[$1 + 84 >> 2] = HEAP32[$1 + 84 >> 2] + 1; + continue; + } + break; + } + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Fixture__GetNext_28_29(HEAP32[$1 + 88 >> 2]), + HEAP32[wasm2js_i32$0 + 88 >> 2] = wasm2js_i32$1; + continue; + } + break; + } + } + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Body__GetNext_28_29(HEAP32[$1 + 92 >> 2]), + HEAP32[wasm2js_i32$0 + 92 >> 2] = wasm2js_i32$1; + continue; + } + break; + } + } + if (!(HEAP32[$1 + 280 >> 2] & 16)) { + break label$1; + } + HEAP32[$1 + 28 >> 2] = HEAP32[$3 + 102948 >> 2]; + while (1) { + if (HEAP32[$1 + 28 >> 2]) { + $4 = b2Body__GetTransform_28_29_20const(HEAP32[$1 + 28 >> 2]); + $2 = HEAP32[$4 + 8 >> 2]; + $0 = HEAP32[$4 + 12 >> 2]; + HEAP32[$1 + 16 >> 2] = $2; + HEAP32[$1 + 20 >> 2] = $0; + $2 = HEAP32[$4 + 4 >> 2]; + $0 = HEAP32[$4 >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 + 12 >> 2] = $2; + $4 = b2Body__GetWorldCenter_28_29_20const(HEAP32[$1 + 28 >> 2]); + $2 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + $4 = $2; + $2 = $1 + 8 | 0; + HEAP32[$2 >> 2] = $4; + HEAP32[$2 + 4 >> 2] = $0; + $0 = HEAP32[$3 + 102980 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 28 >> 2]]($0, $1 + 8 | 0); + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Body__GetNext_28_29(HEAP32[$1 + 28 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + continue; + } + break; + } + } + __stack_pointer = $1 + 288 | 0; +} + +function b2TimeOfImpact_28b2TOIOutput__2c_20b2TOIInput_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $2 = __stack_pointer - 448 | 0; + __stack_pointer = $2; + HEAP32[$2 + 444 >> 2] = $0; + HEAP32[$2 + 440 >> 2] = $1; + b2Timer__b2Timer_28_29($2 + 439 | 0); + HEAP32[7747] = HEAP32[7747] + 1; + HEAP32[HEAP32[$2 + 444 >> 2] >> 2] = 0; + HEAPF32[HEAP32[$2 + 444 >> 2] + 4 >> 2] = HEAPF32[HEAP32[$2 + 440 >> 2] + 128 >> 2]; + HEAP32[$2 + 432 >> 2] = HEAP32[$2 + 440 >> 2]; + HEAP32[$2 + 428 >> 2] = HEAP32[$2 + 440 >> 2] + 28; + $3 = HEAP32[$2 + 440 >> 2]; + HEAP32[$2 + 424 >> 2] = HEAP32[$3 + 88 >> 2]; + $1 = HEAP32[$3 + 80 >> 2]; + $0 = HEAP32[$3 + 84 >> 2]; + HEAP32[$2 + 416 >> 2] = $1; + HEAP32[$2 + 420 >> 2] = $0; + $1 = HEAP32[$3 + 76 >> 2]; + $0 = HEAP32[$3 + 72 >> 2]; + HEAP32[$2 + 408 >> 2] = $0; + HEAP32[$2 + 412 >> 2] = $1; + $0 = HEAP32[$3 + 68 >> 2]; + $1 = HEAP32[$3 + 64 >> 2]; + HEAP32[$2 + 400 >> 2] = $1; + HEAP32[$2 + 404 >> 2] = $0; + $1 = HEAP32[$3 + 60 >> 2]; + $0 = HEAP32[$3 + 56 >> 2]; + HEAP32[$2 + 392 >> 2] = $0; + HEAP32[$2 + 396 >> 2] = $1; + $3 = HEAP32[$2 + 440 >> 2]; + HEAP32[$2 + 384 >> 2] = HEAP32[$3 + 124 >> 2]; + $1 = HEAP32[$3 + 116 >> 2]; + $0 = HEAP32[$3 + 120 >> 2]; + HEAP32[$2 + 376 >> 2] = $1; + HEAP32[$2 + 380 >> 2] = $0; + $1 = HEAP32[$3 + 112 >> 2]; + $0 = HEAP32[$3 + 108 >> 2]; + HEAP32[$2 + 368 >> 2] = $0; + HEAP32[$2 + 372 >> 2] = $1; + $0 = HEAP32[$3 + 104 >> 2]; + $1 = HEAP32[$3 + 100 >> 2]; + HEAP32[$2 + 360 >> 2] = $1; + HEAP32[$2 + 364 >> 2] = $0; + $1 = HEAP32[$3 + 96 >> 2]; + $0 = HEAP32[$3 + 92 >> 2]; + HEAP32[$2 + 352 >> 2] = $0; + HEAP32[$2 + 356 >> 2] = $1; + b2Sweep__Normalize_28_29($2 + 392 | 0); + b2Sweep__Normalize_28_29($2 + 352 | 0); + HEAPF32[$2 + 348 >> 2] = HEAPF32[HEAP32[$2 + 440 >> 2] + 128 >> 2]; + HEAPF32[$2 + 344 >> 2] = HEAPF32[HEAP32[$2 + 432 >> 2] + 24 >> 2] + HEAPF32[HEAP32[$2 + 428 >> 2] + 24 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(Math_fround(.004999999888241291), Math_fround(HEAPF32[$2 + 344 >> 2] + Math_fround(-.014999999664723873))), + HEAPF32[wasm2js_i32$0 + 340 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 336 >> 2] = .0012499999720603228; + if (!(HEAPF32[$2 + 340 >> 2] > HEAPF32[$2 + 336 >> 2])) { + __assert_fail(9994, 5216, 283, 3213); + wasm2js_trap(); + } + HEAPF32[$2 + 332 >> 2] = 0; + HEAP32[$2 + 328 >> 2] = 20; + HEAP32[$2 + 324 >> 2] = 0; + HEAP16[$2 + 316 >> 1] = 0; + b2DistanceInput__b2DistanceInput_28_29($2 + 220 | 0); + $3 = HEAP32[$2 + 440 >> 2]; + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + $5 = $1; + $4 = $2 + 220 | 0; + $1 = $4; + HEAP32[$1 >> 2] = $5; + HEAP32[$1 + 4 >> 2] = $0; + HEAP32[$1 + 24 >> 2] = HEAP32[$3 + 24 >> 2]; + $1 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 16 >> 2]; + $5 = $0; + $0 = $4; + HEAP32[$0 + 16 >> 2] = $5; + HEAP32[$0 + 20 >> 2] = $1; + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$3 + 8 >> 2]; + $3 = $1; + $1 = $4; + HEAP32[$1 + 8 >> 2] = $3; + HEAP32[$1 + 12 >> 2] = $0; + $3 = HEAP32[$2 + 440 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $1 = HEAP32[$3 + 32 >> 2]; + $5 = $0; + $4 = $2 + 220 | 0; + $0 = $4; + HEAP32[$0 + 28 >> 2] = $5; + HEAP32[$0 + 32 >> 2] = $1; + HEAP32[$0 + 52 >> 2] = HEAP32[$3 + 52 >> 2]; + $0 = HEAP32[$3 + 48 >> 2]; + $1 = HEAP32[$3 + 44 >> 2]; + $5 = $1; + $1 = $4; + HEAP32[$1 + 44 >> 2] = $5; + HEAP32[$1 + 48 >> 2] = $0; + $1 = HEAP32[$3 + 40 >> 2]; + $0 = HEAP32[$3 + 36 >> 2]; + $3 = $0; + $0 = $4; + HEAP32[$0 + 36 >> 2] = $3; + HEAP32[$0 + 40 >> 2] = $1; + HEAP8[$2 + 308 | 0] = 0; + while (1) { + label$3: { + b2Transform__b2Transform_28_29($2 + 204 | 0); + b2Transform__b2Transform_28_29($2 + 188 | 0); + b2Sweep__GetTransform_28b2Transform__2c_20float_29_20const($2 + 392 | 0, $2 + 204 | 0, HEAPF32[$2 + 332 >> 2]); + b2Sweep__GetTransform_28b2Transform__2c_20float_29_20const($2 + 352 | 0, $2 + 188 | 0, HEAPF32[$2 + 332 >> 2]); + $0 = HEAP32[$2 + 208 >> 2]; + $1 = HEAP32[$2 + 204 >> 2]; + $4 = $1; + $3 = $2 + 220 | 0; + $1 = $3; + HEAP32[$1 + 56 >> 2] = $4; + HEAP32[$1 + 60 >> 2] = $0; + $1 = HEAP32[$2 + 216 >> 2]; + $0 = HEAP32[$2 + 212 >> 2]; + $4 = $0; + $0 = $3; + HEAP32[$0 + 64 >> 2] = $4; + HEAP32[$0 + 68 >> 2] = $1; + $0 = HEAP32[$2 + 192 >> 2]; + $1 = HEAP32[$2 + 188 >> 2]; + $4 = $1; + $3 = $2 + 220 | 0; + $1 = $3; + HEAP32[$1 + 72 >> 2] = $4; + HEAP32[$1 + 76 >> 2] = $0; + $1 = HEAP32[$2 + 200 >> 2]; + $0 = HEAP32[$2 + 196 >> 2]; + $4 = $0; + $0 = $3; + HEAP32[$0 + 80 >> 2] = $4; + HEAP32[$0 + 84 >> 2] = $1; + b2DistanceOutput__b2DistanceOutput_28_29($2 + 164 | 0); + b2Distance_28b2DistanceOutput__2c_20b2SimplexCache__2c_20b2DistanceInput_20const__29($2 + 164 | 0, $2 + 312 | 0, $2 + 220 | 0); + if (HEAPF32[$2 + 180 >> 2] <= Math_fround(0)) { + HEAP32[HEAP32[$2 + 444 >> 2] >> 2] = 2; + HEAPF32[HEAP32[$2 + 444 >> 2] + 4 >> 2] = 0; + break label$3; + } + if (HEAPF32[$2 + 180 >> 2] < Math_fround(HEAPF32[$2 + 340 >> 2] + HEAPF32[$2 + 336 >> 2])) { + HEAP32[HEAP32[$2 + 444 >> 2] >> 2] = 3; + HEAPF32[HEAP32[$2 + 444 >> 2] + 4 >> 2] = HEAPF32[$2 + 332 >> 2]; + break label$3; + } + b2SeparationFunction__b2SeparationFunction_28_29($2 - -64 | 0); + b2SeparationFunction__Initialize_28b2SimplexCache_20const__2c_20b2DistanceProxy_20const__2c_20b2Sweep_20const__2c_20b2DistanceProxy_20const__2c_20b2Sweep_20const__2c_20float_29($2 - -64 | 0, $2 + 312 | 0, HEAP32[$2 + 432 >> 2], $2 + 392 | 0, HEAP32[$2 + 428 >> 2], $2 + 352 | 0, HEAPF32[$2 + 332 >> 2]); + HEAP8[$2 + 63 | 0] = 0; + HEAPF32[$2 + 56 >> 2] = HEAPF32[$2 + 348 >> 2]; + HEAP32[$2 + 52 >> 2] = 0; + while (1) { + label$7: { + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2SeparationFunction__FindMinSeparation_28int__2c_20int__2c_20float_29_20const($2 - -64 | 0, $2 + 48 | 0, $2 + 44 | 0, HEAPF32[$2 + 56 >> 2]), + HEAPF32[wasm2js_i32$0 + 40 >> 2] = wasm2js_f32$0; + if (HEAPF32[$2 + 40 >> 2] > Math_fround(HEAPF32[$2 + 340 >> 2] + HEAPF32[$2 + 336 >> 2])) { + HEAP32[HEAP32[$2 + 444 >> 2] >> 2] = 4; + HEAPF32[HEAP32[$2 + 444 >> 2] + 4 >> 2] = HEAPF32[$2 + 348 >> 2]; + HEAP8[$2 + 63 | 0] = 1; + break label$7; + } + if (HEAPF32[$2 + 40 >> 2] > Math_fround(HEAPF32[$2 + 340 >> 2] - HEAPF32[$2 + 336 >> 2])) { + HEAPF32[$2 + 332 >> 2] = HEAPF32[$2 + 56 >> 2]; + break label$7; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2SeparationFunction__Evaluate_28int_2c_20int_2c_20float_29_20const($2 - -64 | 0, HEAP32[$2 + 48 >> 2], HEAP32[$2 + 44 >> 2], HEAPF32[$2 + 332 >> 2]), + HEAPF32[wasm2js_i32$0 + 36 >> 2] = wasm2js_f32$0; + if (HEAPF32[$2 + 36 >> 2] < Math_fround(HEAPF32[$2 + 340 >> 2] - HEAPF32[$2 + 336 >> 2])) { + HEAP32[HEAP32[$2 + 444 >> 2] >> 2] = 1; + HEAPF32[HEAP32[$2 + 444 >> 2] + 4 >> 2] = HEAPF32[$2 + 332 >> 2]; + HEAP8[$2 + 63 | 0] = 1; + break label$7; + } + if (HEAPF32[$2 + 36 >> 2] <= Math_fround(HEAPF32[$2 + 340 >> 2] + HEAPF32[$2 + 336 >> 2])) { + HEAP32[HEAP32[$2 + 444 >> 2] >> 2] = 3; + HEAPF32[HEAP32[$2 + 444 >> 2] + 4 >> 2] = HEAPF32[$2 + 332 >> 2]; + HEAP8[$2 + 63 | 0] = 1; + break label$7; + } + HEAP32[$2 + 32 >> 2] = 0; + HEAPF32[$2 + 28 >> 2] = HEAPF32[$2 + 332 >> 2]; + HEAPF32[$2 + 24 >> 2] = HEAPF32[$2 + 56 >> 2]; + while (1) { + label$13: { + if (HEAP32[$2 + 32 >> 2] & 1) { + HEAPF32[$2 + 20 >> 2] = HEAPF32[$2 + 28 >> 2] + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 340 >> 2] - HEAPF32[$2 + 36 >> 2]) * Math_fround(HEAPF32[$2 + 24 >> 2] - HEAPF32[$2 + 28 >> 2])) / Math_fround(HEAPF32[$2 + 40 >> 2] - HEAPF32[$2 + 36 >> 2])); + break label$13; + } + HEAPF32[$2 + 20 >> 2] = Math_fround(HEAPF32[$2 + 28 >> 2] + HEAPF32[$2 + 24 >> 2]) * Math_fround(.5); + } + HEAP32[$2 + 32 >> 2] = HEAP32[$2 + 32 >> 2] + 1; + HEAP32[7750] = HEAP32[7750] + 1; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2SeparationFunction__Evaluate_28int_2c_20int_2c_20float_29_20const($2 - -64 | 0, HEAP32[$2 + 48 >> 2], HEAP32[$2 + 44 >> 2], HEAPF32[$2 + 20 >> 2]), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + label$15: { + if (float_20b2Abs_float__28float_29(Math_fround(HEAPF32[$2 + 16 >> 2] - HEAPF32[$2 + 340 >> 2])) < HEAPF32[$2 + 336 >> 2]) { + HEAPF32[$2 + 56 >> 2] = HEAPF32[$2 + 20 >> 2]; + break label$15; + } + label$17: { + if (HEAPF32[$2 + 16 >> 2] > HEAPF32[$2 + 340 >> 2]) { + HEAPF32[$2 + 28 >> 2] = HEAPF32[$2 + 20 >> 2]; + HEAPF32[$2 + 36 >> 2] = HEAPF32[$2 + 16 >> 2]; + break label$17; + } + HEAPF32[$2 + 24 >> 2] = HEAPF32[$2 + 20 >> 2]; + HEAPF32[$2 + 40 >> 2] = HEAPF32[$2 + 16 >> 2]; + } + if (HEAP32[$2 + 32 >> 2] == 50) { + break label$15; + } + continue; + } + break; + } + wasm2js_i32$0 = 31004, wasm2js_i32$1 = int_20b2Max_int__28int_2c_20int_29(HEAP32[7751], HEAP32[$2 + 32 >> 2]), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[$2 + 52 >> 2] = HEAP32[$2 + 52 >> 2] + 1; + if (HEAP32[$2 + 52 >> 2] != 8) { + continue; + } + } + break; + } + HEAP32[$2 + 324 >> 2] = HEAP32[$2 + 324 >> 2] + 1; + HEAP32[7748] = HEAP32[7748] + 1; + if (HEAP8[$2 + 63 | 0] & 1) { + break label$3; + } + if (HEAP32[$2 + 324 >> 2] != 20) { + continue; + } + HEAP32[HEAP32[$2 + 444 >> 2] >> 2] = 1; + HEAPF32[HEAP32[$2 + 444 >> 2] + 4 >> 2] = HEAPF32[$2 + 332 >> 2]; + } + break; + } + wasm2js_i32$0 = 30996, wasm2js_i32$1 = int_20b2Max_int__28int_2c_20int_29(HEAP32[7749], HEAP32[$2 + 324 >> 2]), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Timer__GetMilliseconds_28_29_20const($2 + 439 | 0), + HEAPF32[wasm2js_i32$0 + 12 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = 30984, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(HEAPF32[7746], HEAPF32[$2 + 12 >> 2]), + HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[7745] = HEAPF32[7745] + HEAPF32[$2 + 12 >> 2]; + __stack_pointer = $2 + 448 | 0; +} + +function b2WheelJoint__InitVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 256 | 0; + __stack_pointer = $2; + HEAP32[$2 + 252 >> 2] = $0; + HEAP32[$2 + 248 >> 2] = $1; + $3 = HEAP32[$2 + 252 >> 2]; + HEAP32[$3 + 152 >> 2] = HEAP32[HEAP32[$3 + 48 >> 2] + 8 >> 2]; + HEAP32[$3 + 156 >> 2] = HEAP32[HEAP32[$3 + 52 >> 2] + 8 >> 2]; + $4 = HEAP32[$3 + 48 >> 2]; + $0 = HEAP32[$4 + 28 >> 2]; + $1 = HEAP32[$4 + 32 >> 2]; + HEAP32[$3 + 160 >> 2] = $0; + HEAP32[$3 + 164 >> 2] = $1; + $4 = HEAP32[$3 + 52 >> 2]; + $1 = HEAP32[$4 + 28 >> 2]; + $0 = HEAP32[$4 + 32 >> 2]; + HEAP32[$3 + 168 >> 2] = $1; + HEAP32[$3 + 172 >> 2] = $0; + HEAPF32[$3 + 176 >> 2] = HEAPF32[HEAP32[$3 + 48 >> 2] + 120 >> 2]; + HEAPF32[$3 + 180 >> 2] = HEAPF32[HEAP32[$3 + 52 >> 2] + 120 >> 2]; + HEAPF32[$3 + 184 >> 2] = HEAPF32[HEAP32[$3 + 48 >> 2] + 128 >> 2]; + HEAPF32[$3 + 188 >> 2] = HEAPF32[HEAP32[$3 + 52 >> 2] + 128 >> 2]; + HEAPF32[$2 + 244 >> 2] = HEAPF32[$3 + 176 >> 2]; + HEAPF32[$2 + 240 >> 2] = HEAPF32[$3 + 180 >> 2]; + HEAPF32[$2 + 236 >> 2] = HEAPF32[$3 + 184 >> 2]; + HEAPF32[$2 + 232 >> 2] = HEAPF32[$3 + 188 >> 2]; + $4 = HEAP32[HEAP32[$2 + 248 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 224 >> 2] = $0; + HEAP32[$2 + 228 >> 2] = $1; + HEAPF32[$2 + 220 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 208 >> 2] = $1; + HEAP32[$2 + 212 >> 2] = $0; + HEAPF32[$2 + 204 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 248 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 192 >> 2] = $0; + HEAP32[$2 + 196 >> 2] = $1; + HEAPF32[$2 + 188 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 176 >> 2] = $1; + HEAP32[$2 + 180 >> 2] = $0; + HEAPF32[$2 + 172 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 164 | 0, HEAPF32[$2 + 220 >> 2]); + b2Rot__b2Rot_28float_29($2 + 156 | 0, HEAPF32[$2 + 188 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 140 | 0, $3 + 68 | 0, $3 + 160 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 148 | 0, $2 + 164 | 0, $2 + 140 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 124 | 0, $3 + 76 | 0, $3 + 168 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 132 | 0, $2 + 156 | 0, $2 + 124 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 100 | 0, $2 + 192 | 0, $2 + 132 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 108 | 0, $2 + 100 | 0, $2 + 224 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $2 + 108 | 0, $2 + 148 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 92 | 0, $2 + 164 | 0, $3 + 92 | 0); + $1 = HEAP32[$2 + 96 >> 2]; + $0 = HEAP32[$2 + 92 >> 2]; + HEAP32[$3 + 200 >> 2] = $0; + HEAP32[$3 + 204 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 84 | 0, $2 + 116 | 0, $2 + 148 | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $3 + 200 | 0), + HEAPF32[wasm2js_i32$0 + 216 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 132 | 0, $3 + 200 | 0), + HEAPF32[wasm2js_i32$0 + 220 >> 2] = wasm2js_f32$0; + HEAPF32[$3 + 224 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 232 >> 2] * HEAPF32[$3 + 220 >> 2]) * HEAPF32[$3 + 220 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 236 >> 2] * HEAPF32[$3 + 216 >> 2]) * HEAPF32[$3 + 216 >> 2]) + Math_fround(HEAPF32[$2 + 244 >> 2] + HEAPF32[$2 + 240 >> 2])); + if (HEAPF32[$3 + 224 >> 2] > Math_fround(0)) { + HEAPF32[$3 + 224 >> 2] = Math_fround(1) / HEAPF32[$3 + 224 >> 2]; + } + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 76 | 0, $2 + 164 | 0, $3 + 84 | 0); + $0 = HEAP32[$2 + 80 >> 2]; + $1 = HEAP32[$2 + 76 >> 2]; + HEAP32[$3 + 192 >> 2] = $1; + HEAP32[$3 + 196 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 68 | 0, $2 + 116 | 0, $2 + 148 | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 68 | 0, $3 + 192 | 0), + HEAPF32[wasm2js_i32$0 + 208 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 132 | 0, $3 + 192 | 0), + HEAPF32[wasm2js_i32$0 + 212 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 64 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 232 >> 2] * HEAPF32[$3 + 212 >> 2]) * HEAPF32[$3 + 212 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 236 >> 2] * HEAPF32[$3 + 208 >> 2]) * HEAPF32[$3 + 208 >> 2]) + Math_fround(HEAPF32[$2 + 244 >> 2] + HEAPF32[$2 + 240 >> 2])); + label$2: { + if (HEAPF32[$2 + 64 >> 2] > Math_fround(0)) { + HEAPF32[$3 + 232 >> 2] = Math_fround(1) / HEAPF32[$2 + 64 >> 2]; + break label$2; + } + HEAPF32[$3 + 232 >> 2] = 0; + } + HEAPF32[$3 + 236 >> 2] = 0; + HEAPF32[$3 + 240 >> 2] = 0; + HEAPF32[$3 + 244 >> 2] = 0; + label$4: { + if (!(!(HEAPF32[$3 + 144 >> 2] > Math_fround(0)) | !(HEAPF32[$2 + 64 >> 2] > Math_fround(0)))) { + HEAPF32[$3 + 236 >> 2] = Math_fround(1) / HEAPF32[$2 + 64 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $3 + 192 | 0), + HEAPF32[wasm2js_i32$0 + 60 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 56 >> 2] = HEAPF32[HEAP32[$2 + 248 >> 2] >> 2]; + HEAPF32[$3 + 244 >> 2] = HEAPF32[$2 + 56 >> 2] * Math_fround(Math_fround(HEAPF32[$2 + 56 >> 2] * HEAPF32[$3 + 144 >> 2]) + HEAPF32[$3 + 148 >> 2]); + if (HEAPF32[$3 + 244 >> 2] > Math_fround(0)) { + HEAPF32[$3 + 244 >> 2] = Math_fround(1) / HEAPF32[$3 + 244 >> 2]; + } + HEAPF32[$3 + 240 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 60 >> 2] * HEAPF32[$2 + 56 >> 2]) * HEAPF32[$3 + 144 >> 2]) * HEAPF32[$3 + 244 >> 2]; + HEAPF32[$3 + 236 >> 2] = HEAPF32[$2 + 64 >> 2] + HEAPF32[$3 + 244 >> 2]; + if (HEAPF32[$3 + 236 >> 2] > Math_fround(0)) { + HEAPF32[$3 + 236 >> 2] = Math_fround(1) / HEAPF32[$3 + 236 >> 2]; + } + break label$4; + } + HEAPF32[$3 + 108 >> 2] = 0; + } + label$8: { + if (HEAP8[$3 + 140 | 0] & 1) { + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 192 | 0, $2 + 116 | 0), + HEAPF32[wasm2js_i32$0 + 120 >> 2] = wasm2js_f32$0; + break label$8; + } + HEAPF32[$3 + 112 >> 2] = 0; + HEAPF32[$3 + 116 >> 2] = 0; + } + label$10: { + if (HEAP8[$3 + 141 | 0] & 1) { + HEAPF32[$3 + 228 >> 2] = HEAPF32[$2 + 236 >> 2] + HEAPF32[$2 + 232 >> 2]; + if (HEAPF32[$3 + 228 >> 2] > Math_fround(0)) { + HEAPF32[$3 + 228 >> 2] = Math_fround(1) / HEAPF32[$3 + 228 >> 2]; + } + break label$10; + } + HEAPF32[$3 + 228 >> 2] = 0; + HEAPF32[$3 + 104 >> 2] = 0; + } + label$13: { + if (HEAP8[HEAP32[$2 + 248 >> 2] + 20 | 0] & 1) { + HEAPF32[$3 + 100 >> 2] = HEAPF32[$3 + 100 >> 2] * HEAPF32[HEAP32[$2 + 248 >> 2] + 8 >> 2]; + HEAPF32[$3 + 108 >> 2] = HEAPF32[$3 + 108 >> 2] * HEAPF32[HEAP32[$2 + 248 >> 2] + 8 >> 2]; + HEAPF32[$3 + 104 >> 2] = HEAPF32[$3 + 104 >> 2] * HEAPF32[HEAP32[$2 + 248 >> 2] + 8 >> 2]; + HEAPF32[$2 + 52 >> 2] = Math_fround(HEAPF32[$3 + 108 >> 2] + HEAPF32[$3 + 112 >> 2]) - HEAPF32[$3 + 116 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 36 | 0, HEAPF32[$3 + 100 >> 2], $3 + 200 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 28 | 0, HEAPF32[$2 + 52 >> 2], $3 + 192 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 44 | 0, $2 + 36 | 0, $2 + 28 | 0); + HEAPF32[$2 + 24 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 100 >> 2] * HEAPF32[$3 + 216 >> 2]) + Math_fround(HEAPF32[$2 + 52 >> 2] * HEAPF32[$3 + 208 >> 2])) + HEAPF32[$3 + 104 >> 2]; + HEAPF32[$2 + 20 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 100 >> 2] * HEAPF32[$3 + 220 >> 2]) + Math_fround(HEAPF32[$2 + 52 >> 2] * HEAPF32[$3 + 212 >> 2])) + HEAPF32[$3 + 104 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$3 + 176 >> 2], $2 + 44 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 208 | 0, $2 + 12 | 0); + HEAPF32[$2 + 204 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 184 >> 2]) * HEAPF32[$2 + 24 >> 2]) + HEAPF32[$2 + 204 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$3 + 180 >> 2], $2 + 44 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 176 | 0, $2 + 4 | 0); + HEAPF32[$2 + 172 >> 2] = Math_fround(HEAPF32[$3 + 188 >> 2] * HEAPF32[$2 + 20 >> 2]) + HEAPF32[$2 + 172 >> 2]; + break label$13; + } + HEAPF32[$3 + 100 >> 2] = 0; + HEAPF32[$3 + 108 >> 2] = 0; + HEAPF32[$3 + 104 >> 2] = 0; + HEAPF32[$3 + 112 >> 2] = 0; + HEAPF32[$3 + 116 >> 2] = 0; + } + $1 = HEAP32[$2 + 212 >> 2]; + $0 = HEAP32[$2 + 208 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 204 >> 2]; + $0 = HEAP32[$2 + 180 >> 2]; + $1 = HEAP32[$2 + 176 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 172 >> 2]; + __stack_pointer = $2 + 256 | 0; +} + +function __rem_pio2_large($0, $1, $2, $3, $4) { + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + $8 = __stack_pointer - 560 | 0; + __stack_pointer = $8; + $6 = ($2 - 3 | 0) / 24 | 0; + $18 = ($6 | 0) > 0 ? $6 : 0; + $12 = Math_imul($18, -24) + $2 | 0; + $13 = HEAP32[($4 << 2) + 20560 >> 2]; + $15 = $3 - 1 | 0; + if (($13 + $15 | 0) >= 0) { + $7 = $3 + $13 | 0; + $2 = $18 - $15 | 0; + $6 = 0; + while (1) { + $5 = ($2 | 0) < 0 ? 0 : +HEAP32[($2 << 2) + 20576 >> 2]; + HEAPF64[($8 + 320 | 0) + ($6 << 3) >> 3] = $5; + $2 = $2 + 1 | 0; + $6 = $6 + 1 | 0; + if (($6 | 0) != ($7 | 0)) { + continue; + } + break; + } + } + $17 = $12 - 24 | 0; + $7 = 0; + $10 = ($13 | 0) > 0 ? $13 : 0; + $11 = ($3 | 0) <= 0; + while (1) { + label$6: { + if ($11) { + $5 = 0; + break label$6; + } + $6 = $7 + $15 | 0; + $2 = 0; + $5 = 0; + while (1) { + $5 = HEAPF64[($2 << 3) + $0 >> 3] * HEAPF64[($8 + 320 | 0) + ($6 - $2 << 3) >> 3] + $5; + $2 = $2 + 1 | 0; + if (($3 | 0) != ($2 | 0)) { + continue; + } + break; + } + } + HEAPF64[($7 << 3) + $8 >> 3] = $5; + $2 = ($7 | 0) == ($10 | 0); + $7 = $7 + 1 | 0; + if (!$2) { + continue; + } + break; + } + $23 = 47 - $12 | 0; + $21 = 48 - $12 | 0; + $24 = $12 - 25 | 0; + $7 = $13; + label$9: { + while (1) { + $5 = HEAPF64[($7 << 3) + $8 >> 3]; + $2 = 0; + $6 = $7; + $15 = ($7 | 0) <= 0; + if (!$15) { + while (1) { + $10 = ($8 + 480 | 0) + ($2 << 2) | 0; + $9 = $5 * 5.960464477539063e-8; + label$14: { + if (Math_abs($9) < 2147483648) { + $11 = ~~$9; + break label$14; + } + $11 = -2147483648; + } + $9 = +($11 | 0); + $5 = $9 * -16777216 + $5; + label$13: { + if (Math_abs($5) < 2147483648) { + $11 = ~~$5; + break label$13; + } + $11 = -2147483648; + } + HEAP32[$10 >> 2] = $11; + $6 = $6 - 1 | 0; + $5 = HEAPF64[($6 << 3) + $8 >> 3] + $9; + $2 = $2 + 1 | 0; + if (($7 | 0) != ($2 | 0)) { + continue; + } + break; + } + } + $5 = scalbn($5, $17); + $5 = $5 + floor($5 * .125) * -8; + label$17: { + if (Math_abs($5) < 2147483648) { + $16 = ~~$5; + break label$17; + } + $16 = -2147483648; + } + $5 = $5 - +($16 | 0); + label$19: { + label$20: { + label$21: { + $22 = ($17 | 0) <= 0; + label$22: { + if (!$22) { + $6 = ($7 << 2) + $8 | 0; + $2 = $6 + 476 | 0; + $11 = $2; + $2 = HEAP32[$6 + 476 >> 2]; + $6 = $2; + $2 = $2 >> $21; + $6 = $6 - ($2 << $21) | 0; + HEAP32[$11 >> 2] = $6; + $16 = $2 + $16 | 0; + $14 = $6 >> $23; + break label$22; + } + if ($17) { + break label$21; + } + $14 = HEAP32[(($7 << 2) + $8 | 0) + 476 >> 2] >> 23; + } + if (($14 | 0) <= 0) { + break label$19; + } + break label$20; + } + $14 = 2; + if ($5 >= .5) { + break label$20; + } + $14 = 0; + break label$19; + } + $2 = 0; + $11 = 0; + if (!$15) { + while (1) { + $15 = ($8 + 480 | 0) + ($2 << 2) | 0; + $6 = HEAP32[$15 >> 2]; + $10 = 16777215; + label$26: { + label$27: { + if ($11) { + break label$27; + } + $10 = 16777216; + if ($6) { + break label$27; + } + $11 = 0; + break label$26; + } + HEAP32[$15 >> 2] = $10 - $6; + $11 = 1; + } + $2 = $2 + 1 | 0; + if (($7 | 0) != ($2 | 0)) { + continue; + } + break; + } + } + label$28: { + if ($22) { + break label$28; + } + $2 = 8388607; + label$29: { + switch ($24 | 0) { + case 1: + $2 = 4194303; + break; + + case 0: + break label$29; + + default: + break label$28; + } + } + $10 = ($7 << 2) + $8 | 0; + $6 = $10 + 476 | 0; + HEAP32[$6 >> 2] = HEAP32[$10 + 476 >> 2] & $2; + } + $16 = $16 + 1 | 0; + if (($14 | 0) != 2) { + break label$19; + } + $5 = 1 - $5; + $14 = 2; + if (!$11) { + break label$19; + } + $5 = $5 - scalbn(1, $17); + } + if ($5 == 0) { + $6 = 0; + label$32: { + $2 = $7; + if (($13 | 0) >= ($2 | 0)) { + break label$32; + } + while (1) { + $2 = $2 - 1 | 0; + $6 = HEAP32[($8 + 480 | 0) + ($2 << 2) >> 2] | $6; + if (($2 | 0) > ($13 | 0)) { + continue; + } + break; + } + if (!$6) { + break label$32; + } + $12 = $17; + while (1) { + $12 = $12 - 24 | 0; + $7 = $7 - 1 | 0; + if (!HEAP32[($8 + 480 | 0) + ($7 << 2) >> 2]) { + continue; + } + break; + } + break label$9; + } + $2 = 1; + while (1) { + $6 = $2; + $2 = $2 + 1 | 0; + if (!HEAP32[($8 + 480 | 0) + ($13 - $6 << 2) >> 2]) { + continue; + } + break; + } + $10 = $7 + $6 | 0; + while (1) { + $6 = $3 + $7 | 0; + $7 = $7 + 1 | 0; + HEAPF64[($8 + 320 | 0) + ($6 << 3) >> 3] = HEAP32[($18 + $7 << 2) + 20576 >> 2]; + $2 = 0; + $5 = 0; + if (($3 | 0) > 0) { + while (1) { + $5 = HEAPF64[($2 << 3) + $0 >> 3] * HEAPF64[($8 + 320 | 0) + ($6 - $2 << 3) >> 3] + $5; + $2 = $2 + 1 | 0; + if (($3 | 0) != ($2 | 0)) { + continue; + } + break; + } + } + HEAPF64[($7 << 3) + $8 >> 3] = $5; + if (($7 | 0) < ($10 | 0)) { + continue; + } + break; + } + $7 = $10; + continue; + } + break; + } + $5 = scalbn($5, 24 - $12 | 0); + label$39: { + if ($5 >= 16777216) { + $3 = $7 << 2; + $3 = $3 + ($8 + 480 | 0) | 0; + $9 = $5 * 5.960464477539063e-8; + label$42: { + if (Math_abs($9) < 2147483648) { + $2 = ~~$9; + break label$42; + } + $2 = -2147483648; + } + $5 = +($2 | 0) * -16777216 + $5; + label$41: { + if (Math_abs($5) < 2147483648) { + $6 = ~~$5; + break label$41; + } + $6 = -2147483648; + } + HEAP32[$3 >> 2] = $6; + $7 = $7 + 1 | 0; + break label$39; + } + if (Math_abs($5) < 2147483648) { + $2 = ~~$5; + } else { + $2 = -2147483648; + } + $12 = $17; + } + HEAP32[($8 + 480 | 0) + ($7 << 2) >> 2] = $2; + } + $5 = scalbn(1, $12); + label$47: { + if (($7 | 0) < 0) { + break label$47; + } + $3 = $7; + while (1) { + $2 = $3; + HEAPF64[($2 << 3) + $8 >> 3] = $5 * +HEAP32[($8 + 480 | 0) + ($2 << 2) >> 2]; + $3 = $2 - 1 | 0; + $5 = $5 * 5.960464477539063e-8; + if ($2) { + continue; + } + break; + } + if (($7 | 0) < 0) { + break label$47; + } + $6 = $7; + while (1) { + $5 = 0; + $2 = 0; + $10 = $7 - $6 | 0; + $0 = ($10 | 0) > ($13 | 0) ? $13 : $10; + if (($0 | 0) >= 0) { + while (1) { + $5 = HEAPF64[($2 << 3) + 23344 >> 3] * HEAPF64[($2 + $6 << 3) + $8 >> 3] + $5; + $3 = ($0 | 0) != ($2 | 0); + $2 = $2 + 1 | 0; + if ($3) { + continue; + } + break; + } + } + HEAPF64[($8 + 160 | 0) + ($10 << 3) >> 3] = $5; + $2 = ($6 | 0) > 0; + $6 = $6 - 1 | 0; + if ($2) { + continue; + } + break; + } + } + label$52: { + label$53: { + label$54: { + switch ($4 | 0) { + case 3: + label$57: { + if (($7 | 0) <= 0) { + break label$57; + } + $5 = HEAPF64[($8 + 160 | 0) + ($7 << 3) >> 3]; + $2 = $7; + while (1) { + $3 = $2 - 1 | 0; + $6 = ($8 + 160 | 0) + ($3 << 3) | 0; + $9 = HEAPF64[$6 >> 3]; + $19 = $9; + $9 = $9 + $5; + HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3] = $5 + ($19 - $9); + HEAPF64[$6 >> 3] = $9; + $6 = $2 >>> 0 > 1; + $5 = $9; + $2 = $3; + if ($6) { + continue; + } + break; + } + if (($7 | 0) < 2) { + break label$57; + } + $5 = HEAPF64[($8 + 160 | 0) + ($7 << 3) >> 3]; + $2 = $7; + while (1) { + $3 = $2 - 1 | 0; + $6 = ($8 + 160 | 0) + ($3 << 3) | 0; + $9 = HEAPF64[$6 >> 3]; + $19 = $9; + $9 = $9 + $5; + HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3] = $5 + ($19 - $9); + HEAPF64[$6 >> 3] = $9; + $6 = $2 >>> 0 > 2; + $5 = $9; + $2 = $3; + if ($6) { + continue; + } + break; + } + if (($7 | 0) <= 1) { + break label$57; + } + while (1) { + $20 = $20 + HEAPF64[($8 + 160 | 0) + ($7 << 3) >> 3]; + $2 = ($7 | 0) > 2; + $7 = $7 - 1 | 0; + if ($2) { + continue; + } + break; + } + } + $5 = HEAPF64[$8 + 160 >> 3]; + if ($14) { + break label$53; + } + HEAPF64[$1 >> 3] = $5; + $5 = HEAPF64[$8 + 168 >> 3]; + HEAPF64[$1 + 16 >> 3] = $20; + HEAPF64[$1 + 8 >> 3] = $5; + break label$52; + + case 0: + $5 = 0; + if (($7 | 0) >= 0) { + while (1) { + $2 = $7; + $7 = $2 - 1 | 0; + $5 = $5 + HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3]; + if ($2) { + continue; + } + break; + } + } + HEAPF64[$1 >> 3] = $14 ? -$5 : $5; + break label$52; + + case 1: + case 2: + break label$54; + + default: + break label$52; + } + } + $5 = 0; + if (($7 | 0) >= 0) { + $3 = $7; + while (1) { + $2 = $3; + $3 = $2 - 1 | 0; + $5 = $5 + HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3]; + if ($2) { + continue; + } + break; + } + } + HEAPF64[$1 >> 3] = $14 ? -$5 : $5; + $5 = HEAPF64[$8 + 160 >> 3] - $5; + $2 = 1; + if (($7 | 0) > 0) { + while (1) { + $5 = $5 + HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3]; + $3 = ($2 | 0) != ($7 | 0); + $2 = $2 + 1 | 0; + if ($3) { + continue; + } + break; + } + } + HEAPF64[$1 + 8 >> 3] = $14 ? -$5 : $5; + break label$52; + } + HEAPF64[$1 >> 3] = -$5; + $5 = HEAPF64[$8 + 168 >> 3]; + HEAPF64[$1 + 16 >> 3] = -$20; + HEAPF64[$1 + 8 >> 3] = -$5; + } + __stack_pointer = $8 + 560 | 0; + return $16 & 7; +} + +function b2WheelJoint__SolveVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 288 | 0; + __stack_pointer = $2; + HEAP32[$2 + 284 >> 2] = $0; + HEAP32[$2 + 280 >> 2] = $1; + $3 = HEAP32[$2 + 284 >> 2]; + HEAPF32[$2 + 276 >> 2] = HEAPF32[$3 + 176 >> 2]; + HEAPF32[$2 + 272 >> 2] = HEAPF32[$3 + 180 >> 2]; + HEAPF32[$2 + 268 >> 2] = HEAPF32[$3 + 184 >> 2]; + HEAPF32[$2 + 264 >> 2] = HEAPF32[$3 + 188 >> 2]; + $5 = HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0; + $1 = HEAP32[$5 >> 2]; + $0 = HEAP32[$5 + 4 >> 2]; + HEAP32[$2 + 256 >> 2] = $1; + HEAP32[$2 + 260 >> 2] = $0; + HEAPF32[$2 + 252 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0) + 8 >> 2]; + $5 = HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0; + $0 = HEAP32[$5 >> 2]; + $1 = HEAP32[$5 + 4 >> 2]; + HEAP32[$2 + 240 >> 2] = $0; + HEAP32[$2 + 244 >> 2] = $1; + HEAPF32[$2 + 236 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0) + 8 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 224 | 0, $2 + 240 | 0, $2 + 256 | 0); + $4 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 192 | 0, $2 + 224 | 0); + HEAPF32[$2 + 232 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 208 >> 2]) * HEAPF32[$2 + 252 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 212 >> 2] * HEAPF32[$2 + 236 >> 2]) + $4); + HEAPF32[$2 + 220 >> 2] = Math_fround(-HEAPF32[$3 + 236 >> 2]) * Math_fround(Math_fround(HEAPF32[$3 + 244 >> 2] * HEAPF32[$3 + 108 >> 2]) + Math_fround(HEAPF32[$2 + 232 >> 2] + HEAPF32[$3 + 240 >> 2])); + HEAPF32[$3 + 108 >> 2] = HEAPF32[$3 + 108 >> 2] + HEAPF32[$2 + 220 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 212 | 0, HEAPF32[$2 + 220 >> 2], $3 + 192 | 0); + HEAPF32[$2 + 208 >> 2] = HEAPF32[$2 + 220 >> 2] * HEAPF32[$3 + 208 >> 2]; + HEAPF32[$2 + 204 >> 2] = HEAPF32[$2 + 220 >> 2] * HEAPF32[$3 + 212 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 196 | 0, HEAPF32[$2 + 276 >> 2], $2 + 212 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 256 | 0, $2 + 196 | 0); + HEAPF32[$2 + 252 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 268 >> 2]) * HEAPF32[$2 + 208 >> 2]) + HEAPF32[$2 + 252 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 188 | 0, HEAPF32[$2 + 272 >> 2], $2 + 212 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 240 | 0, $2 + 188 | 0); + HEAPF32[$2 + 236 >> 2] = Math_fround(HEAPF32[$2 + 264 >> 2] * HEAPF32[$2 + 204 >> 2]) + HEAPF32[$2 + 236 >> 2]; + HEAPF32[$2 + 184 >> 2] = Math_fround(HEAPF32[$2 + 236 >> 2] - HEAPF32[$2 + 252 >> 2]) - HEAPF32[$3 + 136 >> 2]; + HEAPF32[$2 + 180 >> 2] = Math_fround(-HEAPF32[$3 + 228 >> 2]) * HEAPF32[$2 + 184 >> 2]; + HEAPF32[$2 + 176 >> 2] = HEAPF32[$3 + 104 >> 2]; + HEAPF32[$2 + 172 >> 2] = HEAPF32[HEAP32[$2 + 280 >> 2] >> 2] * HEAPF32[$3 + 132 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(Math_fround(HEAPF32[$3 + 104 >> 2] + HEAPF32[$2 + 180 >> 2]), Math_fround(-HEAPF32[$2 + 172 >> 2]), HEAPF32[$2 + 172 >> 2]), + HEAPF32[wasm2js_i32$0 + 104 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 180 >> 2] = HEAPF32[$3 + 104 >> 2] - HEAPF32[$2 + 176 >> 2]; + HEAPF32[$2 + 252 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 268 >> 2]) * HEAPF32[$2 + 180 >> 2]) + HEAPF32[$2 + 252 >> 2]; + HEAPF32[$2 + 236 >> 2] = Math_fround(HEAPF32[$2 + 264 >> 2] * HEAPF32[$2 + 180 >> 2]) + HEAPF32[$2 + 236 >> 2]; + if (HEAP8[$3 + 140 | 0] & 1) { + HEAPF32[$2 + 168 >> 2] = HEAPF32[$3 + 120 >> 2] - HEAPF32[$3 + 124 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 156 | 0, $2 + 240 | 0, $2 + 256 | 0); + $4 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 192 | 0, $2 + 156 | 0); + HEAPF32[$2 + 164 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 208 >> 2]) * HEAPF32[$2 + 252 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 212 >> 2] * HEAPF32[$2 + 236 >> 2]) + $4); + $4 = HEAPF32[$2 + 164 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(-HEAPF32[$3 + 232 >> 2]) * Math_fround(Math_fround(float_20b2Max_float__28float_2c_20float_29(HEAPF32[$2 + 168 >> 2], Math_fround(0)) * HEAPF32[HEAP32[$2 + 280 >> 2] + 4 >> 2]) + $4)), + HEAPF32[wasm2js_i32$0 + 152 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 148 >> 2] = HEAPF32[$3 + 112 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(Math_fround(HEAPF32[$3 + 112 >> 2] + HEAPF32[$2 + 152 >> 2]), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 112 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 152 >> 2] = HEAPF32[$3 + 112 >> 2] - HEAPF32[$2 + 148 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 140 | 0, HEAPF32[$2 + 152 >> 2], $3 + 192 | 0); + HEAPF32[$2 + 136 >> 2] = HEAPF32[$2 + 152 >> 2] * HEAPF32[$3 + 208 >> 2]; + HEAPF32[$2 + 132 >> 2] = HEAPF32[$2 + 152 >> 2] * HEAPF32[$3 + 212 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 124 | 0, HEAPF32[$2 + 276 >> 2], $2 + 140 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 256 | 0, $2 + 124 | 0); + HEAPF32[$2 + 252 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 268 >> 2]) * HEAPF32[$2 + 136 >> 2]) + HEAPF32[$2 + 252 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 116 | 0, HEAPF32[$2 + 272 >> 2], $2 + 140 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 240 | 0, $2 + 116 | 0); + HEAPF32[$2 + 236 >> 2] = Math_fround(HEAPF32[$2 + 264 >> 2] * HEAPF32[$2 + 132 >> 2]) + HEAPF32[$2 + 236 >> 2]; + HEAPF32[$2 + 112 >> 2] = HEAPF32[$3 + 128 >> 2] - HEAPF32[$3 + 120 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 100 | 0, $2 + 256 | 0, $2 + 240 | 0); + $4 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 192 | 0, $2 + 100 | 0); + HEAPF32[$2 + 108 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 212 >> 2]) * HEAPF32[$2 + 236 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 208 >> 2] * HEAPF32[$2 + 252 >> 2]) + $4); + $4 = HEAPF32[$2 + 108 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(-HEAPF32[$3 + 232 >> 2]) * Math_fround(Math_fround(float_20b2Max_float__28float_2c_20float_29(HEAPF32[$2 + 112 >> 2], Math_fround(0)) * HEAPF32[HEAP32[$2 + 280 >> 2] + 4 >> 2]) + $4)), + HEAPF32[wasm2js_i32$0 + 96 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 92 >> 2] = HEAPF32[$3 + 116 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(Math_fround(HEAPF32[$3 + 116 >> 2] + HEAPF32[$2 + 96 >> 2]), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 116 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 96 >> 2] = HEAPF32[$3 + 116 >> 2] - HEAPF32[$2 + 92 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 84 | 0, HEAPF32[$2 + 96 >> 2], $3 + 192 | 0); + HEAPF32[$2 + 80 >> 2] = HEAPF32[$2 + 96 >> 2] * HEAPF32[$3 + 208 >> 2]; + HEAPF32[$2 + 76 >> 2] = HEAPF32[$2 + 96 >> 2] * HEAPF32[$3 + 212 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 68 | 0, HEAPF32[$2 + 276 >> 2], $2 + 84 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 256 | 0, $2 + 68 | 0); + HEAPF32[$2 + 252 >> 2] = Math_fround(HEAPF32[$2 + 268 >> 2] * HEAPF32[$2 + 80 >> 2]) + HEAPF32[$2 + 252 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 60 | 0, HEAPF32[$2 + 272 >> 2], $2 + 84 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 240 | 0, $2 + 60 | 0); + HEAPF32[$2 + 236 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 264 >> 2]) * HEAPF32[$2 + 76 >> 2]) + HEAPF32[$2 + 236 >> 2]; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 48 | 0, $2 + 240 | 0, $2 + 256 | 0); + $4 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 200 | 0, $2 + 48 | 0); + HEAPF32[$2 + 56 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 216 >> 2]) * HEAPF32[$2 + 252 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 220 >> 2] * HEAPF32[$2 + 236 >> 2]) + $4); + HEAPF32[$2 + 44 >> 2] = Math_fround(-HEAPF32[$3 + 224 >> 2]) * HEAPF32[$2 + 56 >> 2]; + HEAPF32[$3 + 100 >> 2] = HEAPF32[$3 + 100 >> 2] + HEAPF32[$2 + 44 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 36 | 0, HEAPF32[$2 + 44 >> 2], $3 + 200 | 0); + HEAPF32[$2 + 32 >> 2] = HEAPF32[$2 + 44 >> 2] * HEAPF32[$3 + 216 >> 2]; + HEAPF32[$2 + 28 >> 2] = HEAPF32[$2 + 44 >> 2] * HEAPF32[$3 + 220 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, HEAPF32[$2 + 276 >> 2], $2 + 36 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 256 | 0, $2 + 20 | 0); + HEAPF32[$2 + 252 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 268 >> 2]) * HEAPF32[$2 + 32 >> 2]) + HEAPF32[$2 + 252 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$2 + 272 >> 2], $2 + 36 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 240 | 0, $2 + 12 | 0); + HEAPF32[$2 + 236 >> 2] = Math_fround(HEAPF32[$2 + 264 >> 2] * HEAPF32[$2 + 28 >> 2]) + HEAPF32[$2 + 236 >> 2]; + $0 = HEAP32[$2 + 260 >> 2]; + $1 = HEAP32[$2 + 256 >> 2]; + $5 = $1; + $1 = HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $5; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 252 >> 2]; + $1 = HEAP32[$2 + 244 >> 2]; + $0 = HEAP32[$2 + 240 >> 2]; + $5 = $0; + $0 = HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $5; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 236 >> 2]; + __stack_pointer = $2 + 288 | 0; +} + +function b2PrismaticJoint__SolveVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 288 | 0; + __stack_pointer = $2; + HEAP32[$2 + 284 >> 2] = $0; + HEAP32[$2 + 280 >> 2] = $1; + $3 = HEAP32[$2 + 284 >> 2]; + $5 = HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0; + $1 = HEAP32[$5 >> 2]; + $0 = HEAP32[$5 + 4 >> 2]; + HEAP32[$2 + 272 >> 2] = $1; + HEAP32[$2 + 276 >> 2] = $0; + HEAPF32[$2 + 268 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0) + 8 >> 2]; + $5 = HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0; + $0 = HEAP32[$5 >> 2]; + $1 = HEAP32[$5 + 4 >> 2]; + HEAP32[$2 + 256 >> 2] = $0; + HEAP32[$2 + 260 >> 2] = $1; + HEAPF32[$2 + 252 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$2 + 248 >> 2] = HEAPF32[$3 + 168 >> 2]; + HEAPF32[$2 + 244 >> 2] = HEAPF32[$3 + 172 >> 2]; + HEAPF32[$2 + 240 >> 2] = HEAPF32[$3 + 176 >> 2]; + HEAPF32[$2 + 236 >> 2] = HEAPF32[$3 + 180 >> 2]; + if (HEAP8[$3 + 141 | 0] & 1) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 224 | 0, $2 + 256 | 0, $2 + 272 | 0); + $4 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 184 | 0, $2 + 224 | 0); + HEAPF32[$2 + 232 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 208 >> 2]) * HEAPF32[$2 + 268 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 212 >> 2] * HEAPF32[$2 + 252 >> 2]) + $4); + HEAPF32[$2 + 220 >> 2] = HEAPF32[$3 + 236 >> 2] * Math_fround(HEAPF32[$3 + 136 >> 2] - HEAPF32[$2 + 232 >> 2]); + HEAPF32[$2 + 216 >> 2] = HEAPF32[$3 + 112 >> 2]; + HEAPF32[$2 + 212 >> 2] = HEAPF32[HEAP32[$2 + 280 >> 2] >> 2] * HEAPF32[$3 + 132 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(Math_fround(HEAPF32[$3 + 112 >> 2] + HEAPF32[$2 + 220 >> 2]), Math_fround(-HEAPF32[$2 + 212 >> 2]), HEAPF32[$2 + 212 >> 2]), + HEAPF32[wasm2js_i32$0 + 112 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 220 >> 2] = HEAPF32[$3 + 112 >> 2] - HEAPF32[$2 + 216 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 204 | 0, HEAPF32[$2 + 220 >> 2], $3 + 184 | 0); + HEAPF32[$2 + 200 >> 2] = HEAPF32[$2 + 220 >> 2] * HEAPF32[$3 + 208 >> 2]; + HEAPF32[$2 + 196 >> 2] = HEAPF32[$2 + 220 >> 2] * HEAPF32[$3 + 212 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 188 | 0, HEAPF32[$2 + 248 >> 2], $2 + 204 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 272 | 0, $2 + 188 | 0); + HEAPF32[$2 + 268 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 240 >> 2]) * HEAPF32[$2 + 200 >> 2]) + HEAPF32[$2 + 268 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 180 | 0, HEAPF32[$2 + 244 >> 2], $2 + 204 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 256 | 0, $2 + 180 | 0); + HEAPF32[$2 + 252 >> 2] = Math_fround(HEAPF32[$2 + 236 >> 2] * HEAPF32[$2 + 196 >> 2]) + HEAPF32[$2 + 252 >> 2]; + } + if (HEAP8[$3 + 140 | 0] & 1) { + HEAPF32[$2 + 176 >> 2] = HEAPF32[$3 + 232 >> 2] - HEAPF32[$3 + 124 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 164 | 0, $2 + 256 | 0, $2 + 272 | 0); + $4 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 184 | 0, $2 + 164 | 0); + HEAPF32[$2 + 172 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 208 >> 2]) * HEAPF32[$2 + 268 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 212 >> 2] * HEAPF32[$2 + 252 >> 2]) + $4); + $4 = HEAPF32[$2 + 172 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(-HEAPF32[$3 + 236 >> 2]) * Math_fround(Math_fround(float_20b2Max_float__28float_2c_20float_29(HEAPF32[$2 + 176 >> 2], Math_fround(0)) * HEAPF32[HEAP32[$2 + 280 >> 2] + 4 >> 2]) + $4)), + HEAPF32[wasm2js_i32$0 + 160 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 156 >> 2] = HEAPF32[$3 + 116 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(Math_fround(HEAPF32[$3 + 116 >> 2] + HEAPF32[$2 + 160 >> 2]), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 116 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 160 >> 2] = HEAPF32[$3 + 116 >> 2] - HEAPF32[$2 + 156 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 148 | 0, HEAPF32[$2 + 160 >> 2], $3 + 184 | 0); + HEAPF32[$2 + 144 >> 2] = HEAPF32[$2 + 160 >> 2] * HEAPF32[$3 + 208 >> 2]; + HEAPF32[$2 + 140 >> 2] = HEAPF32[$2 + 160 >> 2] * HEAPF32[$3 + 212 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 132 | 0, HEAPF32[$2 + 248 >> 2], $2 + 148 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 272 | 0, $2 + 132 | 0); + HEAPF32[$2 + 268 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 240 >> 2]) * HEAPF32[$2 + 144 >> 2]) + HEAPF32[$2 + 268 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 124 | 0, HEAPF32[$2 + 244 >> 2], $2 + 148 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 256 | 0, $2 + 124 | 0); + HEAPF32[$2 + 252 >> 2] = Math_fround(HEAPF32[$2 + 236 >> 2] * HEAPF32[$2 + 140 >> 2]) + HEAPF32[$2 + 252 >> 2]; + HEAPF32[$2 + 120 >> 2] = HEAPF32[$3 + 128 >> 2] - HEAPF32[$3 + 232 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 108 | 0, $2 + 272 | 0, $2 + 256 | 0); + $4 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 184 | 0, $2 + 108 | 0); + HEAPF32[$2 + 116 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 212 >> 2]) * HEAPF32[$2 + 252 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 208 >> 2] * HEAPF32[$2 + 268 >> 2]) + $4); + $4 = HEAPF32[$2 + 116 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(-HEAPF32[$3 + 236 >> 2]) * Math_fround(Math_fround(float_20b2Max_float__28float_2c_20float_29(HEAPF32[$2 + 120 >> 2], Math_fround(0)) * HEAPF32[HEAP32[$2 + 280 >> 2] + 4 >> 2]) + $4)), + HEAPF32[wasm2js_i32$0 + 104 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 100 >> 2] = HEAPF32[$3 + 120 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(Math_fround(HEAPF32[$3 + 120 >> 2] + HEAPF32[$2 + 104 >> 2]), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 120 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 104 >> 2] = HEAPF32[$3 + 120 >> 2] - HEAPF32[$2 + 100 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 92 | 0, HEAPF32[$2 + 104 >> 2], $3 + 184 | 0); + HEAPF32[$2 + 88 >> 2] = HEAPF32[$2 + 104 >> 2] * HEAPF32[$3 + 208 >> 2]; + HEAPF32[$2 + 84 >> 2] = HEAPF32[$2 + 104 >> 2] * HEAPF32[$3 + 212 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 76 | 0, HEAPF32[$2 + 248 >> 2], $2 + 92 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 272 | 0, $2 + 76 | 0); + HEAPF32[$2 + 268 >> 2] = Math_fround(HEAPF32[$2 + 240 >> 2] * HEAPF32[$2 + 88 >> 2]) + HEAPF32[$2 + 268 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 68 | 0, HEAPF32[$2 + 244 >> 2], $2 + 92 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 256 | 0, $2 + 68 | 0); + HEAPF32[$2 + 252 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 236 >> 2]) * HEAPF32[$2 + 84 >> 2]) + HEAPF32[$2 + 252 >> 2]; + } + b2Vec2__b2Vec2_28_29($2 + 60 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 52 | 0, $2 + 256 | 0, $2 + 272 | 0); + $4 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 192 | 0, $2 + 52 | 0); + HEAPF32[$2 + 60 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 200 >> 2]) * HEAPF32[$2 + 268 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 204 >> 2] * HEAPF32[$2 + 252 >> 2]) + $4); + HEAPF32[$2 + 64 >> 2] = HEAPF32[$2 + 252 >> 2] - HEAPF32[$2 + 268 >> 2]; + b2Vec2__operator__28_29_20const($2 + 36 | 0, $2 + 60 | 0); + b2Mat22__Solve_28b2Vec2_20const__29_20const($2 + 44 | 0, $3 + 216 | 0, $2 + 36 | 0); + b2Vec2__operator___28b2Vec2_20const__29($3 + 104 | 0, $2 + 44 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 28 | 0, HEAPF32[$2 + 44 >> 2], $3 + 192 | 0); + HEAPF32[$2 + 24 >> 2] = Math_fround(HEAPF32[$2 + 44 >> 2] * HEAPF32[$3 + 200 >> 2]) + HEAPF32[$2 + 48 >> 2]; + HEAPF32[$2 + 20 >> 2] = Math_fround(HEAPF32[$2 + 44 >> 2] * HEAPF32[$3 + 204 >> 2]) + HEAPF32[$2 + 48 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$2 + 248 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 272 | 0, $2 + 12 | 0); + HEAPF32[$2 + 268 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 240 >> 2]) * HEAPF32[$2 + 24 >> 2]) + HEAPF32[$2 + 268 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$2 + 244 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 256 | 0, $2 + 4 | 0); + HEAPF32[$2 + 252 >> 2] = Math_fround(HEAPF32[$2 + 236 >> 2] * HEAPF32[$2 + 20 >> 2]) + HEAPF32[$2 + 252 >> 2]; + $0 = HEAP32[$2 + 276 >> 2]; + $1 = HEAP32[$2 + 272 >> 2]; + $5 = $1; + $1 = HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $5; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 268 >> 2]; + $1 = HEAP32[$2 + 260 >> 2]; + $0 = HEAP32[$2 + 256 >> 2]; + $5 = $0; + $0 = HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $5; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 280 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 252 >> 2]; + __stack_pointer = $2 + 288 | 0; +} + +function b2CollideEdgeAndCircle_28b2Manifold__2c_20b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2CircleShape_20const__2c_20b2Transform_20const__29($0, $1, $2, $3, $4) { + var $5 = 0, $6 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 304 | 0; + __stack_pointer = $5; + HEAP32[$5 + 300 >> 2] = $0; + HEAP32[$5 + 296 >> 2] = $1; + HEAP32[$5 + 292 >> 2] = $2; + HEAP32[$5 + 288 >> 2] = $3; + HEAP32[$5 + 284 >> 2] = $4; + HEAP32[HEAP32[$5 + 300 >> 2] + 60 >> 2] = 0; + $0 = HEAP32[$5 + 292 >> 2]; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 268 | 0, HEAP32[$5 + 284 >> 2], HEAP32[$5 + 288 >> 2] + 12 | 0); + b2MulT_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 276 | 0, $0, $5 + 268 | 0); + $2 = HEAP32[$5 + 296 >> 2]; + $1 = HEAP32[$2 + 12 >> 2]; + $0 = HEAP32[$2 + 16 >> 2]; + HEAP32[$5 + 256 >> 2] = $1; + HEAP32[$5 + 260 >> 2] = $0; + $2 = HEAP32[$5 + 296 >> 2]; + $0 = HEAP32[$2 + 20 >> 2]; + $1 = HEAP32[$2 + 24 >> 2]; + HEAP32[$5 + 248 >> 2] = $0; + HEAP32[$5 + 252 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 240 | 0, $5 + 248 | 0, $5 + 256 | 0); + b2Vec2__b2Vec2_28float_2c_20float_29($5 + 232 | 0, HEAPF32[$5 + 244 >> 2], Math_fround(-HEAPF32[$5 + 240 >> 2])); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 220 | 0, $5 + 276 | 0, $5 + 256 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 232 | 0, $5 + 220 | 0), + HEAPF32[wasm2js_i32$0 + 228 >> 2] = wasm2js_f32$0; + HEAP8[$5 + 219 | 0] = HEAP8[HEAP32[$5 + 296 >> 2] + 44 | 0] & 1; + label$1: { + if (!(!(HEAP8[$5 + 219 | 0] & 1) | !(HEAPF32[$5 + 228 >> 2] < Math_fround(0)))) { + break label$1; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 204 | 0, $5 + 248 | 0, $5 + 276 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 240 | 0, $5 + 204 | 0), + HEAPF32[wasm2js_i32$0 + 212 >> 2] = wasm2js_f32$0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 192 | 0, $5 + 276 | 0, $5 + 256 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 240 | 0, $5 + 192 | 0), + HEAPF32[wasm2js_i32$0 + 200 >> 2] = wasm2js_f32$0; + HEAPF32[$5 + 188 >> 2] = HEAPF32[HEAP32[$5 + 296 >> 2] + 8 >> 2] + HEAPF32[HEAP32[$5 + 288 >> 2] + 8 >> 2]; + HEAP8[$5 + 185 | 0] = 0; + HEAP8[$5 + 187 | 0] = 0; + if (HEAPF32[$5 + 200 >> 2] <= Math_fround(0)) { + $0 = HEAP32[$5 + 260 >> 2]; + $1 = HEAP32[$5 + 256 >> 2]; + HEAP32[$5 + 176 >> 2] = $1; + HEAP32[$5 + 180 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 168 | 0, $5 + 276 | 0, $5 + 176 | 0); + $0 = $5 + 168 | 0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $0), + HEAPF32[wasm2js_i32$0 + 164 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 164 >> 2] > Math_fround(HEAPF32[$5 + 188 >> 2] * HEAPF32[$5 + 188 >> 2])) { + break label$1; + } + if (HEAP8[HEAP32[$5 + 296 >> 2] + 44 | 0] & 1) { + $2 = HEAP32[$5 + 296 >> 2]; + $0 = HEAP32[$2 + 28 >> 2]; + $1 = HEAP32[$2 + 32 >> 2]; + HEAP32[$5 + 152 >> 2] = $0; + HEAP32[$5 + 156 >> 2] = $1; + $0 = HEAP32[$5 + 260 >> 2]; + $1 = HEAP32[$5 + 256 >> 2]; + HEAP32[$5 + 144 >> 2] = $1; + HEAP32[$5 + 148 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 136 | 0, $5 + 144 | 0, $5 + 152 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 124 | 0, $5 + 144 | 0, $5 + 276 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 136 | 0, $5 + 124 | 0), + HEAPF32[wasm2js_i32$0 + 132 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 132 >> 2] > Math_fround(0)) { + break label$1; + } + } + HEAP8[$5 + 184 | 0] = 0; + HEAP8[$5 + 186 | 0] = 0; + HEAP32[HEAP32[$5 + 300 >> 2] + 60 >> 2] = 1; + HEAP32[HEAP32[$5 + 300 >> 2] + 56 >> 2] = 0; + b2Vec2__SetZero_28_29(HEAP32[$5 + 300 >> 2] + 40 | 0); + $1 = HEAP32[$5 + 180 >> 2]; + $0 = HEAP32[$5 + 176 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 300 >> 2]; + HEAP32[$0 + 48 >> 2] = $2; + HEAP32[$0 + 52 >> 2] = $1; + HEAP32[HEAP32[$5 + 300 >> 2] + 16 >> 2] = 0; + $0 = HEAP32[$5 + 300 >> 2]; + $1 = HEAPU8[$5 + 184 | 0] | HEAPU8[$5 + 185 | 0] << 8 | (HEAPU8[$5 + 186 | 0] << 16 | HEAPU8[$5 + 187 | 0] << 24); + HEAP8[$0 + 16 | 0] = $1; + HEAP8[$0 + 17 | 0] = $1 >>> 8; + HEAP8[$0 + 18 | 0] = $1 >>> 16; + HEAP8[$0 + 19 | 0] = $1 >>> 24; + $2 = HEAP32[$5 + 288 >> 2]; + $1 = HEAP32[$2 + 12 >> 2]; + $0 = HEAP32[$2 + 16 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 300 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + break label$1; + } + if (HEAPF32[$5 + 212 >> 2] <= Math_fround(0)) { + $1 = HEAP32[$5 + 252 >> 2]; + $0 = HEAP32[$5 + 248 >> 2]; + HEAP32[$5 + 112 >> 2] = $0; + HEAP32[$5 + 116 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 104 | 0, $5 + 276 | 0, $5 + 112 | 0); + $0 = $5 + 104 | 0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $0), + HEAPF32[wasm2js_i32$0 + 100 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 100 >> 2] > Math_fround(HEAPF32[$5 + 188 >> 2] * HEAPF32[$5 + 188 >> 2])) { + break label$1; + } + if (HEAP8[HEAP32[$5 + 296 >> 2] + 44 | 0] & 1) { + $2 = HEAP32[$5 + 296 >> 2]; + $1 = HEAP32[$2 + 36 >> 2]; + $0 = HEAP32[$2 + 40 >> 2]; + HEAP32[$5 + 88 >> 2] = $1; + HEAP32[$5 + 92 >> 2] = $0; + $1 = HEAP32[$5 + 252 >> 2]; + $0 = HEAP32[$5 + 248 >> 2]; + HEAP32[$5 + 80 >> 2] = $0; + HEAP32[$5 + 84 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 72 | 0, $5 + 88 | 0, $5 + 80 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 60 | 0, $5 + 276 | 0, $5 + 80 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 72 | 0, $5 + 60 | 0), + HEAPF32[wasm2js_i32$0 + 68 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 68 >> 2] > Math_fround(0)) { + break label$1; + } + } + HEAP8[$5 + 184 | 0] = 1; + HEAP8[$5 + 186 | 0] = 0; + HEAP32[HEAP32[$5 + 300 >> 2] + 60 >> 2] = 1; + HEAP32[HEAP32[$5 + 300 >> 2] + 56 >> 2] = 0; + b2Vec2__SetZero_28_29(HEAP32[$5 + 300 >> 2] + 40 | 0); + $0 = HEAP32[$5 + 116 >> 2]; + $1 = HEAP32[$5 + 112 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 300 >> 2]; + HEAP32[$1 + 48 >> 2] = $2; + HEAP32[$1 + 52 >> 2] = $0; + HEAP32[HEAP32[$5 + 300 >> 2] + 16 >> 2] = 0; + $0 = HEAP32[$5 + 300 >> 2]; + $1 = HEAPU8[$5 + 184 | 0] | HEAPU8[$5 + 185 | 0] << 8 | (HEAPU8[$5 + 186 | 0] << 16 | HEAPU8[$5 + 187 | 0] << 24); + HEAP8[$0 + 16 | 0] = $1; + HEAP8[$0 + 17 | 0] = $1 >>> 8; + HEAP8[$0 + 18 | 0] = $1 >>> 16; + HEAP8[$0 + 19 | 0] = $1 >>> 24; + $2 = HEAP32[$5 + 288 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$2 + 16 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 300 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + break label$1; + } + $0 = $5 + 240 | 0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $0), + HEAPF32[wasm2js_i32$0 + 56 >> 2] = wasm2js_f32$0; + if (!(HEAPF32[$5 + 56 >> 2] > Math_fround(0))) { + __assert_fail(8107, 5896, 141, 9628); + wasm2js_trap(); + } + $6 = HEAPF32[$5 + 56 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($5 + 32 | 0, HEAPF32[$5 + 212 >> 2], $5 + 256 | 0); + operator__28float_2c_20b2Vec2_20const__29($5 + 24 | 0, HEAPF32[$5 + 200 >> 2], $5 + 248 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($5 + 40 | 0, $5 + 32 | 0, $5 + 24 | 0); + operator__28float_2c_20b2Vec2_20const__29($5 + 48 | 0, Math_fround(Math_fround(1) / $6), $5 + 40 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 16 | 0, $5 + 276 | 0, $5 + 48 | 0); + $0 = $5 + 16 | 0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $0), + HEAPF32[wasm2js_i32$0 + 12 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 12 >> 2] > Math_fround(HEAPF32[$5 + 188 >> 2] * HEAPF32[$5 + 188 >> 2])) { + break label$1; + } + if (HEAPF32[$5 + 228 >> 2] < Math_fround(0)) { + b2Vec2__Set_28float_2c_20float_29($5 + 232 | 0, Math_fround(-HEAPF32[$5 + 232 >> 2]), Math_fround(-HEAPF32[$5 + 236 >> 2])); + } + b2Vec2__Normalize_28_29($5 + 232 | 0); + HEAP8[$5 + 184 | 0] = 0; + HEAP8[$5 + 186 | 0] = 1; + HEAP32[HEAP32[$5 + 300 >> 2] + 60 >> 2] = 1; + HEAP32[HEAP32[$5 + 300 >> 2] + 56 >> 2] = 1; + $0 = HEAP32[$5 + 236 >> 2]; + $1 = HEAP32[$5 + 232 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 300 >> 2]; + HEAP32[$1 + 40 >> 2] = $2; + HEAP32[$1 + 44 >> 2] = $0; + $1 = HEAP32[$5 + 260 >> 2]; + $0 = HEAP32[$5 + 256 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 300 >> 2]; + HEAP32[$0 + 48 >> 2] = $2; + HEAP32[$0 + 52 >> 2] = $1; + HEAP32[HEAP32[$5 + 300 >> 2] + 16 >> 2] = 0; + $0 = HEAP32[$5 + 300 >> 2]; + $1 = HEAPU8[$5 + 184 | 0] | HEAPU8[$5 + 185 | 0] << 8 | (HEAPU8[$5 + 186 | 0] << 16 | HEAPU8[$5 + 187 | 0] << 24); + HEAP8[$0 + 16 | 0] = $1; + HEAP8[$0 + 17 | 0] = $1 >>> 8; + HEAP8[$0 + 18 | 0] = $1 >>> 16; + HEAP8[$0 + 19 | 0] = $1 >>> 24; + $2 = HEAP32[$5 + 288 >> 2]; + $1 = HEAP32[$2 + 12 >> 2]; + $0 = HEAP32[$2 + 16 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 300 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + } + __stack_pointer = $5 + 304 | 0; +} + +function b2CollidePolygons_28b2Manifold__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $5 = __stack_pointer - 352 | 0; + __stack_pointer = $5; + HEAP32[$5 + 348 >> 2] = $0; + HEAP32[$5 + 344 >> 2] = $1; + HEAP32[$5 + 340 >> 2] = $2; + HEAP32[$5 + 336 >> 2] = $3; + HEAP32[$5 + 332 >> 2] = $4; + HEAP32[HEAP32[$5 + 348 >> 2] + 60 >> 2] = 0; + HEAPF32[$5 + 328 >> 2] = HEAPF32[HEAP32[$5 + 344 >> 2] + 8 >> 2] + HEAPF32[HEAP32[$5 + 336 >> 2] + 8 >> 2]; + HEAP32[$5 + 324 >> 2] = 0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2FindMaxSeparation_28int__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__29($5 + 324 | 0, HEAP32[$5 + 344 >> 2], HEAP32[$5 + 340 >> 2], HEAP32[$5 + 336 >> 2], HEAP32[$5 + 332 >> 2]), + HEAPF32[wasm2js_i32$0 + 320 >> 2] = wasm2js_f32$0; + label$1: { + if (HEAPF32[$5 + 320 >> 2] > HEAPF32[$5 + 328 >> 2]) { + break label$1; + } + HEAP32[$5 + 316 >> 2] = 0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2FindMaxSeparation_28int__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__29($5 + 316 | 0, HEAP32[$5 + 336 >> 2], HEAP32[$5 + 332 >> 2], HEAP32[$5 + 344 >> 2], HEAP32[$5 + 340 >> 2]), + HEAPF32[wasm2js_i32$0 + 312 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 312 >> 2] > HEAPF32[$5 + 328 >> 2]) { + break label$1; + } + b2Transform__b2Transform_28_29($5 + 288 | 0); + b2Transform__b2Transform_28_29($5 + 272 | 0); + HEAPF32[$5 + 260 >> 2] = .0005000000237487257; + label$2: { + if (HEAPF32[$5 + 312 >> 2] > Math_fround(HEAPF32[$5 + 320 >> 2] + Math_fround(.0005000000237487257))) { + HEAP32[$5 + 308 >> 2] = HEAP32[$5 + 336 >> 2]; + HEAP32[$5 + 304 >> 2] = HEAP32[$5 + 344 >> 2]; + $2 = HEAP32[$5 + 332 >> 2]; + $1 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$5 + 296 >> 2] = $1; + HEAP32[$5 + 300 >> 2] = $0; + $1 = HEAP32[$2 + 4 >> 2]; + $0 = HEAP32[$2 >> 2]; + HEAP32[$5 + 288 >> 2] = $0; + HEAP32[$5 + 292 >> 2] = $1; + $2 = HEAP32[$5 + 340 >> 2]; + $1 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$5 + 280 >> 2] = $1; + HEAP32[$5 + 284 >> 2] = $0; + $1 = HEAP32[$2 + 4 >> 2]; + $0 = HEAP32[$2 >> 2]; + HEAP32[$5 + 272 >> 2] = $0; + HEAP32[$5 + 276 >> 2] = $1; + HEAP32[$5 + 268 >> 2] = HEAP32[$5 + 316 >> 2]; + HEAP32[HEAP32[$5 + 348 >> 2] + 56 >> 2] = 2; + HEAP8[$5 + 267 | 0] = 1; + break label$2; + } + HEAP32[$5 + 308 >> 2] = HEAP32[$5 + 344 >> 2]; + HEAP32[$5 + 304 >> 2] = HEAP32[$5 + 336 >> 2]; + $2 = HEAP32[$5 + 340 >> 2]; + $1 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$5 + 296 >> 2] = $1; + HEAP32[$5 + 300 >> 2] = $0; + $1 = HEAP32[$2 + 4 >> 2]; + $0 = HEAP32[$2 >> 2]; + HEAP32[$5 + 288 >> 2] = $0; + HEAP32[$5 + 292 >> 2] = $1; + $2 = HEAP32[$5 + 332 >> 2]; + $1 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$5 + 280 >> 2] = $1; + HEAP32[$5 + 284 >> 2] = $0; + $1 = HEAP32[$2 + 4 >> 2]; + $0 = HEAP32[$2 >> 2]; + HEAP32[$5 + 272 >> 2] = $0; + HEAP32[$5 + 276 >> 2] = $1; + HEAP32[$5 + 268 >> 2] = HEAP32[$5 + 324 >> 2]; + HEAP32[HEAP32[$5 + 348 >> 2] + 56 >> 2] = 1; + HEAP8[$5 + 267 | 0] = 0; + } + $0 = $5 + 224 | 0; + $1 = $0 + 24 | 0; + while (1) { + b2ClipVertex__b2ClipVertex_28_29($0); + $0 = $0 + 12 | 0; + if (($1 | 0) != ($0 | 0)) { + continue; + } + break; + } + b2FindIncidentEdge_28b2ClipVertex__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__2c_20int_2c_20b2PolygonShape_20const__2c_20b2Transform_20const__29($5 + 224 | 0, HEAP32[$5 + 308 >> 2], $5 + 288 | 0, HEAP32[$5 + 268 >> 2], HEAP32[$5 + 304 >> 2], $5 + 272 | 0); + HEAP32[$5 + 220 >> 2] = HEAP32[HEAP32[$5 + 308 >> 2] + 148 >> 2]; + HEAP32[$5 + 216 >> 2] = HEAP32[$5 + 308 >> 2] + 20; + HEAP32[$5 + 212 >> 2] = HEAP32[$5 + 268 >> 2]; + if (HEAP32[$5 + 220 >> 2] > (HEAP32[$5 + 268 >> 2] + 1 | 0)) { + $0 = HEAP32[$5 + 268 >> 2] + 1 | 0; + } else { + $0 = 0; + } + HEAP32[$5 + 208 >> 2] = $0; + $2 = HEAP32[$5 + 216 >> 2] + (HEAP32[$5 + 212 >> 2] << 3) | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + HEAP32[$5 + 200 >> 2] = $1; + HEAP32[$5 + 204 >> 2] = $0; + $2 = HEAP32[$5 + 216 >> 2] + (HEAP32[$5 + 208 >> 2] << 3) | 0; + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + HEAP32[$5 + 192 >> 2] = $0; + HEAP32[$5 + 196 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 184 | 0, $5 + 192 | 0, $5 + 200 | 0); + b2Vec2__Normalize_28_29($5 + 184 | 0); + b2Cross_28b2Vec2_20const__2c_20float_29($5 + 176 | 0, $5 + 184 | 0, Math_fround(1)); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($5 + 160 | 0, $5 + 200 | 0, $5 + 192 | 0); + operator__28float_2c_20b2Vec2_20const__29($5 + 168 | 0, Math_fround(.5), $5 + 160 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 152 | 0, $5 + 296 | 0, $5 + 184 | 0); + b2Cross_28b2Vec2_20const__2c_20float_29($5 + 144 | 0, $5 + 152 | 0, Math_fround(1)); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 136 | 0, $5 + 288 | 0, $5 + 200 | 0); + $0 = HEAP32[$5 + 140 >> 2]; + $1 = HEAP32[$5 + 136 >> 2]; + HEAP32[$5 + 200 >> 2] = $1; + HEAP32[$5 + 204 >> 2] = $0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 128 | 0, $5 + 288 | 0, $5 + 192 | 0); + $1 = HEAP32[$5 + 132 >> 2]; + $0 = HEAP32[$5 + 128 >> 2]; + HEAP32[$5 + 192 >> 2] = $0; + HEAP32[$5 + 196 >> 2] = $1; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 144 | 0, $5 + 200 | 0), + HEAPF32[wasm2js_i32$0 + 124 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(-b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 152 | 0, $5 + 200 | 0)) + HEAPF32[$5 + 328 >> 2]), + HEAPF32[wasm2js_i32$0 + 120 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 152 | 0, $5 + 192 | 0) + HEAPF32[$5 + 328 >> 2]), + HEAPF32[wasm2js_i32$0 + 116 >> 2] = wasm2js_f32$0; + $0 = $5 + 80 | 0; + $1 = $0 + 24 | 0; + while (1) { + b2ClipVertex__b2ClipVertex_28_29($0); + $0 = $0 + 12 | 0; + if (($1 | 0) != ($0 | 0)) { + continue; + } + break; + } + $0 = $5 + 48 | 0; + $1 = $0 + 24 | 0; + while (1) { + b2ClipVertex__b2ClipVertex_28_29($0); + $0 = $0 + 12 | 0; + if (($1 | 0) != ($0 | 0)) { + continue; + } + break; + } + b2Vec2__operator__28_29_20const($5 + 36 | 0, $5 + 152 | 0); + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2ClipSegmentToLine_28b2ClipVertex__2c_20b2ClipVertex_20const__2c_20b2Vec2_20const__2c_20float_2c_20int_29($5 + 80 | 0, $5 + 224 | 0, $5 + 36 | 0, HEAPF32[$5 + 120 >> 2], HEAP32[$5 + 212 >> 2]), + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + if (HEAP32[$5 + 44 >> 2] < 2) { + break label$1; + } + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2ClipSegmentToLine_28b2ClipVertex__2c_20b2ClipVertex_20const__2c_20b2Vec2_20const__2c_20float_2c_20int_29($5 + 48 | 0, $5 + 80 | 0, $5 + 152 | 0, HEAPF32[$5 + 116 >> 2], HEAP32[$5 + 208 >> 2]), + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + if (HEAP32[$5 + 44 >> 2] < 2) { + break label$1; + } + $0 = HEAP32[$5 + 180 >> 2]; + $1 = HEAP32[$5 + 176 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 348 >> 2]; + HEAP32[$1 + 40 >> 2] = $2; + HEAP32[$1 + 44 >> 2] = $0; + $1 = HEAP32[$5 + 172 >> 2]; + $0 = HEAP32[$5 + 168 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 348 >> 2]; + HEAP32[$0 + 48 >> 2] = $2; + HEAP32[$0 + 52 >> 2] = $1; + HEAP32[$5 + 32 >> 2] = 0; + HEAP32[$5 + 28 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 28 >> 2] < 2) { + wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 144 | 0, ($5 + 48 | 0) + Math_imul(HEAP32[$5 + 28 >> 2], 12) | 0) - HEAPF32[$5 + 124 >> 2]), + HEAPF32[wasm2js_i32$0 + 24 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 24 >> 2] <= HEAPF32[$5 + 328 >> 2]) { + HEAP32[$5 + 20 >> 2] = HEAP32[$5 + 348 >> 2] + Math_imul(HEAP32[$5 + 32 >> 2], 20); + b2MulT_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 12 | 0, $5 + 272 | 0, ($5 + 48 | 0) + Math_imul(HEAP32[$5 + 28 >> 2], 12) | 0); + $0 = HEAP32[$5 + 16 >> 2]; + $1 = HEAP32[$5 + 12 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 20 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAP32[HEAP32[$5 + 20 >> 2] + 16 >> 2] = HEAP32[(($5 + 48 | 0) + Math_imul(HEAP32[$5 + 28 >> 2], 12) | 0) + 8 >> 2]; + if (HEAPU8[$5 + 267 | 0]) { + $0 = HEAP32[$5 + 20 >> 2]; + HEAP32[$5 + 8 >> 2] = HEAPU8[$0 + 16 | 0] | HEAPU8[$0 + 17 | 0] << 8 | (HEAPU8[$0 + 18 | 0] << 16 | HEAPU8[$0 + 19 | 0] << 24); + HEAP8[HEAP32[$5 + 20 >> 2] + 16 | 0] = HEAPU8[$5 + 9 | 0]; + HEAP8[HEAP32[$5 + 20 >> 2] + 17 | 0] = HEAPU8[$5 + 8 | 0]; + HEAP8[HEAP32[$5 + 20 >> 2] + 18 | 0] = HEAPU8[$5 + 11 | 0]; + HEAP8[HEAP32[$5 + 20 >> 2] + 19 | 0] = HEAPU8[$5 + 10 | 0]; + } + HEAP32[$5 + 32 >> 2] = HEAP32[$5 + 32 >> 2] + 1; + } + HEAP32[$5 + 28 >> 2] = HEAP32[$5 + 28 >> 2] + 1; + continue; + } + break; + } + HEAP32[HEAP32[$5 + 348 >> 2] + 60 >> 2] = HEAP32[$5 + 32 >> 2]; + } + __stack_pointer = $5 + 352 | 0; +} + +function b2PrismaticJoint__InitVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 256 | 0; + __stack_pointer = $2; + HEAP32[$2 + 252 >> 2] = $0; + HEAP32[$2 + 248 >> 2] = $1; + $3 = HEAP32[$2 + 252 >> 2]; + HEAP32[$3 + 144 >> 2] = HEAP32[HEAP32[$3 + 48 >> 2] + 8 >> 2]; + HEAP32[$3 + 148 >> 2] = HEAP32[HEAP32[$3 + 52 >> 2] + 8 >> 2]; + $4 = HEAP32[$3 + 48 >> 2]; + $0 = HEAP32[$4 + 28 >> 2]; + $1 = HEAP32[$4 + 32 >> 2]; + HEAP32[$3 + 152 >> 2] = $0; + HEAP32[$3 + 156 >> 2] = $1; + $4 = HEAP32[$3 + 52 >> 2]; + $1 = HEAP32[$4 + 28 >> 2]; + $0 = HEAP32[$4 + 32 >> 2]; + HEAP32[$3 + 160 >> 2] = $1; + HEAP32[$3 + 164 >> 2] = $0; + HEAPF32[$3 + 168 >> 2] = HEAPF32[HEAP32[$3 + 48 >> 2] + 120 >> 2]; + HEAPF32[$3 + 172 >> 2] = HEAPF32[HEAP32[$3 + 52 >> 2] + 120 >> 2]; + HEAPF32[$3 + 176 >> 2] = HEAPF32[HEAP32[$3 + 48 >> 2] + 128 >> 2]; + HEAPF32[$3 + 180 >> 2] = HEAPF32[HEAP32[$3 + 52 >> 2] + 128 >> 2]; + $4 = HEAP32[HEAP32[$2 + 248 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 240 >> 2] = $0; + HEAP32[$2 + 244 >> 2] = $1; + HEAPF32[$2 + 236 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 224 >> 2] = $1; + HEAP32[$2 + 228 >> 2] = $0; + HEAPF32[$2 + 220 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 248 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 208 >> 2] = $0; + HEAP32[$2 + 212 >> 2] = $1; + HEAPF32[$2 + 204 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 192 >> 2] = $1; + HEAP32[$2 + 196 >> 2] = $0; + HEAPF32[$2 + 188 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 180 | 0, HEAPF32[$2 + 236 >> 2]); + b2Rot__b2Rot_28float_29($2 + 172 | 0, HEAPF32[$2 + 204 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 156 | 0, $3 + 68 | 0, $3 + 152 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 164 | 0, $2 + 180 | 0, $2 + 156 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 140 | 0, $3 + 76 | 0, $3 + 160 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 148 | 0, $2 + 172 | 0, $2 + 140 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $2 + 208 | 0, $2 + 240 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 124 | 0, $2 + 116 | 0, $2 + 148 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 132 | 0, $2 + 124 | 0, $2 + 164 | 0); + HEAPF32[$2 + 112 >> 2] = HEAPF32[$3 + 168 >> 2]; + HEAPF32[$2 + 108 >> 2] = HEAPF32[$3 + 172 >> 2]; + HEAPF32[$2 + 104 >> 2] = HEAPF32[$3 + 176 >> 2]; + HEAPF32[$2 + 100 >> 2] = HEAPF32[$3 + 180 >> 2]; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 92 | 0, $2 + 180 | 0, $3 + 84 | 0); + $1 = HEAP32[$2 + 96 >> 2]; + $0 = HEAP32[$2 + 92 >> 2]; + HEAP32[$3 + 184 >> 2] = $0; + HEAP32[$3 + 188 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 84 | 0, $2 + 132 | 0, $2 + 164 | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $3 + 184 | 0), + HEAPF32[wasm2js_i32$0 + 208 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 148 | 0, $3 + 184 | 0), + HEAPF32[wasm2js_i32$0 + 212 >> 2] = wasm2js_f32$0; + HEAPF32[$3 + 236 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 100 >> 2] * HEAPF32[$3 + 212 >> 2]) * HEAPF32[$3 + 212 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 104 >> 2] * HEAPF32[$3 + 208 >> 2]) * HEAPF32[$3 + 208 >> 2]) + Math_fround(HEAPF32[$2 + 112 >> 2] + HEAPF32[$2 + 108 >> 2])); + if (HEAPF32[$3 + 236 >> 2] > Math_fround(0)) { + HEAPF32[$3 + 236 >> 2] = Math_fround(1) / HEAPF32[$3 + 236 >> 2]; + } + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 76 | 0, $2 + 180 | 0, $3 + 92 | 0); + $0 = HEAP32[$2 + 80 >> 2]; + $1 = HEAP32[$2 + 76 >> 2]; + HEAP32[$3 + 192 >> 2] = $1; + HEAP32[$3 + 196 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 68 | 0, $2 + 132 | 0, $2 + 164 | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 68 | 0, $3 + 192 | 0), + HEAPF32[wasm2js_i32$0 + 200 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 148 | 0, $3 + 192 | 0), + HEAPF32[wasm2js_i32$0 + 204 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 64 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 100 >> 2] * HEAPF32[$3 + 204 >> 2]) * HEAPF32[$3 + 204 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 104 >> 2] * HEAPF32[$3 + 200 >> 2]) * HEAPF32[$3 + 200 >> 2]) + Math_fround(HEAPF32[$2 + 112 >> 2] + HEAPF32[$2 + 108 >> 2])); + HEAPF32[$2 + 60 >> 2] = Math_fround(HEAPF32[$2 + 104 >> 2] * HEAPF32[$3 + 200 >> 2]) + Math_fround(HEAPF32[$2 + 100 >> 2] * HEAPF32[$3 + 204 >> 2]); + HEAPF32[$2 + 56 >> 2] = HEAPF32[$2 + 104 >> 2] + HEAPF32[$2 + 100 >> 2]; + if (HEAPF32[$2 + 56 >> 2] == Math_fround(0)) { + HEAPF32[$2 + 56 >> 2] = 1; + } + b2Vec2__Set_28float_2c_20float_29($3 + 216 | 0, HEAPF32[$2 + 64 >> 2], HEAPF32[$2 + 60 >> 2]); + b2Vec2__Set_28float_2c_20float_29($3 + 224 | 0, HEAPF32[$2 + 60 >> 2], HEAPF32[$2 + 56 >> 2]); + label$3: { + if (HEAP8[$3 + 140 | 0] & 1) { + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 184 | 0, $2 + 132 | 0), + HEAPF32[wasm2js_i32$0 + 232 >> 2] = wasm2js_f32$0; + break label$3; + } + HEAPF32[$3 + 116 >> 2] = 0; + HEAPF32[$3 + 120 >> 2] = 0; + } + if (!(HEAP8[$3 + 141 | 0] & 1)) { + HEAPF32[$3 + 112 >> 2] = 0; + } + label$6: { + if (HEAP8[HEAP32[$2 + 248 >> 2] + 20 | 0] & 1) { + b2Vec2__operator___28float_29($3 + 104 | 0, HEAPF32[HEAP32[$2 + 248 >> 2] + 8 >> 2]); + HEAPF32[$3 + 112 >> 2] = HEAPF32[$3 + 112 >> 2] * HEAPF32[HEAP32[$2 + 248 >> 2] + 8 >> 2]; + HEAPF32[$3 + 116 >> 2] = HEAPF32[$3 + 116 >> 2] * HEAPF32[HEAP32[$2 + 248 >> 2] + 8 >> 2]; + HEAPF32[$3 + 120 >> 2] = HEAPF32[$3 + 120 >> 2] * HEAPF32[HEAP32[$2 + 248 >> 2] + 8 >> 2]; + HEAPF32[$2 + 52 >> 2] = Math_fround(HEAPF32[$3 + 112 >> 2] + HEAPF32[$3 + 116 >> 2]) - HEAPF32[$3 + 120 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 36 | 0, HEAPF32[$3 + 104 >> 2], $3 + 192 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 28 | 0, HEAPF32[$2 + 52 >> 2], $3 + 184 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 44 | 0, $2 + 36 | 0, $2 + 28 | 0); + HEAPF32[$2 + 24 >> 2] = Math_fround(HEAPF32[$2 + 52 >> 2] * HEAPF32[$3 + 208 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 104 >> 2] * HEAPF32[$3 + 200 >> 2]) + HEAPF32[$3 + 108 >> 2]); + HEAPF32[$2 + 20 >> 2] = Math_fround(HEAPF32[$2 + 52 >> 2] * HEAPF32[$3 + 212 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 104 >> 2] * HEAPF32[$3 + 204 >> 2]) + HEAPF32[$3 + 108 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$2 + 112 >> 2], $2 + 44 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 224 | 0, $2 + 12 | 0); + HEAPF32[$2 + 220 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 104 >> 2]) * HEAPF32[$2 + 24 >> 2]) + HEAPF32[$2 + 220 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$2 + 108 >> 2], $2 + 44 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 192 | 0, $2 + 4 | 0); + HEAPF32[$2 + 188 >> 2] = Math_fround(HEAPF32[$2 + 100 >> 2] * HEAPF32[$2 + 20 >> 2]) + HEAPF32[$2 + 188 >> 2]; + break label$6; + } + b2Vec2__SetZero_28_29($3 + 104 | 0); + HEAPF32[$3 + 112 >> 2] = 0; + HEAPF32[$3 + 116 >> 2] = 0; + HEAPF32[$3 + 120 >> 2] = 0; + } + $1 = HEAP32[$2 + 228 >> 2]; + $0 = HEAP32[$2 + 224 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 144 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 220 >> 2]; + $0 = HEAP32[$2 + 196 >> 2]; + $1 = HEAP32[$2 + 192 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 148 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 188 >> 2]; + __stack_pointer = $2 + 256 | 0; +} + +function b2WheelJoint__SolvePositionConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 336 | 0; + __stack_pointer = $2; + HEAP32[$2 + 332 >> 2] = $0; + HEAP32[$2 + 328 >> 2] = $1; + $3 = HEAP32[$2 + 332 >> 2]; + $4 = HEAP32[HEAP32[$2 + 328 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 320 >> 2] = $1; + HEAP32[$2 + 324 >> 2] = $0; + HEAPF32[$2 + 316 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 328 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 328 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 304 >> 2] = $0; + HEAP32[$2 + 308 >> 2] = $1; + HEAPF32[$2 + 300 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 328 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$2 + 296 >> 2] = 0; + if (HEAP8[$3 + 140 | 0] & 1) { + b2Rot__b2Rot_28float_29($2 + 288 | 0, HEAPF32[$2 + 316 >> 2]); + b2Rot__b2Rot_28float_29($2 + 280 | 0, HEAPF32[$2 + 300 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 264 | 0, $3 + 68 | 0, $3 + 160 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 272 | 0, $2 + 288 | 0, $2 + 264 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 248 | 0, $3 + 76 | 0, $3 + 168 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 256 | 0, $2 + 280 | 0, $2 + 248 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 224 | 0, $2 + 304 | 0, $2 + 320 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 232 | 0, $2 + 224 | 0, $2 + 256 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 240 | 0, $2 + 232 | 0, $2 + 272 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 216 | 0, $2 + 288 | 0, $3 + 84 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 204 | 0, $2 + 240 | 0, $2 + 272 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 204 | 0, $3 + 192 | 0), + HEAPF32[wasm2js_i32$0 + 212 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 256 | 0, $3 + 192 | 0), + HEAPF32[wasm2js_i32$0 + 200 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 196 >> 2] = 0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 216 | 0, $2 + 240 | 0), + HEAPF32[wasm2js_i32$0 + 192 >> 2] = wasm2js_f32$0; + label$2: { + if (float_20b2Abs_float__28float_29(Math_fround(HEAPF32[$3 + 128 >> 2] - HEAPF32[$3 + 124 >> 2])) < Math_fround(.009999999776482582)) { + HEAPF32[$2 + 196 >> 2] = HEAPF32[$2 + 192 >> 2]; + break label$2; + } + label$4: { + if (HEAPF32[$2 + 192 >> 2] <= HEAPF32[$3 + 124 >> 2]) { + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Min_float__28float_2c_20float_29(Math_fround(HEAPF32[$2 + 192 >> 2] - HEAPF32[$3 + 124 >> 2]), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 196 >> 2] = wasm2js_f32$0; + break label$4; + } + if (HEAPF32[$2 + 192 >> 2] >= HEAPF32[$3 + 128 >> 2]) { + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(Math_fround(HEAPF32[$2 + 192 >> 2] - HEAPF32[$3 + 128 >> 2]), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 196 >> 2] = wasm2js_f32$0; + } + } + } + if (HEAPF32[$2 + 196 >> 2] != Math_fround(0)) { + HEAPF32[$2 + 188 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 188 >> 2] * HEAPF32[$2 + 200 >> 2]) * HEAPF32[$2 + 200 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$3 + 184 >> 2] * HEAPF32[$2 + 212 >> 2]) * HEAPF32[$2 + 212 >> 2]) + Math_fround(HEAPF32[$3 + 176 >> 2] + HEAPF32[$3 + 180 >> 2])); + HEAPF32[$2 + 184 >> 2] = 0; + if (HEAPF32[$2 + 188 >> 2] != Math_fround(0)) { + HEAPF32[$2 + 184 >> 2] = Math_fround(-HEAPF32[$2 + 196 >> 2]) / HEAPF32[$2 + 188 >> 2]; + } + operator__28float_2c_20b2Vec2_20const__29($2 + 176 | 0, HEAPF32[$2 + 184 >> 2], $2 + 216 | 0); + HEAPF32[$2 + 172 >> 2] = HEAPF32[$2 + 184 >> 2] * HEAPF32[$2 + 212 >> 2]; + HEAPF32[$2 + 168 >> 2] = HEAPF32[$2 + 184 >> 2] * HEAPF32[$2 + 200 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 160 | 0, HEAPF32[$3 + 176 >> 2], $2 + 176 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 320 | 0, $2 + 160 | 0); + HEAPF32[$2 + 316 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 184 >> 2]) * HEAPF32[$2 + 172 >> 2]) + HEAPF32[$2 + 316 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 152 | 0, HEAPF32[$3 + 180 >> 2], $2 + 176 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 304 | 0, $2 + 152 | 0); + HEAPF32[$2 + 300 >> 2] = Math_fround(HEAPF32[$3 + 188 >> 2] * HEAPF32[$2 + 168 >> 2]) + HEAPF32[$2 + 300 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Abs_float__28float_29(HEAPF32[$2 + 196 >> 2]), + HEAPF32[wasm2js_i32$0 + 296 >> 2] = wasm2js_f32$0; + } + } + b2Rot__b2Rot_28float_29($2 + 144 | 0, HEAPF32[$2 + 316 >> 2]); + b2Rot__b2Rot_28float_29($2 + 136 | 0, HEAPF32[$2 + 300 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 120 | 0, $3 + 68 | 0, $3 + 160 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 128 | 0, $2 + 144 | 0, $2 + 120 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 104 | 0, $3 + 76 | 0, $3 + 168 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 112 | 0, $2 + 136 | 0, $2 + 104 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 80 | 0, $2 + 304 | 0, $2 + 320 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 88 | 0, $2 + 80 | 0, $2 + 112 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 96 | 0, $2 + 88 | 0, $2 + 128 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 72 | 0, $2 + 144 | 0, $3 + 92 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 60 | 0, $2 + 96 | 0, $2 + 128 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 60 | 0, $2 + 72 | 0), + HEAPF32[wasm2js_i32$0 + 68 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 112 | 0, $2 + 72 | 0), + HEAPF32[wasm2js_i32$0 + 56 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 96 | 0, $2 + 72 | 0), + HEAPF32[wasm2js_i32$0 + 52 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 48 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 188 >> 2] * HEAPF32[$3 + 220 >> 2]) * HEAPF32[$3 + 220 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$3 + 184 >> 2] * HEAPF32[$3 + 216 >> 2]) * HEAPF32[$3 + 216 >> 2]) + Math_fround(HEAPF32[$3 + 176 >> 2] + HEAPF32[$3 + 180 >> 2])); + HEAPF32[$2 + 44 >> 2] = 0; + if (HEAPF32[$2 + 48 >> 2] != Math_fround(0)) { + HEAPF32[$2 + 44 >> 2] = Math_fround(-HEAPF32[$2 + 52 >> 2]) / HEAPF32[$2 + 48 >> 2]; + } + operator__28float_2c_20b2Vec2_20const__29($2 + 36 | 0, HEAPF32[$2 + 44 >> 2], $2 + 72 | 0); + HEAPF32[$2 + 32 >> 2] = HEAPF32[$2 + 44 >> 2] * HEAPF32[$2 + 68 >> 2]; + HEAPF32[$2 + 28 >> 2] = HEAPF32[$2 + 44 >> 2] * HEAPF32[$2 + 56 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, HEAPF32[$3 + 176 >> 2], $2 + 36 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 320 | 0, $2 + 20 | 0); + HEAPF32[$2 + 316 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 184 >> 2]) * HEAPF32[$2 + 32 >> 2]) + HEAPF32[$2 + 316 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$3 + 180 >> 2], $2 + 36 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 304 | 0, $2 + 12 | 0); + HEAPF32[$2 + 300 >> 2] = Math_fround(HEAPF32[$3 + 188 >> 2] * HEAPF32[$2 + 28 >> 2]) + HEAPF32[$2 + 300 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(HEAPF32[$2 + 296 >> 2], float_20b2Abs_float__28float_29(HEAPF32[$2 + 52 >> 2])), + HEAPF32[wasm2js_i32$0 + 296 >> 2] = wasm2js_f32$0; + $0 = HEAP32[$2 + 324 >> 2]; + $1 = HEAP32[$2 + 320 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 328 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 328 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 152 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 316 >> 2]; + $1 = HEAP32[$2 + 308 >> 2]; + $0 = HEAP32[$2 + 304 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 328 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 328 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 156 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 300 >> 2]; + __stack_pointer = $2 + 336 | 0; + return HEAPF32[$2 + 296 >> 2] <= Math_fround(.004999999888241291) | 0; +} + +function b2DynamicTree__InsertLeaf_28int_29($0, $1) { + var $2 = 0, $3 = Math_fround(0), $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $2 = __stack_pointer - 176 | 0; + __stack_pointer = $2; + HEAP32[$2 + 172 >> 2] = $0; + HEAP32[$2 + 168 >> 2] = $1; + $1 = HEAP32[$2 + 172 >> 2]; + HEAP32[$1 + 24 >> 2] = HEAP32[$1 + 24 >> 2] + 1; + label$1: { + if (HEAP32[$1 >> 2] == -1) { + HEAP32[$1 >> 2] = HEAP32[$2 + 168 >> 2]; + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$1 >> 2], 40) | 0) + 20 >> 2] = -1; + break label$1; + } + $4 = HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 168 >> 2], 40) | 0; + $5 = HEAP32[$4 + 8 >> 2]; + $0 = HEAP32[$4 + 12 >> 2]; + HEAP32[$2 + 160 >> 2] = $5; + HEAP32[$2 + 164 >> 2] = $0; + $5 = HEAP32[$4 + 4 >> 2]; + $0 = HEAP32[$4 >> 2]; + HEAP32[$2 + 152 >> 2] = $0; + HEAP32[$2 + 156 >> 2] = $5; + HEAP32[$2 + 148 >> 2] = HEAP32[$1 >> 2]; + while (1) { + label$4: { + if (b2TreeNode__IsLeaf_28_29_20const(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 148 >> 2], 40) | 0) & 1) { + break label$4; + } + HEAP32[$2 + 144 >> 2] = HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 148 >> 2], 40) | 0) + 24 >> 2]; + HEAP32[$2 + 140 >> 2] = HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 148 >> 2], 40) | 0) + 28 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2AABB__GetPerimeter_28_29_20const(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 148 >> 2], 40) | 0), + HEAPF32[wasm2js_i32$0 + 136 >> 2] = wasm2js_f32$0; + b2AABB__b2AABB_28_29($2 + 120 | 0); + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29($2 + 120 | 0, HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 148 >> 2], 40) | 0, $2 + 152 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2AABB__GetPerimeter_28_29_20const($2 + 120 | 0), + HEAPF32[wasm2js_i32$0 + 116 >> 2] = wasm2js_f32$0; + $3 = HEAPF32[$2 + 116 >> 2]; + HEAPF32[$2 + 112 >> 2] = $3 + $3; + $3 = Math_fround(HEAPF32[$2 + 116 >> 2] - HEAPF32[$2 + 136 >> 2]); + HEAPF32[$2 + 108 >> 2] = $3 + $3; + label$5: { + if (b2TreeNode__IsLeaf_28_29_20const(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 144 >> 2], 40) | 0) & 1) { + b2AABB__b2AABB_28_29($2 + 88 | 0); + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29($2 + 88 | 0, $2 + 152 | 0, HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 144 >> 2], 40) | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(b2AABB__GetPerimeter_28_29_20const($2 + 88 | 0) + HEAPF32[$2 + 108 >> 2]), + HEAPF32[wasm2js_i32$0 + 104 >> 2] = wasm2js_f32$0; + break label$5; + } + b2AABB__b2AABB_28_29($2 + 72 | 0); + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29($2 + 72 | 0, $2 + 152 | 0, HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 144 >> 2], 40) | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2AABB__GetPerimeter_28_29_20const(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 144 >> 2], 40) | 0), + HEAPF32[wasm2js_i32$0 + 68 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2AABB__GetPerimeter_28_29_20const($2 + 72 | 0), + HEAPF32[wasm2js_i32$0 + 64 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 104 >> 2] = Math_fround(HEAPF32[$2 + 64 >> 2] - HEAPF32[$2 + 68 >> 2]) + HEAPF32[$2 + 108 >> 2]; + } + label$7: { + if (b2TreeNode__IsLeaf_28_29_20const(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 140 >> 2], 40) | 0) & 1) { + b2AABB__b2AABB_28_29($2 + 44 | 0); + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29($2 + 44 | 0, $2 + 152 | 0, HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 140 >> 2], 40) | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(b2AABB__GetPerimeter_28_29_20const($2 + 44 | 0) + HEAPF32[$2 + 108 >> 2]), + HEAPF32[wasm2js_i32$0 + 60 >> 2] = wasm2js_f32$0; + break label$7; + } + b2AABB__b2AABB_28_29($2 + 28 | 0); + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29($2 + 28 | 0, $2 + 152 | 0, HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 140 >> 2], 40) | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2AABB__GetPerimeter_28_29_20const(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 140 >> 2], 40) | 0), + HEAPF32[wasm2js_i32$0 + 24 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2AABB__GetPerimeter_28_29_20const($2 + 28 | 0), + HEAPF32[wasm2js_i32$0 + 20 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 60 >> 2] = Math_fround(HEAPF32[$2 + 20 >> 2] - HEAPF32[$2 + 24 >> 2]) + HEAPF32[$2 + 108 >> 2]; + } + if (!(!(HEAPF32[$2 + 112 >> 2] < HEAPF32[$2 + 104 >> 2]) | !(HEAPF32[$2 + 112 >> 2] < HEAPF32[$2 + 60 >> 2]))) { + break label$4; + } + label$10: { + if (HEAPF32[$2 + 104 >> 2] < HEAPF32[$2 + 60 >> 2]) { + HEAP32[$2 + 148 >> 2] = HEAP32[$2 + 144 >> 2]; + break label$10; + } + HEAP32[$2 + 148 >> 2] = HEAP32[$2 + 140 >> 2]; + } + continue; + } + break; + } + HEAP32[$2 + 16 >> 2] = HEAP32[$2 + 148 >> 2]; + HEAP32[$2 + 12 >> 2] = HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 16 >> 2], 40) | 0) + 20 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2DynamicTree__AllocateNode_28_29($1), HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 20 >> 2] = HEAP32[$2 + 12 >> 2]; + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 16 >> 2] = 0; + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0, $2 + 152 | 0, HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 16 >> 2], 40) | 0); + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 32 >> 2] = HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 16 >> 2], 40) | 0) + 32 >> 2] + 1; + label$12: { + if (HEAP32[$2 + 12 >> 2] != -1) { + label$14: { + if (HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 12 >> 2], 40) | 0) + 24 >> 2] == HEAP32[$2 + 16 >> 2]) { + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 12 >> 2], 40) | 0) + 24 >> 2] = HEAP32[$2 + 8 >> 2]; + break label$14; + } + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 12 >> 2], 40) | 0) + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + } + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 24 >> 2] = HEAP32[$2 + 16 >> 2]; + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 28 >> 2] = HEAP32[$2 + 168 >> 2]; + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 16 >> 2], 40) | 0) + 20 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 168 >> 2], 40) | 0) + 20 >> 2] = HEAP32[$2 + 8 >> 2]; + break label$12; + } + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 24 >> 2] = HEAP32[$2 + 16 >> 2]; + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 28 >> 2] = HEAP32[$2 + 168 >> 2]; + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 16 >> 2], 40) | 0) + 20 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 168 >> 2], 40) | 0) + 20 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[$1 >> 2] = HEAP32[$2 + 8 >> 2]; + } + HEAP32[$2 + 148 >> 2] = HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 168 >> 2], 40) | 0) + 20 >> 2]; + while (1) { + if (HEAP32[$2 + 148 >> 2] == -1) { + break label$1; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2DynamicTree__Balance_28int_29($1, HEAP32[$2 + 148 >> 2]), + HEAP32[wasm2js_i32$0 + 148 >> 2] = wasm2js_i32$1; + HEAP32[$2 + 4 >> 2] = HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 148 >> 2], 40) | 0) + 24 >> 2]; + HEAP32[$2 >> 2] = HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 148 >> 2], 40) | 0) + 28 >> 2]; + if (HEAP32[$2 + 4 >> 2] == -1) { + __assert_fail(12427, 5965, 327, 8018); + wasm2js_trap(); + } + if (HEAP32[$2 >> 2] == -1) { + __assert_fail(12412, 5965, 328, 8018); + wasm2js_trap(); + } else { + $0 = int_20b2Max_int__28int_2c_20int_29(HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 4 >> 2], 40) | 0) + 32 >> 2], HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 >> 2], 40) | 0) + 32 >> 2]); + HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 148 >> 2], 40) | 0) + 32 >> 2] = $0 + 1; + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 148 >> 2], 40) | 0, HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 4 >> 2], 40) | 0, HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 >> 2], 40) | 0); + HEAP32[$2 + 148 >> 2] = HEAP32[(HEAP32[$1 + 4 >> 2] + Math_imul(HEAP32[$2 + 148 >> 2], 40) | 0) + 20 >> 2]; + continue; + } + } + } + __stack_pointer = $2 + 176 | 0; +} + +function b2DynamicTree__Balance_28int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 80 | 0; + __stack_pointer = $2; + HEAP32[$2 + 72 >> 2] = $0; + HEAP32[$2 + 68 >> 2] = $1; + $0 = HEAP32[$2 + 72 >> 2]; + if (HEAP32[$2 + 68 >> 2] == -1) { + __assert_fail(12401, 5965, 402, 10013); + wasm2js_trap(); + } + HEAP32[$2 + 64 >> 2] = HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 68 >> 2], 40); + label$2: { + if (!(!(b2TreeNode__IsLeaf_28_29_20const(HEAP32[$2 + 64 >> 2]) & 1) & HEAP32[HEAP32[$2 + 64 >> 2] + 32 >> 2] >= 2)) { + HEAP32[$2 + 76 >> 2] = HEAP32[$2 + 68 >> 2]; + break label$2; + } + HEAP32[$2 + 60 >> 2] = HEAP32[HEAP32[$2 + 64 >> 2] + 24 >> 2]; + HEAP32[$2 + 56 >> 2] = HEAP32[HEAP32[$2 + 64 >> 2] + 28 >> 2]; + if (!(HEAP32[$2 + 60 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 60 >> 2] >= 0)) { + __assert_fail(1576, 5965, 412, 10013); + wasm2js_trap(); + } + if (!(HEAP32[$2 + 56 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 56 >> 2] >= 0)) { + __assert_fail(1545, 5965, 413, 10013); + wasm2js_trap(); + } + HEAP32[$2 + 52 >> 2] = HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 60 >> 2], 40); + HEAP32[$2 + 48 >> 2] = HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 56 >> 2], 40); + HEAP32[$2 + 44 >> 2] = HEAP32[HEAP32[$2 + 48 >> 2] + 32 >> 2] - HEAP32[HEAP32[$2 + 52 >> 2] + 32 >> 2]; + if (HEAP32[$2 + 44 >> 2] > 1) { + HEAP32[$2 + 40 >> 2] = HEAP32[HEAP32[$2 + 48 >> 2] + 24 >> 2]; + HEAP32[$2 + 36 >> 2] = HEAP32[HEAP32[$2 + 48 >> 2] + 28 >> 2]; + HEAP32[$2 + 32 >> 2] = HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 40 >> 2], 40); + HEAP32[$2 + 28 >> 2] = HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 36 >> 2], 40); + if (!(HEAP32[$2 + 40 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 40 >> 2] >= 0)) { + __assert_fail(1452, 5965, 427, 10013); + wasm2js_trap(); + } + if (!(HEAP32[$2 + 36 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 36 >> 2] >= 0)) { + __assert_fail(1421, 5965, 428, 10013); + wasm2js_trap(); + } + HEAP32[HEAP32[$2 + 48 >> 2] + 24 >> 2] = HEAP32[$2 + 68 >> 2]; + HEAP32[HEAP32[$2 + 48 >> 2] + 20 >> 2] = HEAP32[HEAP32[$2 + 64 >> 2] + 20 >> 2]; + HEAP32[HEAP32[$2 + 64 >> 2] + 20 >> 2] = HEAP32[$2 + 56 >> 2]; + label$14: { + if (HEAP32[HEAP32[$2 + 48 >> 2] + 20 >> 2] != -1) { + if (HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[HEAP32[$2 + 48 >> 2] + 20 >> 2], 40) | 0) + 24 >> 2] == HEAP32[$2 + 68 >> 2]) { + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[HEAP32[$2 + 48 >> 2] + 20 >> 2], 40) | 0) + 24 >> 2] = HEAP32[$2 + 56 >> 2]; + break label$14; + } + if (HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[HEAP32[$2 + 48 >> 2] + 20 >> 2], 40) | 0) + 28 >> 2] != HEAP32[$2 + 68 >> 2]) { + __assert_fail(11187, 5965, 444, 10013); + wasm2js_trap(); + } + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[HEAP32[$2 + 48 >> 2] + 20 >> 2], 40) | 0) + 28 >> 2] = HEAP32[$2 + 56 >> 2]; + break label$14; + } + HEAP32[$0 >> 2] = HEAP32[$2 + 56 >> 2]; + } + label$18: { + if (HEAP32[HEAP32[$2 + 32 >> 2] + 32 >> 2] > HEAP32[HEAP32[$2 + 28 >> 2] + 32 >> 2]) { + HEAP32[HEAP32[$2 + 48 >> 2] + 28 >> 2] = HEAP32[$2 + 40 >> 2]; + HEAP32[HEAP32[$2 + 64 >> 2] + 28 >> 2] = HEAP32[$2 + 36 >> 2]; + HEAP32[HEAP32[$2 + 28 >> 2] + 20 >> 2] = HEAP32[$2 + 68 >> 2]; + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$2 + 64 >> 2], HEAP32[$2 + 52 >> 2], HEAP32[$2 + 28 >> 2]); + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$2 + 48 >> 2], HEAP32[$2 + 64 >> 2], HEAP32[$2 + 32 >> 2]); + $0 = int_20b2Max_int__28int_2c_20int_29(HEAP32[HEAP32[$2 + 52 >> 2] + 32 >> 2], HEAP32[HEAP32[$2 + 28 >> 2] + 32 >> 2]); + HEAP32[HEAP32[$2 + 64 >> 2] + 32 >> 2] = $0 + 1; + $0 = int_20b2Max_int__28int_2c_20int_29(HEAP32[HEAP32[$2 + 64 >> 2] + 32 >> 2], HEAP32[HEAP32[$2 + 32 >> 2] + 32 >> 2]); + HEAP32[HEAP32[$2 + 48 >> 2] + 32 >> 2] = $0 + 1; + break label$18; + } + HEAP32[HEAP32[$2 + 48 >> 2] + 28 >> 2] = HEAP32[$2 + 36 >> 2]; + HEAP32[HEAP32[$2 + 64 >> 2] + 28 >> 2] = HEAP32[$2 + 40 >> 2]; + HEAP32[HEAP32[$2 + 32 >> 2] + 20 >> 2] = HEAP32[$2 + 68 >> 2]; + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$2 + 64 >> 2], HEAP32[$2 + 52 >> 2], HEAP32[$2 + 32 >> 2]); + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$2 + 48 >> 2], HEAP32[$2 + 64 >> 2], HEAP32[$2 + 28 >> 2]); + $0 = int_20b2Max_int__28int_2c_20int_29(HEAP32[HEAP32[$2 + 52 >> 2] + 32 >> 2], HEAP32[HEAP32[$2 + 32 >> 2] + 32 >> 2]); + HEAP32[HEAP32[$2 + 64 >> 2] + 32 >> 2] = $0 + 1; + $0 = int_20b2Max_int__28int_2c_20int_29(HEAP32[HEAP32[$2 + 64 >> 2] + 32 >> 2], HEAP32[HEAP32[$2 + 28 >> 2] + 32 >> 2]); + HEAP32[HEAP32[$2 + 48 >> 2] + 32 >> 2] = $0 + 1; + } + HEAP32[$2 + 76 >> 2] = HEAP32[$2 + 56 >> 2]; + break label$2; + } + if (HEAP32[$2 + 44 >> 2] < -1) { + HEAP32[$2 + 24 >> 2] = HEAP32[HEAP32[$2 + 52 >> 2] + 24 >> 2]; + HEAP32[$2 + 20 >> 2] = HEAP32[HEAP32[$2 + 52 >> 2] + 28 >> 2]; + HEAP32[$2 + 16 >> 2] = HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 24 >> 2], 40); + HEAP32[$2 + 12 >> 2] = HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 20 >> 2], 40); + if (!(HEAP32[$2 + 24 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 24 >> 2] >= 0)) { + __assert_fail(1514, 5965, 487, 10013); + wasm2js_trap(); + } + if (!(HEAP32[$2 + 20 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 20 >> 2] >= 0)) { + __assert_fail(1483, 5965, 488, 10013); + wasm2js_trap(); + } + HEAP32[HEAP32[$2 + 52 >> 2] + 24 >> 2] = HEAP32[$2 + 68 >> 2]; + HEAP32[HEAP32[$2 + 52 >> 2] + 20 >> 2] = HEAP32[HEAP32[$2 + 64 >> 2] + 20 >> 2]; + HEAP32[HEAP32[$2 + 64 >> 2] + 20 >> 2] = HEAP32[$2 + 60 >> 2]; + label$25: { + if (HEAP32[HEAP32[$2 + 52 >> 2] + 20 >> 2] != -1) { + if (HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[HEAP32[$2 + 52 >> 2] + 20 >> 2], 40) | 0) + 24 >> 2] == HEAP32[$2 + 68 >> 2]) { + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[HEAP32[$2 + 52 >> 2] + 20 >> 2], 40) | 0) + 24 >> 2] = HEAP32[$2 + 60 >> 2]; + break label$25; + } + if (HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[HEAP32[$2 + 52 >> 2] + 20 >> 2], 40) | 0) + 28 >> 2] != HEAP32[$2 + 68 >> 2]) { + __assert_fail(11219, 5965, 504, 10013); + wasm2js_trap(); + } + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[HEAP32[$2 + 52 >> 2] + 20 >> 2], 40) | 0) + 28 >> 2] = HEAP32[$2 + 60 >> 2]; + break label$25; + } + HEAP32[$0 >> 2] = HEAP32[$2 + 60 >> 2]; + } + label$29: { + if (HEAP32[HEAP32[$2 + 16 >> 2] + 32 >> 2] > HEAP32[HEAP32[$2 + 12 >> 2] + 32 >> 2]) { + HEAP32[HEAP32[$2 + 52 >> 2] + 28 >> 2] = HEAP32[$2 + 24 >> 2]; + HEAP32[HEAP32[$2 + 64 >> 2] + 24 >> 2] = HEAP32[$2 + 20 >> 2]; + HEAP32[HEAP32[$2 + 12 >> 2] + 20 >> 2] = HEAP32[$2 + 68 >> 2]; + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$2 + 64 >> 2], HEAP32[$2 + 48 >> 2], HEAP32[$2 + 12 >> 2]); + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$2 + 52 >> 2], HEAP32[$2 + 64 >> 2], HEAP32[$2 + 16 >> 2]); + $0 = int_20b2Max_int__28int_2c_20int_29(HEAP32[HEAP32[$2 + 48 >> 2] + 32 >> 2], HEAP32[HEAP32[$2 + 12 >> 2] + 32 >> 2]); + HEAP32[HEAP32[$2 + 64 >> 2] + 32 >> 2] = $0 + 1; + $0 = int_20b2Max_int__28int_2c_20int_29(HEAP32[HEAP32[$2 + 64 >> 2] + 32 >> 2], HEAP32[HEAP32[$2 + 16 >> 2] + 32 >> 2]); + HEAP32[HEAP32[$2 + 52 >> 2] + 32 >> 2] = $0 + 1; + break label$29; + } + HEAP32[HEAP32[$2 + 52 >> 2] + 28 >> 2] = HEAP32[$2 + 20 >> 2]; + HEAP32[HEAP32[$2 + 64 >> 2] + 24 >> 2] = HEAP32[$2 + 24 >> 2]; + HEAP32[HEAP32[$2 + 16 >> 2] + 20 >> 2] = HEAP32[$2 + 68 >> 2]; + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$2 + 64 >> 2], HEAP32[$2 + 48 >> 2], HEAP32[$2 + 16 >> 2]); + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$2 + 52 >> 2], HEAP32[$2 + 64 >> 2], HEAP32[$2 + 12 >> 2]); + $0 = int_20b2Max_int__28int_2c_20int_29(HEAP32[HEAP32[$2 + 48 >> 2] + 32 >> 2], HEAP32[HEAP32[$2 + 16 >> 2] + 32 >> 2]); + HEAP32[HEAP32[$2 + 64 >> 2] + 32 >> 2] = $0 + 1; + $0 = int_20b2Max_int__28int_2c_20int_29(HEAP32[HEAP32[$2 + 64 >> 2] + 32 >> 2], HEAP32[HEAP32[$2 + 12 >> 2] + 32 >> 2]); + HEAP32[HEAP32[$2 + 52 >> 2] + 32 >> 2] = $0 + 1; + } + HEAP32[$2 + 76 >> 2] = HEAP32[$2 + 60 >> 2]; + break label$2; + } + HEAP32[$2 + 76 >> 2] = HEAP32[$2 + 68 >> 2]; + } + __stack_pointer = $2 + 80 | 0; + return HEAP32[$2 + 76 >> 2]; +} + +function b2SeparationFunction__Initialize_28b2SimplexCache_20const__2c_20b2DistanceProxy_20const__2c_20b2Sweep_20const__2c_20b2DistanceProxy_20const__2c_20b2Sweep_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6) { + var $7 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 336 | 0; + __stack_pointer = $7; + HEAP32[$7 + 328 >> 2] = $0; + HEAP32[$7 + 324 >> 2] = $1; + HEAP32[$7 + 320 >> 2] = $2; + HEAP32[$7 + 316 >> 2] = $3; + HEAP32[$7 + 312 >> 2] = $4; + HEAP32[$7 + 308 >> 2] = $5; + HEAPF32[$7 + 304 >> 2] = $6; + $2 = HEAP32[$7 + 328 >> 2]; + HEAP32[$2 >> 2] = HEAP32[$7 + 320 >> 2]; + HEAP32[$2 + 4 >> 2] = HEAP32[$7 + 312 >> 2]; + HEAP32[$7 + 300 >> 2] = HEAPU16[HEAP32[$7 + 324 >> 2] + 4 >> 1]; + if (!(HEAP32[$7 + 300 >> 2] < 3 & HEAP32[$7 + 300 >> 2] > 0)) { + __assert_fail(12024, 5216, 56, 8606); + wasm2js_trap(); + } + $3 = HEAP32[$7 + 316 >> 2]; + $0 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + $4 = $0; + $0 = $2; + HEAP32[$0 + 8 >> 2] = $4; + HEAP32[$0 + 12 >> 2] = $1; + HEAP32[$0 + 40 >> 2] = HEAP32[$3 + 32 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $1 = HEAP32[$3 + 24 >> 2]; + $4 = $1; + $1 = $2; + HEAP32[$1 + 32 >> 2] = $4; + HEAP32[$1 + 36 >> 2] = $0; + $1 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 16 >> 2]; + $4 = $0; + $0 = $2; + HEAP32[$0 + 24 >> 2] = $4; + HEAP32[$0 + 28 >> 2] = $1; + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$3 + 8 >> 2]; + $3 = $1; + $1 = $2; + HEAP32[$1 + 16 >> 2] = $3; + HEAP32[$1 + 20 >> 2] = $0; + $3 = HEAP32[$7 + 308 >> 2]; + $0 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + $4 = $0; + $0 = $2; + HEAP32[$0 + 44 >> 2] = $4; + HEAP32[$0 + 48 >> 2] = $1; + HEAP32[$0 + 76 >> 2] = HEAP32[$3 + 32 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $1 = HEAP32[$3 + 24 >> 2]; + $4 = $1; + $1 = $2; + HEAP32[$1 + 68 >> 2] = $4; + HEAP32[$1 + 72 >> 2] = $0; + $1 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 16 >> 2]; + $4 = $0; + $0 = $2; + HEAP32[$0 + 60 >> 2] = $4; + HEAP32[$0 + 64 >> 2] = $1; + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$3 + 8 >> 2]; + $3 = $1; + $1 = $2; + HEAP32[$1 + 52 >> 2] = $3; + HEAP32[$1 + 56 >> 2] = $0; + b2Transform__b2Transform_28_29($7 + 284 | 0); + b2Transform__b2Transform_28_29($7 + 268 | 0); + b2Sweep__GetTransform_28b2Transform__2c_20float_29_20const($1 + 8 | 0, $7 + 284 | 0, HEAPF32[$7 + 304 >> 2]); + b2Sweep__GetTransform_28b2Transform__2c_20float_29_20const($1 + 44 | 0, $7 + 268 | 0, HEAPF32[$7 + 304 >> 2]); + label$3: { + if (HEAP32[$7 + 300 >> 2] == 1) { + HEAP32[$2 + 80 >> 2] = 0; + $3 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 >> 2], HEAPU8[HEAP32[$7 + 324 >> 2] + 6 | 0]); + $0 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + HEAP32[$7 + 256 >> 2] = $0; + HEAP32[$7 + 260 >> 2] = $1; + $3 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 + 4 >> 2], HEAPU8[HEAP32[$7 + 324 >> 2] + 9 | 0]); + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + HEAP32[$7 + 248 >> 2] = $1; + HEAP32[$7 + 252 >> 2] = $0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($7 + 240 | 0, $7 + 284 | 0, $7 + 256 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($7 + 232 | 0, $7 + 268 | 0, $7 + 248 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($7 + 224 | 0, $7 + 232 | 0, $7 + 240 | 0); + $1 = HEAP32[$7 + 228 >> 2]; + $0 = HEAP32[$7 + 224 >> 2]; + $3 = $0; + $0 = $2; + HEAP32[$0 + 92 >> 2] = $3; + HEAP32[$0 + 96 >> 2] = $1; + wasm2js_i32$0 = $7, wasm2js_f32$0 = b2Vec2__Normalize_28_29($0 + 92 | 0), HEAPF32[wasm2js_i32$0 + 220 >> 2] = wasm2js_f32$0; + HEAPF32[$7 + 332 >> 2] = HEAPF32[$7 + 220 >> 2]; + break label$3; + } + if (HEAPU8[HEAP32[$7 + 324 >> 2] + 6 | 0] == HEAPU8[HEAP32[$7 + 324 >> 2] + 7 | 0]) { + HEAP32[$2 + 80 >> 2] = 2; + $3 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$7 + 312 >> 2], HEAPU8[HEAP32[$7 + 324 >> 2] + 9 | 0]); + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + HEAP32[$7 + 208 >> 2] = $1; + HEAP32[$7 + 212 >> 2] = $0; + $3 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$7 + 312 >> 2], HEAPU8[HEAP32[$7 + 324 >> 2] + 10 | 0]); + $0 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + HEAP32[$7 + 200 >> 2] = $0; + HEAP32[$7 + 204 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($7 + 184 | 0, $7 + 200 | 0, $7 + 208 | 0); + b2Cross_28b2Vec2_20const__2c_20float_29($7 + 192 | 0, $7 + 184 | 0, Math_fround(1)); + $0 = HEAP32[$7 + 196 >> 2]; + $1 = HEAP32[$7 + 192 >> 2]; + $3 = $1; + $1 = $2; + HEAP32[$1 + 92 >> 2] = $3; + HEAP32[$1 + 96 >> 2] = $0; + b2Vec2__Normalize_28_29($1 + 92 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($7 + 176 | 0, $7 + 276 | 0, $1 + 92 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($7 + 160 | 0, $7 + 208 | 0, $7 + 200 | 0); + operator__28float_2c_20b2Vec2_20const__29($7 + 168 | 0, Math_fround(.5), $7 + 160 | 0); + $1 = HEAP32[$7 + 172 >> 2]; + $0 = HEAP32[$7 + 168 >> 2]; + $3 = $0; + $0 = $2; + HEAP32[$0 + 84 >> 2] = $3; + HEAP32[$0 + 88 >> 2] = $1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($7 + 152 | 0, $7 + 268 | 0, $0 + 84 | 0); + $3 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$7 + 320 >> 2], HEAPU8[HEAP32[$7 + 324 >> 2] + 6 | 0]); + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + HEAP32[$7 + 144 >> 2] = $1; + HEAP32[$7 + 148 >> 2] = $0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($7 + 136 | 0, $7 + 284 | 0, $7 + 144 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($7 + 124 | 0, $7 + 136 | 0, $7 + 152 | 0); + wasm2js_i32$0 = $7, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($7 + 124 | 0, $7 + 176 | 0), + HEAPF32[wasm2js_i32$0 + 132 >> 2] = wasm2js_f32$0; + if (HEAPF32[$7 + 132 >> 2] < Math_fround(0)) { + b2Vec2__operator__28_29_20const($7 + 116 | 0, $2 + 92 | 0); + $1 = HEAP32[$7 + 120 >> 2]; + $0 = HEAP32[$7 + 116 >> 2]; + $3 = $0; + $0 = $2; + HEAP32[$0 + 92 >> 2] = $3; + HEAP32[$0 + 96 >> 2] = $1; + HEAPF32[$7 + 132 >> 2] = -HEAPF32[$7 + 132 >> 2]; + } + HEAPF32[$7 + 332 >> 2] = HEAPF32[$7 + 132 >> 2]; + break label$3; + } + HEAP32[$2 + 80 >> 2] = 1; + $3 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 >> 2], HEAPU8[HEAP32[$7 + 324 >> 2] + 6 | 0]); + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + HEAP32[$7 + 104 >> 2] = $1; + HEAP32[$7 + 108 >> 2] = $0; + $3 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 >> 2], HEAPU8[HEAP32[$7 + 324 >> 2] + 7 | 0]); + $0 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + HEAP32[$7 + 96 >> 2] = $0; + HEAP32[$7 + 100 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($7 + 80 | 0, $7 + 96 | 0, $7 + 104 | 0); + b2Cross_28b2Vec2_20const__2c_20float_29($7 + 88 | 0, $7 + 80 | 0, Math_fround(1)); + $0 = HEAP32[$7 + 92 >> 2]; + $1 = HEAP32[$7 + 88 >> 2]; + $3 = $1; + $1 = $2; + HEAP32[$1 + 92 >> 2] = $3; + HEAP32[$1 + 96 >> 2] = $0; + b2Vec2__Normalize_28_29($1 + 92 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($7 + 72 | 0, $7 + 292 | 0, $1 + 92 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($7 + 56 | 0, $7 + 104 | 0, $7 + 96 | 0); + operator__28float_2c_20b2Vec2_20const__29($7 - -64 | 0, Math_fround(.5), $7 + 56 | 0); + $1 = HEAP32[$7 + 68 >> 2]; + $0 = HEAP32[$7 + 64 >> 2]; + $3 = $0; + $0 = $2; + HEAP32[$0 + 84 >> 2] = $3; + HEAP32[$0 + 88 >> 2] = $1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($7 + 48 | 0, $7 + 284 | 0, $0 + 84 | 0); + $3 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$0 + 4 >> 2], HEAPU8[HEAP32[$7 + 324 >> 2] + 9 | 0]); + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + HEAP32[$7 + 40 >> 2] = $1; + HEAP32[$7 + 44 >> 2] = $0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($7 + 32 | 0, $7 + 268 | 0, $7 + 40 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($7 + 20 | 0, $7 + 32 | 0, $7 + 48 | 0); + wasm2js_i32$0 = $7, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($7 + 20 | 0, $7 + 72 | 0), + HEAPF32[wasm2js_i32$0 + 28 >> 2] = wasm2js_f32$0; + if (HEAPF32[$7 + 28 >> 2] < Math_fround(0)) { + b2Vec2__operator__28_29_20const($7 + 12 | 0, $2 + 92 | 0); + $1 = HEAP32[$7 + 16 >> 2]; + $0 = HEAP32[$7 + 12 >> 2]; + $3 = $0; + $0 = $2; + HEAP32[$0 + 92 >> 2] = $3; + HEAP32[$0 + 96 >> 2] = $1; + HEAPF32[$7 + 28 >> 2] = -HEAPF32[$7 + 28 >> 2]; + } + HEAPF32[$7 + 332 >> 2] = HEAPF32[$7 + 28 >> 2]; + } + __stack_pointer = $7 + 336 | 0; + return HEAPF32[$7 + 332 >> 2]; +} + +function b2WeldJoint__SolvePositionConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 320 | 0; + __stack_pointer = $2; + HEAP32[$2 + 316 >> 2] = $0; + HEAP32[$2 + 312 >> 2] = $1; + $3 = HEAP32[$2 + 316 >> 2]; + $4 = HEAP32[HEAP32[$2 + 312 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 116 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 304 >> 2] = $0; + HEAP32[$2 + 308 >> 2] = $1; + HEAPF32[$2 + 300 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 312 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 116 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 312 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 288 >> 2] = $1; + HEAP32[$2 + 292 >> 2] = $0; + HEAPF32[$2 + 284 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 312 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 276 | 0, HEAPF32[$2 + 300 >> 2]); + b2Rot__b2Rot_28float_29($2 + 268 | 0, HEAPF32[$2 + 284 >> 2]); + HEAPF32[$2 + 264 >> 2] = HEAPF32[$3 + 156 >> 2]; + HEAPF32[$2 + 260 >> 2] = HEAPF32[$3 + 160 >> 2]; + HEAPF32[$2 + 256 >> 2] = HEAPF32[$3 + 164 >> 2]; + HEAPF32[$2 + 252 >> 2] = HEAPF32[$3 + 168 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 236 | 0, $3 + 80 | 0, $3 + 140 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 244 | 0, $2 + 276 | 0, $2 + 236 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 220 | 0, $3 + 88 | 0, $3 + 148 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 228 | 0, $2 + 268 | 0, $2 + 220 | 0); + b2Mat33__b2Mat33_28_29($2 + 176 | 0); + HEAPF32[$2 + 176 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 232 >> 2] * HEAPF32[$2 + 232 >> 2]) * HEAPF32[$2 + 252 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 248 >> 2] * HEAPF32[$2 + 248 >> 2]) * HEAPF32[$2 + 256 >> 2]) + Math_fround(HEAPF32[$2 + 264 >> 2] + HEAPF32[$2 + 260 >> 2])); + HEAPF32[$2 + 188 >> 2] = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 248 >> 2]) * HEAPF32[$2 + 244 >> 2]) * HEAPF32[$2 + 256 >> 2]) - Math_fround(Math_fround(HEAPF32[$2 + 232 >> 2] * HEAPF32[$2 + 228 >> 2]) * HEAPF32[$2 + 252 >> 2]); + HEAPF32[$2 + 200 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 248 >> 2]) * HEAPF32[$2 + 256 >> 2]) - Math_fround(HEAPF32[$2 + 232 >> 2] * HEAPF32[$2 + 252 >> 2]); + HEAPF32[$2 + 180 >> 2] = HEAPF32[$2 + 188 >> 2]; + HEAPF32[$2 + 192 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 228 >> 2] * HEAPF32[$2 + 228 >> 2]) * HEAPF32[$2 + 252 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 244 >> 2] * HEAPF32[$2 + 244 >> 2]) * HEAPF32[$2 + 256 >> 2]) + Math_fround(HEAPF32[$2 + 264 >> 2] + HEAPF32[$2 + 260 >> 2])); + HEAPF32[$2 + 204 >> 2] = Math_fround(HEAPF32[$2 + 244 >> 2] * HEAPF32[$2 + 256 >> 2]) + Math_fround(HEAPF32[$2 + 228 >> 2] * HEAPF32[$2 + 252 >> 2]); + HEAPF32[$2 + 184 >> 2] = HEAPF32[$2 + 200 >> 2]; + HEAPF32[$2 + 196 >> 2] = HEAPF32[$2 + 204 >> 2]; + HEAPF32[$2 + 208 >> 2] = HEAPF32[$2 + 256 >> 2] + HEAPF32[$2 + 252 >> 2]; + label$1: { + if (HEAPF32[$3 + 68 >> 2] > Math_fround(0)) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 152 | 0, $2 + 288 | 0, $2 + 228 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 160 | 0, $2 + 152 | 0, $2 + 304 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 168 | 0, $2 + 160 | 0, $2 + 244 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Vec2__Length_28_29_20const($2 + 168 | 0), + HEAPF32[wasm2js_i32$0 + 216 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 212 >> 2] = 0; + b2Mat33__Solve22_28b2Vec2_20const__29_20const($2 + 136 | 0, $2 + 176 | 0, $2 + 168 | 0); + b2Vec2__operator__28_29_20const($2 + 144 | 0, $2 + 136 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 128 | 0, HEAPF32[$2 + 264 >> 2], $2 + 144 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 304 | 0, $2 + 128 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 256 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 244 | 0, $2 + 144 | 0)) + HEAPF32[$2 + 300 >> 2]), + HEAPF32[wasm2js_i32$0 + 300 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 120 | 0, HEAPF32[$2 + 260 >> 2], $2 + 144 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 288 | 0, $2 + 120 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 252 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 228 | 0, $2 + 144 | 0)) + HEAPF32[$2 + 284 >> 2]), + HEAPF32[wasm2js_i32$0 + 284 >> 2] = wasm2js_f32$0; + break label$1; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 96 | 0, $2 + 288 | 0, $2 + 228 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 104 | 0, $2 + 96 | 0, $2 + 304 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 112 | 0, $2 + 104 | 0, $2 + 244 | 0); + HEAPF32[$2 + 92 >> 2] = Math_fround(HEAPF32[$2 + 284 >> 2] - HEAPF32[$2 + 300 >> 2]) - HEAPF32[$3 + 96 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Vec2__Length_28_29_20const($2 + 112 | 0), + HEAPF32[wasm2js_i32$0 + 216 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Abs_float__28float_29(HEAPF32[$2 + 92 >> 2]), + HEAPF32[wasm2js_i32$0 + 212 >> 2] = wasm2js_f32$0; + b2Vec3__b2Vec3_28float_2c_20float_2c_20float_29($2 + 80 | 0, HEAPF32[$2 + 112 >> 2], HEAPF32[$2 + 116 >> 2], HEAPF32[$2 + 92 >> 2]); + b2Vec3__b2Vec3_28_29($2 - -64 | 0); + label$3: { + if (HEAPF32[$2 + 208 >> 2] > Math_fround(0)) { + b2Mat33__Solve33_28b2Vec3_20const__29_20const($2 + 40 | 0, $2 + 176 | 0, $2 + 80 | 0); + b2Vec3__operator__28_29_20const($2 + 52 | 0, $2 + 40 | 0); + HEAP32[$2 + 72 >> 2] = HEAP32[$2 + 60 >> 2]; + $1 = HEAP32[$2 + 56 >> 2]; + $0 = HEAP32[$2 + 52 >> 2]; + HEAP32[$2 + 64 >> 2] = $0; + HEAP32[$2 + 68 >> 2] = $1; + break label$3; + } + b2Mat33__Solve22_28b2Vec2_20const__29_20const($2 + 24 | 0, $2 + 176 | 0, $2 + 112 | 0); + b2Vec2__operator__28_29_20const($2 + 32 | 0, $2 + 24 | 0); + b2Vec3__Set_28float_2c_20float_2c_20float_29($2 - -64 | 0, HEAPF32[$2 + 32 >> 2], HEAPF32[$2 + 36 >> 2], Math_fround(0)); + } + b2Vec2__b2Vec2_28float_2c_20float_29($2 + 16 | 0, HEAPF32[$2 + 64 >> 2], HEAPF32[$2 + 68 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($2 + 8 | 0, HEAPF32[$2 + 264 >> 2], $2 + 16 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 304 | 0, $2 + 8 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 256 >> 2]) * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 244 | 0, $2 + 16 | 0) + HEAPF32[$2 + 72 >> 2])) + HEAPF32[$2 + 300 >> 2]), + HEAPF32[wasm2js_i32$0 + 300 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2, HEAPF32[$2 + 260 >> 2], $2 + 16 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 288 | 0, $2); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 252 >> 2] * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 228 | 0, $2 + 16 | 0) + HEAPF32[$2 + 72 >> 2])) + HEAPF32[$2 + 284 >> 2]), + HEAPF32[wasm2js_i32$0 + 284 >> 2] = wasm2js_f32$0; + } + $0 = HEAP32[$2 + 308 >> 2]; + $1 = HEAP32[$2 + 304 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 312 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 116 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 312 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 116 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 300 >> 2]; + $1 = HEAP32[$2 + 292 >> 2]; + $0 = HEAP32[$2 + 288 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 312 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 312 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 284 >> 2]; + __stack_pointer = $2 + 320 | 0; + $5 = HEAPF32[$2 + 216 >> 2] <= Math_fround(.004999999888241291) ? HEAPF32[$2 + 212 >> 2] <= Math_fround(.03490658849477768) : $5; + return $5 | 0; +} + +function b2World__Solve_28b2TimeStep_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 176 | 0; + __stack_pointer = $2; + HEAP32[$2 + 172 >> 2] = $0; + HEAP32[$2 + 168 >> 2] = $1; + $0 = HEAP32[$2 + 172 >> 2]; + HEAPF32[$0 + 103008 >> 2] = 0; + HEAPF32[$0 + 103012 >> 2] = 0; + HEAPF32[$0 + 103016 >> 2] = 0; + b2Island__b2Island_28int_2c_20int_2c_20int_2c_20b2StackAllocator__2c_20b2ContactListener__29($2 + 116 | 0, HEAP32[$0 + 102956 >> 2], HEAP32[$0 + 102932 >> 2], HEAP32[$0 + 102960 >> 2], $0 + 68 | 0, HEAP32[$0 + 102940 >> 2]); + HEAP32[$2 + 112 >> 2] = HEAP32[$0 + 102948 >> 2]; + while (1) { + if (HEAP32[$2 + 112 >> 2]) { + $1 = HEAP32[$2 + 112 >> 2]; + HEAP16[$1 + 4 >> 1] = HEAPU16[$1 + 4 >> 1] & -2; + HEAP32[$2 + 112 >> 2] = HEAP32[HEAP32[$2 + 112 >> 2] + 96 >> 2]; + continue; + } + break; + } + HEAP32[$2 + 108 >> 2] = HEAP32[$0 + 102928 >> 2]; + while (1) { + if (HEAP32[$2 + 108 >> 2]) { + $1 = HEAP32[$2 + 108 >> 2]; + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] & -2; + HEAP32[$2 + 108 >> 2] = HEAP32[HEAP32[$2 + 108 >> 2] + 12 >> 2]; + continue; + } + break; + } + HEAP32[$2 + 104 >> 2] = HEAP32[$0 + 102952 >> 2]; + while (1) { + if (HEAP32[$2 + 104 >> 2]) { + HEAP8[HEAP32[$2 + 104 >> 2] + 60 | 0] = 0; + HEAP32[$2 + 104 >> 2] = HEAP32[HEAP32[$2 + 104 >> 2] + 12 >> 2]; + continue; + } + break; + } + HEAP32[$2 + 100 >> 2] = HEAP32[$0 + 102956 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2StackAllocator__Allocate_28int_29($0 + 68 | 0, HEAP32[$2 + 100 >> 2] << 2), + HEAP32[wasm2js_i32$0 + 96 >> 2] = wasm2js_i32$1; + HEAP32[$2 + 92 >> 2] = HEAP32[$0 + 102948 >> 2]; + while (1) { + if (HEAP32[$2 + 92 >> 2]) { + label$9: { + if (HEAP16[HEAP32[$2 + 92 >> 2] + 4 >> 1] & 1) { + break label$9; + } + if (!(b2Body__IsAwake_28_29_20const(HEAP32[$2 + 92 >> 2]) & 1)) { + break label$9; + } + if (!(b2Body__IsEnabled_28_29_20const(HEAP32[$2 + 92 >> 2]) & 1)) { + break label$9; + } + if (!b2Body__GetType_28_29_20const(HEAP32[$2 + 92 >> 2])) { + break label$9; + } + b2Island__Clear_28_29($2 + 116 | 0); + HEAP32[$2 + 88 >> 2] = 0; + $3 = HEAP32[$2 + 92 >> 2]; + $4 = HEAP32[$2 + 96 >> 2]; + $1 = HEAP32[$2 + 88 >> 2]; + HEAP32[$2 + 88 >> 2] = $1 + 1; + HEAP32[($1 << 2) + $4 >> 2] = $3; + $1 = HEAP32[$2 + 92 >> 2]; + HEAP16[$1 + 4 >> 1] = HEAPU16[$1 + 4 >> 1] | 1; + while (1) { + if (HEAP32[$2 + 88 >> 2] > 0) { + $3 = HEAP32[$2 + 96 >> 2]; + $1 = HEAP32[$2 + 88 >> 2] - 1 | 0; + HEAP32[$2 + 88 >> 2] = $1; + HEAP32[$2 + 84 >> 2] = HEAP32[($1 << 2) + $3 >> 2]; + if (!(b2Body__IsEnabled_28_29_20const(HEAP32[$2 + 84 >> 2]) & 1)) { + __assert_fail(8720, 6161, 453, 8692); + wasm2js_trap(); + } + b2Island__Add_28b2Body__29($2 + 116 | 0, HEAP32[$2 + 84 >> 2]); + if (!b2Body__GetType_28_29_20const(HEAP32[$2 + 84 >> 2])) { + continue; + } + $1 = HEAP32[$2 + 84 >> 2]; + HEAP16[$1 + 4 >> 1] = HEAPU16[$1 + 4 >> 1] | 2; + HEAP32[$2 + 80 >> 2] = HEAP32[HEAP32[$2 + 84 >> 2] + 112 >> 2]; + while (1) { + if (HEAP32[$2 + 80 >> 2]) { + HEAP32[$2 + 76 >> 2] = HEAP32[HEAP32[$2 + 80 >> 2] + 4 >> 2]; + label$16: { + if (HEAP32[HEAP32[$2 + 76 >> 2] + 4 >> 2] & 1) { + break label$16; + } + if (!(b2Contact__IsEnabled_28_29_20const(HEAP32[$2 + 76 >> 2]) & 1)) { + break label$16; + } + if (!(b2Contact__IsTouching_28_29_20const(HEAP32[$2 + 76 >> 2]) & 1)) { + break label$16; + } + HEAP8[$2 + 75 | 0] = HEAP8[HEAP32[HEAP32[$2 + 76 >> 2] + 48 >> 2] + 38 | 0] & 1; + HEAP8[$2 + 74 | 0] = HEAP8[HEAP32[HEAP32[$2 + 76 >> 2] + 52 >> 2] + 38 | 0] & 1; + if (HEAP8[$2 + 75 | 0] & 1 | HEAP8[$2 + 74 | 0] & 1) { + break label$16; + } + b2Island__Add_28b2Contact__29($2 + 116 | 0, HEAP32[$2 + 76 >> 2]); + $1 = HEAP32[$2 + 76 >> 2]; + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] | 1; + HEAP32[$2 + 68 >> 2] = HEAP32[HEAP32[$2 + 80 >> 2] >> 2]; + if (HEAP16[HEAP32[$2 + 68 >> 2] + 4 >> 1] & 1) { + break label$16; + } + if (HEAP32[$2 + 88 >> 2] >= HEAP32[$2 + 100 >> 2]) { + __assert_fail(8656, 6161, 503, 8692); + wasm2js_trap(); + } + $3 = HEAP32[$2 + 68 >> 2]; + $4 = HEAP32[$2 + 96 >> 2]; + $1 = HEAP32[$2 + 88 >> 2]; + HEAP32[$2 + 88 >> 2] = $1 + 1; + HEAP32[($1 << 2) + $4 >> 2] = $3; + $1 = HEAP32[$2 + 68 >> 2]; + HEAP16[$1 + 4 >> 1] = HEAPU16[$1 + 4 >> 1] | 1; + } + HEAP32[$2 + 80 >> 2] = HEAP32[HEAP32[$2 + 80 >> 2] + 12 >> 2]; + continue; + } + break; + } + HEAP32[$2 + 64 >> 2] = HEAP32[HEAP32[$2 + 84 >> 2] + 108 >> 2]; + while (1) { + if (HEAP32[$2 + 64 >> 2]) { + label$22: { + if (HEAP8[HEAP32[HEAP32[$2 + 64 >> 2] + 4 >> 2] + 60 | 0] & 1) { + break label$22; + } + HEAP32[$2 + 60 >> 2] = HEAP32[HEAP32[$2 + 64 >> 2] >> 2]; + if (!(b2Body__IsEnabled_28_29_20const(HEAP32[$2 + 60 >> 2]) & 1)) { + break label$22; + } + b2Island__Add_28b2Joint__29($2 + 116 | 0, HEAP32[HEAP32[$2 + 64 >> 2] + 4 >> 2]); + HEAP8[HEAP32[HEAP32[$2 + 64 >> 2] + 4 >> 2] + 60 | 0] = 1; + if (HEAP16[HEAP32[$2 + 60 >> 2] + 4 >> 1] & 1) { + break label$22; + } + if (HEAP32[$2 + 88 >> 2] >= HEAP32[$2 + 100 >> 2]) { + __assert_fail(8656, 6161, 532, 8692); + wasm2js_trap(); + } + $3 = HEAP32[$2 + 60 >> 2]; + $4 = HEAP32[$2 + 96 >> 2]; + $1 = HEAP32[$2 + 88 >> 2]; + HEAP32[$2 + 88 >> 2] = $1 + 1; + HEAP32[($1 << 2) + $4 >> 2] = $3; + $1 = HEAP32[$2 + 60 >> 2]; + HEAP16[$1 + 4 >> 1] = HEAPU16[$1 + 4 >> 1] | 1; + } + HEAP32[$2 + 64 >> 2] = HEAP32[HEAP32[$2 + 64 >> 2] + 12 >> 2]; + continue; + } + break; + } + continue; + } + break; + } + b2Island__Solve_28b2Profile__2c_20b2TimeStep_20const__2c_20b2Vec2_20const__2c_20bool_29($2 + 116 | 0, $2 + 28 | 0, HEAP32[$2 + 168 >> 2], $0 + 102964 | 0, HEAP8[$0 + 102972 | 0] & 1); + HEAPF32[$0 + 103008 >> 2] = HEAPF32[$0 + 103008 >> 2] + HEAPF32[$2 + 40 >> 2]; + HEAPF32[$0 + 103012 >> 2] = HEAPF32[$0 + 103012 >> 2] + HEAPF32[$2 + 44 >> 2]; + HEAPF32[$0 + 103016 >> 2] = HEAPF32[$0 + 103016 >> 2] + HEAPF32[$2 + 48 >> 2]; + HEAP32[$2 + 24 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 24 >> 2] < HEAP32[$2 + 144 >> 2]) { + HEAP32[$2 + 20 >> 2] = HEAP32[HEAP32[$2 + 124 >> 2] + (HEAP32[$2 + 24 >> 2] << 2) >> 2]; + if (!b2Body__GetType_28_29_20const(HEAP32[$2 + 20 >> 2])) { + $1 = HEAP32[$2 + 20 >> 2]; + HEAP16[$1 + 4 >> 1] = HEAPU16[$1 + 4 >> 1] & -2; + } + HEAP32[$2 + 24 >> 2] = HEAP32[$2 + 24 >> 2] + 1; + continue; + } + break; + } + } + HEAP32[$2 + 92 >> 2] = HEAP32[HEAP32[$2 + 92 >> 2] + 96 >> 2]; + continue; + } + break; + } + b2StackAllocator__Free_28void__29($0 + 68 | 0, HEAP32[$2 + 96 >> 2]); + b2Timer__b2Timer_28_29($2 + 19 | 0); + HEAP32[$2 + 12 >> 2] = HEAP32[$0 + 102948 >> 2]; + while (1) { + if (HEAP32[$2 + 12 >> 2]) { + label$29: { + if (!(HEAP16[HEAP32[$2 + 12 >> 2] + 4 >> 1] & 1)) { + break label$29; + } + if (!b2Body__GetType_28_29_20const(HEAP32[$2 + 12 >> 2])) { + break label$29; + } + b2Body__SynchronizeFixtures_28_29(HEAP32[$2 + 12 >> 2]); + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetNext_28_29(HEAP32[$2 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + continue; + } + break; + } + b2ContactManager__FindNewContacts_28_29($0 + 102868 | 0); + wasm2js_i32$0 = $0, wasm2js_f32$0 = b2Timer__GetMilliseconds_28_29_20const($2 + 19 | 0), + HEAPF32[wasm2js_i32$0 + 103020 >> 2] = wasm2js_f32$0; + b2Island___b2Island_28_29($2 + 116 | 0); + __stack_pointer = $2 + 176 | 0; +} + +function b2WeldJoint__InitVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 192 | 0; + __stack_pointer = $2; + HEAP32[$2 + 188 >> 2] = $0; + HEAP32[$2 + 184 >> 2] = $1; + $0 = HEAP32[$2 + 188 >> 2]; + HEAP32[$0 + 116 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$0 + 120 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + $4 = HEAP32[$0 + 48 >> 2]; + $3 = HEAP32[$4 + 28 >> 2]; + $1 = HEAP32[$4 + 32 >> 2]; + HEAP32[$0 + 140 >> 2] = $3; + HEAP32[$0 + 144 >> 2] = $1; + $4 = HEAP32[$0 + 52 >> 2]; + $1 = HEAP32[$4 + 28 >> 2]; + $3 = HEAP32[$4 + 32 >> 2]; + HEAP32[$0 + 148 >> 2] = $1; + HEAP32[$0 + 152 >> 2] = $3; + HEAPF32[$0 + 156 >> 2] = HEAPF32[HEAP32[$0 + 48 >> 2] + 120 >> 2]; + HEAPF32[$0 + 160 >> 2] = HEAPF32[HEAP32[$0 + 52 >> 2] + 120 >> 2]; + HEAPF32[$0 + 164 >> 2] = HEAPF32[HEAP32[$0 + 48 >> 2] + 128 >> 2]; + HEAPF32[$0 + 168 >> 2] = HEAPF32[HEAP32[$0 + 52 >> 2] + 128 >> 2]; + HEAPF32[$2 + 180 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$0 + 116 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 116 >> 2], 12) | 0; + $3 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 168 >> 2] = $3; + HEAP32[$2 + 172 >> 2] = $1; + HEAPF32[$2 + 164 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 116 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$2 + 160 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$0 + 120 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 120 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $3 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 152 >> 2] = $1; + HEAP32[$2 + 156 >> 2] = $3; + HEAPF32[$2 + 148 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 120 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 140 | 0, HEAPF32[$2 + 180 >> 2]); + b2Rot__b2Rot_28float_29($2 + 132 | 0, HEAPF32[$2 + 160 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $0 + 80 | 0, $0 + 140 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 124 | 0, $2 + 140 | 0, $2 + 116 | 0); + $1 = HEAP32[$2 + 128 >> 2]; + $3 = HEAP32[$2 + 124 >> 2]; + HEAP32[$0 + 124 >> 2] = $3; + HEAP32[$0 + 128 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 100 | 0, $0 + 88 | 0, $0 + 148 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 108 | 0, $2 + 132 | 0, $2 + 100 | 0); + $3 = HEAP32[$2 + 112 >> 2]; + $1 = HEAP32[$2 + 108 >> 2]; + HEAP32[$0 + 132 >> 2] = $1; + HEAP32[$0 + 136 >> 2] = $3; + HEAPF32[$2 + 96 >> 2] = HEAPF32[$0 + 156 >> 2]; + HEAPF32[$2 + 92 >> 2] = HEAPF32[$0 + 160 >> 2]; + HEAPF32[$2 + 88 >> 2] = HEAPF32[$0 + 164 >> 2]; + HEAPF32[$2 + 84 >> 2] = HEAPF32[$0 + 168 >> 2]; + b2Mat33__b2Mat33_28_29($2 + 48 | 0); + HEAPF32[$2 + 48 >> 2] = Math_fround(Math_fround(HEAPF32[$0 + 136 >> 2] * HEAPF32[$0 + 136 >> 2]) * HEAPF32[$2 + 84 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$0 + 128 >> 2] * HEAPF32[$0 + 128 >> 2]) * HEAPF32[$2 + 88 >> 2]) + Math_fround(HEAPF32[$2 + 96 >> 2] + HEAPF32[$2 + 92 >> 2])); + HEAPF32[$2 + 60 >> 2] = Math_fround(Math_fround(Math_fround(-HEAPF32[$0 + 128 >> 2]) * HEAPF32[$0 + 124 >> 2]) * HEAPF32[$2 + 88 >> 2]) - Math_fround(Math_fround(HEAPF32[$0 + 136 >> 2] * HEAPF32[$0 + 132 >> 2]) * HEAPF32[$2 + 84 >> 2]); + HEAPF32[$2 + 72 >> 2] = Math_fround(Math_fround(-HEAPF32[$0 + 128 >> 2]) * HEAPF32[$2 + 88 >> 2]) - Math_fround(HEAPF32[$0 + 136 >> 2] * HEAPF32[$2 + 84 >> 2]); + HEAPF32[$2 + 52 >> 2] = HEAPF32[$2 + 60 >> 2]; + HEAPF32[$2 + 64 >> 2] = Math_fround(Math_fround(HEAPF32[$0 + 132 >> 2] * HEAPF32[$0 + 132 >> 2]) * HEAPF32[$2 + 84 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$0 + 124 >> 2] * HEAPF32[$0 + 124 >> 2]) * HEAPF32[$2 + 88 >> 2]) + Math_fround(HEAPF32[$2 + 96 >> 2] + HEAPF32[$2 + 92 >> 2])); + HEAPF32[$2 + 76 >> 2] = Math_fround(HEAPF32[$0 + 124 >> 2] * HEAPF32[$2 + 88 >> 2]) + Math_fround(HEAPF32[$0 + 132 >> 2] * HEAPF32[$2 + 84 >> 2]); + HEAPF32[$2 + 56 >> 2] = HEAPF32[$2 + 72 >> 2]; + HEAPF32[$2 + 68 >> 2] = HEAPF32[$2 + 76 >> 2]; + HEAPF32[$2 + 80 >> 2] = HEAPF32[$2 + 88 >> 2] + HEAPF32[$2 + 84 >> 2]; + label$1: { + if (HEAPF32[$0 + 68 >> 2] > Math_fround(0)) { + b2Mat33__GetInverse22_28b2Mat33__29_20const($2 + 48 | 0, $0 + 172 | 0); + HEAPF32[$2 + 44 >> 2] = HEAPF32[$2 + 88 >> 2] + HEAPF32[$2 + 84 >> 2]; + HEAPF32[$2 + 40 >> 2] = Math_fround(HEAPF32[$2 + 160 >> 2] - HEAPF32[$2 + 180 >> 2]) - HEAPF32[$0 + 96 >> 2]; + HEAPF32[$2 + 36 >> 2] = HEAPF32[$0 + 72 >> 2]; + HEAPF32[$2 + 32 >> 2] = HEAPF32[$0 + 68 >> 2]; + HEAPF32[$2 + 28 >> 2] = HEAPF32[HEAP32[$2 + 184 >> 2] >> 2]; + HEAPF32[$0 + 100 >> 2] = HEAPF32[$2 + 28 >> 2] * Math_fround(Math_fround(HEAPF32[$2 + 28 >> 2] * HEAPF32[$2 + 32 >> 2]) + HEAPF32[$2 + 36 >> 2]); + if (HEAPF32[$0 + 100 >> 2] != Math_fround(0)) { + $5 = Math_fround(Math_fround(1) / HEAPF32[$0 + 100 >> 2]); + } else { + $5 = Math_fround(0); + } + HEAPF32[$0 + 100 >> 2] = $5; + HEAPF32[$0 + 76 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 40 >> 2] * HEAPF32[$2 + 28 >> 2]) * HEAPF32[$2 + 32 >> 2]) * HEAPF32[$0 + 100 >> 2]; + HEAPF32[$2 + 44 >> 2] = HEAPF32[$2 + 44 >> 2] + HEAPF32[$0 + 100 >> 2]; + if (HEAPF32[$2 + 44 >> 2] != Math_fround(0)) { + $5 = Math_fround(Math_fround(1) / HEAPF32[$2 + 44 >> 2]); + } else { + $5 = Math_fround(0); + } + HEAPF32[$0 + 204 >> 2] = $5; + break label$1; + } + label$7: { + if (HEAPF32[$2 + 80 >> 2] == Math_fround(0)) { + b2Mat33__GetInverse22_28b2Mat33__29_20const($2 + 48 | 0, $0 + 172 | 0); + break label$7; + } + b2Mat33__GetSymInverse33_28b2Mat33__29_20const($2 + 48 | 0, $0 + 172 | 0); + } + HEAPF32[$0 + 100 >> 2] = 0; + HEAPF32[$0 + 76 >> 2] = 0; + } + label$9: { + if (HEAP8[HEAP32[$2 + 184 >> 2] + 20 | 0] & 1) { + b2Vec3__operator___28float_29($0 + 104 | 0, HEAPF32[HEAP32[$2 + 184 >> 2] + 8 >> 2]); + b2Vec2__b2Vec2_28float_2c_20float_29($2 + 20 | 0, HEAPF32[$0 + 104 >> 2], HEAPF32[$0 + 108 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$2 + 96 >> 2], $2 + 20 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 168 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 88 >> 2]) * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($0 + 124 | 0, $2 + 20 | 0) + HEAPF32[$0 + 112 >> 2])) + HEAPF32[$2 + 164 >> 2]), + HEAPF32[wasm2js_i32$0 + 164 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$2 + 92 >> 2], $2 + 20 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 152 | 0, $2 + 4 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 84 >> 2] * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($0 + 132 | 0, $2 + 20 | 0) + HEAPF32[$0 + 112 >> 2])) + HEAPF32[$2 + 148 >> 2]), + HEAPF32[wasm2js_i32$0 + 148 >> 2] = wasm2js_f32$0; + break label$9; + } + b2Vec3__SetZero_28_29($0 + 104 | 0); + } + $1 = HEAP32[$2 + 172 >> 2]; + $3 = HEAP32[$2 + 168 >> 2]; + $4 = $3; + $3 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 116 >> 2], 12) | 0; + HEAP32[$3 >> 2] = $4; + HEAP32[$3 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 116 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 164 >> 2]; + $3 = HEAP32[$2 + 156 >> 2]; + $1 = HEAP32[$2 + 152 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 120 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $3; + HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 120 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 148 >> 2]; + __stack_pointer = $2 + 192 | 0; +} + +function b2GearJoint__b2GearJoint_28b2GearJointDef_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 240 | 0; + __stack_pointer = $2; + HEAP32[$2 + 232 >> 2] = $0; + HEAP32[$2 + 228 >> 2] = $1; + $1 = HEAP32[$2 + 232 >> 2]; + HEAP32[$2 + 236 >> 2] = $1; + b2Joint__b2Joint_28b2JointDef_20const__29($1, HEAP32[$2 + 228 >> 2]); + HEAP32[$1 >> 2] = 18656; + b2Vec2__b2Vec2_28_29($1 + 92 | 0); + b2Vec2__b2Vec2_28_29($1 + 100 | 0); + b2Vec2__b2Vec2_28_29($1 + 108 | 0); + b2Vec2__b2Vec2_28_29($1 + 116 | 0); + b2Vec2__b2Vec2_28_29($1 + 124 | 0); + b2Vec2__b2Vec2_28_29($1 + 132 | 0); + b2Vec2__b2Vec2_28_29($1 + 176 | 0); + b2Vec2__b2Vec2_28_29($1 + 184 | 0); + b2Vec2__b2Vec2_28_29($1 + 192 | 0); + b2Vec2__b2Vec2_28_29($1 + 200 | 0); + b2Vec2__b2Vec2_28_29($1 + 240 | 0); + b2Vec2__b2Vec2_28_29($1 + 248 | 0); + HEAP32[$1 + 68 >> 2] = HEAP32[HEAP32[$2 + 228 >> 2] + 20 >> 2]; + HEAP32[$1 + 72 >> 2] = HEAP32[HEAP32[$2 + 228 >> 2] + 24 >> 2]; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Joint__GetType_28_29_20const(HEAP32[$1 + 68 >> 2]), + HEAP32[wasm2js_i32$0 + 76 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Joint__GetType_28_29_20const(HEAP32[$1 + 72 >> 2]), + HEAP32[wasm2js_i32$0 + 80 >> 2] = wasm2js_i32$1; + if (!(HEAP32[$1 + 76 >> 2] == 1 | HEAP32[$1 + 76 >> 2] == 2)) { + __assert_fail(2703, 4295, 57, 2549); + wasm2js_trap(); + } + if (!(HEAP32[$1 + 80 >> 2] == 1 | HEAP32[$1 + 80 >> 2] == 2)) { + __assert_fail(2645, 4295, 58, 2549); + wasm2js_trap(); + } + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Joint__GetBodyA_28_29(HEAP32[$1 + 68 >> 2]), + HEAP32[wasm2js_i32$0 + 84 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Joint__GetBodyB_28_29(HEAP32[$1 + 68 >> 2]), + HEAP32[wasm2js_i32$0 + 48 >> 2] = wasm2js_i32$1; + $3 = HEAP32[$1 + 48 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$2 + 208 >> 2] = $4; + HEAP32[$2 + 212 >> 2] = $0; + $4 = HEAP32[$3 + 16 >> 2]; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$2 + 200 >> 2] = $0; + HEAP32[$2 + 204 >> 2] = $4; + HEAPF32[$2 + 196 >> 2] = HEAPF32[HEAP32[$1 + 48 >> 2] + 56 >> 2]; + $3 = HEAP32[$1 + 84 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$2 + 184 >> 2] = $4; + HEAP32[$2 + 188 >> 2] = $0; + $4 = HEAP32[$3 + 16 >> 2]; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$2 + 176 >> 2] = $0; + HEAP32[$2 + 180 >> 2] = $4; + HEAPF32[$2 + 172 >> 2] = HEAPF32[HEAP32[$1 + 84 >> 2] + 56 >> 2]; + label$3: { + if (HEAP32[$1 + 76 >> 2] == 1) { + HEAP32[$2 + 168 >> 2] = HEAP32[HEAP32[$2 + 228 >> 2] + 20 >> 2]; + $3 = HEAP32[$2 + 168 >> 2]; + $4 = HEAP32[$3 + 68 >> 2]; + $0 = HEAP32[$3 + 72 >> 2]; + HEAP32[$1 + 108 >> 2] = $4; + HEAP32[$1 + 112 >> 2] = $0; + $3 = HEAP32[$2 + 168 >> 2]; + $0 = HEAP32[$3 + 76 >> 2]; + $4 = HEAP32[$3 + 80 >> 2]; + HEAP32[$1 + 92 >> 2] = $0; + HEAP32[$1 + 96 >> 2] = $4; + HEAPF32[$1 + 140 >> 2] = HEAPF32[HEAP32[$2 + 168 >> 2] + 120 >> 2]; + b2Vec2__SetZero_28_29($1 + 124 | 0); + HEAPF32[$2 + 224 >> 2] = Math_fround(HEAPF32[$2 + 196 >> 2] - HEAPF32[$2 + 172 >> 2]) - HEAPF32[$1 + 140 >> 2]; + $0 = $1; + break label$3; + } + HEAP32[$2 + 164 >> 2] = HEAP32[HEAP32[$2 + 228 >> 2] + 20 >> 2]; + $3 = HEAP32[$2 + 164 >> 2]; + $4 = HEAP32[$3 + 68 >> 2]; + $0 = HEAP32[$3 + 72 >> 2]; + HEAP32[$1 + 108 >> 2] = $4; + HEAP32[$1 + 112 >> 2] = $0; + $3 = HEAP32[$2 + 164 >> 2]; + $0 = HEAP32[$3 + 76 >> 2]; + $4 = HEAP32[$3 + 80 >> 2]; + HEAP32[$1 + 92 >> 2] = $0; + HEAP32[$1 + 96 >> 2] = $4; + HEAPF32[$1 + 140 >> 2] = HEAPF32[HEAP32[$2 + 164 >> 2] + 100 >> 2]; + $3 = HEAP32[$2 + 164 >> 2]; + $4 = HEAP32[$3 + 84 >> 2]; + $0 = HEAP32[$3 + 88 >> 2]; + HEAP32[$1 + 124 >> 2] = $4; + HEAP32[$1 + 128 >> 2] = $0; + $4 = HEAP32[$1 + 112 >> 2]; + $0 = HEAP32[$1 + 108 >> 2]; + HEAP32[$2 + 152 >> 2] = $0; + HEAP32[$2 + 156 >> 2] = $4; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 128 | 0, $2 + 208 | 0, $1 + 92 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 120 | 0, $2 + 200 | 0, $2 + 176 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 136 | 0, $2 + 128 | 0, $2 + 120 | 0); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 144 | 0, $2 + 184 | 0, $2 + 136 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 112 | 0, $2 + 144 | 0, $2 + 152 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 112 | 0, $1 + 124 | 0), + HEAPF32[wasm2js_i32$0 + 224 >> 2] = wasm2js_f32$0; + $0 = $2; + } + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Joint__GetBodyA_28_29(HEAP32[$1 + 72 >> 2]), + HEAP32[wasm2js_i32$0 + 88 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Joint__GetBodyB_28_29(HEAP32[$1 + 72 >> 2]), + HEAP32[wasm2js_i32$0 + 52 >> 2] = wasm2js_i32$1; + $3 = HEAP32[$1 + 52 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$2 + 104 >> 2] = $4; + HEAP32[$2 + 108 >> 2] = $0; + $4 = HEAP32[$3 + 16 >> 2]; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$2 + 96 >> 2] = $0; + HEAP32[$2 + 100 >> 2] = $4; + HEAPF32[$2 + 92 >> 2] = HEAPF32[HEAP32[$1 + 52 >> 2] + 56 >> 2]; + $3 = HEAP32[$1 + 88 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$2 + 80 >> 2] = $4; + HEAP32[$2 + 84 >> 2] = $0; + $4 = HEAP32[$3 + 16 >> 2]; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$2 + 72 >> 2] = $0; + HEAP32[$2 + 76 >> 2] = $4; + HEAPF32[$2 + 68 >> 2] = HEAPF32[HEAP32[$1 + 88 >> 2] + 56 >> 2]; + label$5: { + if (HEAP32[$1 + 80 >> 2] == 1) { + HEAP32[$2 + 64 >> 2] = HEAP32[HEAP32[$2 + 228 >> 2] + 24 >> 2]; + $3 = HEAP32[$2 + 64 >> 2]; + $4 = HEAP32[$3 + 68 >> 2]; + $0 = HEAP32[$3 + 72 >> 2]; + HEAP32[$1 + 116 >> 2] = $4; + HEAP32[$1 + 120 >> 2] = $0; + $3 = HEAP32[$2 + 64 >> 2]; + $0 = HEAP32[$3 + 76 >> 2]; + $4 = HEAP32[$3 + 80 >> 2]; + HEAP32[$1 + 100 >> 2] = $0; + HEAP32[$1 + 104 >> 2] = $4; + HEAPF32[$1 + 144 >> 2] = HEAPF32[HEAP32[$2 + 64 >> 2] + 120 >> 2]; + b2Vec2__SetZero_28_29($1 + 132 | 0); + HEAPF32[$2 + 220 >> 2] = Math_fround(HEAPF32[$2 + 92 >> 2] - HEAPF32[$2 + 68 >> 2]) - HEAPF32[$1 + 144 >> 2]; + $0 = $1; + break label$5; + } + HEAP32[$2 + 60 >> 2] = HEAP32[HEAP32[$2 + 228 >> 2] + 24 >> 2]; + $3 = HEAP32[$2 + 60 >> 2]; + $4 = HEAP32[$3 + 68 >> 2]; + $0 = HEAP32[$3 + 72 >> 2]; + HEAP32[$1 + 116 >> 2] = $4; + HEAP32[$1 + 120 >> 2] = $0; + $3 = HEAP32[$2 + 60 >> 2]; + $0 = HEAP32[$3 + 76 >> 2]; + $4 = HEAP32[$3 + 80 >> 2]; + HEAP32[$1 + 100 >> 2] = $0; + HEAP32[$1 + 104 >> 2] = $4; + HEAPF32[$1 + 144 >> 2] = HEAPF32[HEAP32[$2 + 60 >> 2] + 100 >> 2]; + $3 = HEAP32[$2 + 60 >> 2]; + $4 = HEAP32[$3 + 84 >> 2]; + $0 = HEAP32[$3 + 88 >> 2]; + HEAP32[$1 + 132 >> 2] = $4; + HEAP32[$1 + 136 >> 2] = $0; + $4 = HEAP32[$1 + 120 >> 2]; + $0 = HEAP32[$1 + 116 >> 2]; + HEAP32[$2 + 48 >> 2] = $0; + HEAP32[$2 + 52 >> 2] = $4; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 24 | 0, $2 + 104 | 0, $1 + 100 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 16 | 0, $2 + 96 | 0, $2 + 72 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 32 | 0, $2 + 24 | 0, $2 + 16 | 0); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 40 | 0, $2 + 80 | 0, $2 + 32 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 8 | 0, $2 + 40 | 0, $2 + 48 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 8 | 0, $1 + 132 | 0), + HEAPF32[wasm2js_i32$0 + 220 >> 2] = wasm2js_f32$0; + $0 = $2; + } + HEAPF32[$1 + 152 >> 2] = HEAPF32[HEAP32[$2 + 228 >> 2] + 28 >> 2]; + HEAPF32[$1 + 148 >> 2] = Math_fround(HEAPF32[$1 + 152 >> 2] * HEAPF32[$2 + 220 >> 2]) + HEAPF32[$2 + 224 >> 2]; + HEAPF32[$1 + 156 >> 2] = 0; + __stack_pointer = $2 + 240 | 0; + return HEAP32[$2 + 236 >> 2]; +} + +function b2DistanceJoint__InitVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 208 | 0; + __stack_pointer = $2; + HEAP32[$2 + 204 >> 2] = $0; + HEAP32[$2 + 200 >> 2] = $1; + $0 = HEAP32[$2 + 204 >> 2]; + HEAP32[$0 + 108 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$0 + 112 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + $4 = HEAP32[$0 + 48 >> 2]; + $1 = HEAP32[$4 + 28 >> 2]; + $3 = HEAP32[$4 + 32 >> 2]; + HEAP32[$0 + 140 >> 2] = $1; + HEAP32[$0 + 144 >> 2] = $3; + $4 = HEAP32[$0 + 52 >> 2]; + $3 = HEAP32[$4 + 28 >> 2]; + $1 = HEAP32[$4 + 32 >> 2]; + HEAP32[$0 + 148 >> 2] = $3; + HEAP32[$0 + 152 >> 2] = $1; + HEAPF32[$0 + 156 >> 2] = HEAPF32[HEAP32[$0 + 48 >> 2] + 120 >> 2]; + HEAPF32[$0 + 160 >> 2] = HEAPF32[HEAP32[$0 + 52 >> 2] + 120 >> 2]; + HEAPF32[$0 + 164 >> 2] = HEAPF32[HEAP32[$0 + 48 >> 2] + 128 >> 2]; + HEAPF32[$0 + 168 >> 2] = HEAPF32[HEAP32[$0 + 52 >> 2] + 128 >> 2]; + $4 = HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$0 + 108 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $3 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 192 >> 2] = $1; + HEAP32[$2 + 196 >> 2] = $3; + HEAPF32[$2 + 188 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$0 + 108 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 108 >> 2], 12) | 0; + $3 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 176 >> 2] = $3; + HEAP32[$2 + 180 >> 2] = $1; + HEAPF32[$2 + 172 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 108 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$0 + 112 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $3 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 160 >> 2] = $1; + HEAP32[$2 + 164 >> 2] = $3; + HEAPF32[$2 + 156 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$0 + 112 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 112 >> 2], 12) | 0; + $3 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 144 >> 2] = $3; + HEAP32[$2 + 148 >> 2] = $1; + HEAPF32[$2 + 140 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 112 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 132 | 0, HEAPF32[$2 + 188 >> 2]); + b2Rot__b2Rot_28float_29($2 + 124 | 0, HEAPF32[$2 + 156 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 108 | 0, $0 + 80 | 0, $0 + 140 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $2 + 132 | 0, $2 + 108 | 0); + $3 = HEAP32[$2 + 120 >> 2]; + $1 = HEAP32[$2 + 116 >> 2]; + HEAP32[$0 + 124 >> 2] = $1; + HEAP32[$0 + 128 >> 2] = $3; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 92 | 0, $0 + 88 | 0, $0 + 148 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 100 | 0, $2 + 124 | 0, $2 + 92 | 0); + $1 = HEAP32[$2 + 104 >> 2]; + $3 = HEAP32[$2 + 100 >> 2]; + HEAP32[$0 + 132 >> 2] = $3; + HEAP32[$0 + 136 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 68 | 0, $2 + 160 | 0, $0 + 132 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 76 | 0, $2 + 68 | 0, $2 + 192 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $2 + 76 | 0, $0 + 124 | 0); + $3 = HEAP32[$2 + 88 >> 2]; + $1 = HEAP32[$2 + 84 >> 2]; + HEAP32[$0 + 116 >> 2] = $1; + HEAP32[$0 + 120 >> 2] = $3; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Vec2__Length_28_29_20const($0 + 116 | 0), + HEAPF32[wasm2js_i32$0 + 64 >> 2] = wasm2js_f32$0; + label$1: { + if (HEAPF32[$2 + 64 >> 2] > Math_fround(.004999999888241291)) { + b2Vec2__operator___28float_29($0 + 116 | 0, Math_fround(Math_fround(1) / HEAPF32[$2 + 64 >> 2])); + break label$1; + } + b2Vec2__Set_28float_2c_20float_29($0 + 116 | 0, Math_fround(0), Math_fround(0)); + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($0 + 124 | 0, $0 + 116 | 0), + HEAPF32[wasm2js_i32$0 + 60 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($0 + 132 | 0, $0 + 116 | 0), + HEAPF32[wasm2js_i32$0 + 56 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 52 >> 2] = Math_fround(Math_fround(HEAPF32[$0 + 168 >> 2] * HEAPF32[$2 + 56 >> 2]) * HEAPF32[$2 + 56 >> 2]) + Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$0 + 164 >> 2] * HEAPF32[$2 + 60 >> 2]) * HEAPF32[$2 + 60 >> 2]) + HEAPF32[$0 + 156 >> 2]) + HEAPF32[$0 + 160 >> 2]); + label$3: { + if (HEAPF32[$0 + 68 >> 2] > Math_fround(0)) { + HEAPF32[$2 + 48 >> 2] = HEAPF32[$2 + 64 >> 2] - HEAPF32[$0 + 104 >> 2]; + HEAPF32[$2 + 44 >> 2] = HEAPF32[$0 + 72 >> 2]; + HEAPF32[$2 + 40 >> 2] = HEAPF32[$0 + 68 >> 2]; + HEAPF32[$2 + 36 >> 2] = HEAPF32[HEAP32[$2 + 200 >> 2] >> 2]; + HEAPF32[$0 + 96 >> 2] = HEAPF32[$2 + 36 >> 2] * Math_fround(Math_fround(HEAPF32[$2 + 36 >> 2] * HEAPF32[$2 + 40 >> 2]) + HEAPF32[$2 + 44 >> 2]); + if (HEAPF32[$0 + 96 >> 2] != Math_fround(0)) { + $5 = Math_fround(Math_fround(1) / HEAPF32[$0 + 96 >> 2]); + } else { + $5 = Math_fround(0); + } + HEAPF32[$0 + 96 >> 2] = $5; + HEAPF32[$0 + 76 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 48 >> 2] * HEAPF32[$2 + 36 >> 2]) * HEAPF32[$2 + 40 >> 2]) * HEAPF32[$0 + 96 >> 2]; + HEAPF32[$2 + 52 >> 2] = HEAPF32[$2 + 52 >> 2] + HEAPF32[$0 + 96 >> 2]; + break label$3; + } + HEAPF32[$0 + 96 >> 2] = 0; + HEAPF32[$0 + 76 >> 2] = 0; + } + if (HEAPF32[$2 + 52 >> 2] != Math_fround(0)) { + $5 = Math_fround(Math_fround(1) / HEAPF32[$2 + 52 >> 2]); + } else { + $5 = Math_fround(0); + } + HEAPF32[$0 + 172 >> 2] = $5; + label$9: { + if (HEAP8[HEAP32[$2 + 200 >> 2] + 20 | 0] & 1) { + HEAPF32[$0 + 100 >> 2] = HEAPF32[$0 + 100 >> 2] * HEAPF32[HEAP32[$2 + 200 >> 2] + 8 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 28 | 0, HEAPF32[$0 + 100 >> 2], $0 + 116 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, HEAPF32[$0 + 156 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 176 | 0, $2 + 20 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$0 + 164 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($0 + 124 | 0, $2 + 28 | 0)) + HEAPF32[$2 + 172 >> 2]), + HEAPF32[wasm2js_i32$0 + 172 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$0 + 160 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 144 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$0 + 168 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($0 + 132 | 0, $2 + 28 | 0)) + HEAPF32[$2 + 140 >> 2]), + HEAPF32[wasm2js_i32$0 + 140 >> 2] = wasm2js_f32$0; + break label$9; + } + HEAPF32[$0 + 100 >> 2] = 0; + } + $1 = HEAP32[$2 + 180 >> 2]; + $3 = HEAP32[$2 + 176 >> 2]; + $4 = $3; + $3 = HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 108 >> 2], 12) | 0; + HEAP32[$3 >> 2] = $4; + HEAP32[$3 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 108 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 172 >> 2]; + $3 = HEAP32[$2 + 148 >> 2]; + $1 = HEAP32[$2 + 144 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 112 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $3; + HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$0 + 112 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 140 >> 2]; + __stack_pointer = $2 + 208 | 0; +} + +function dlfree($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1: { + if (!$0) { + break label$1; + } + $2 = $0 - 8 | 0; + $1 = HEAP32[$0 - 4 >> 2]; + $0 = $1 & -8; + $5 = $2 + $0 | 0; + label$2: { + if ($1 & 1) { + break label$2; + } + if (!($1 & 3)) { + break label$1; + } + $1 = HEAP32[$2 >> 2]; + $2 = $2 - $1 | 0; + $4 = HEAP32[8067]; + if ($2 >>> 0 < $4 >>> 0) { + break label$1; + } + $0 = $0 + $1 | 0; + label$3: { + label$4: { + if (HEAP32[8068] != ($2 | 0)) { + if ($1 >>> 0 <= 255) { + $6 = $1 >>> 3 | 0; + $1 = HEAP32[$2 + 12 >> 2]; + $4 = HEAP32[$2 + 8 >> 2]; + if (($1 | 0) == ($4 | 0)) { + wasm2js_i32$0 = 32252, wasm2js_i32$1 = HEAP32[8063] & __wasm_rotl_i32(-2, $6), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[$4 + 12 >> 2] = $1; + HEAP32[$1 + 8 >> 2] = $4; + break label$2; + } + $7 = HEAP32[$2 + 24 >> 2]; + $3 = HEAP32[$2 + 12 >> 2]; + if (($3 | 0) != ($2 | 0)) { + $1 = HEAP32[$2 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $3; + HEAP32[$3 + 8 >> 2] = $1; + break label$3; + } + $4 = $2 + 20 | 0; + $1 = HEAP32[$4 >> 2]; + if (!$1) { + $1 = HEAP32[$2 + 16 >> 2]; + if (!$1) { + break label$4; + } + $4 = $2 + 16 | 0; + } + while (1) { + $6 = $4; + $3 = $1; + $4 = $1 + 20 | 0; + $1 = HEAP32[$4 >> 2]; + if ($1) { + continue; + } + $4 = $3 + 16 | 0; + $1 = HEAP32[$3 + 16 >> 2]; + if ($1) { + continue; + } + break; + } + HEAP32[$6 >> 2] = 0; + break label$3; + } + $1 = HEAP32[$5 + 4 >> 2]; + if (($1 & 3) != 3) { + break label$2; + } + HEAP32[8065] = $0; + HEAP32[$5 + 4 >> 2] = $1 & -2; + HEAP32[$2 + 4 >> 2] = $0 | 1; + HEAP32[$5 >> 2] = $0; + return; + } + $3 = 0; + } + if (!$7) { + break label$2; + } + $4 = HEAP32[$2 + 28 >> 2]; + $1 = ($4 << 2) + 32556 | 0; + label$11: { + if (HEAP32[$1 >> 2] == ($2 | 0)) { + HEAP32[$1 >> 2] = $3; + if ($3) { + break label$11; + } + wasm2js_i32$0 = 32256, wasm2js_i32$1 = HEAP32[8064] & __wasm_rotl_i32(-2, $4), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[(HEAP32[$7 + 16 >> 2] == ($2 | 0) ? 16 : 20) + $7 >> 2] = $3; + if (!$3) { + break label$2; + } + } + HEAP32[$3 + 24 >> 2] = $7; + $1 = HEAP32[$2 + 16 >> 2]; + if ($1) { + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$1 + 24 >> 2] = $3; + } + $1 = HEAP32[$2 + 20 >> 2]; + if (!$1) { + break label$2; + } + HEAP32[$3 + 20 >> 2] = $1; + HEAP32[$1 + 24 >> 2] = $3; + } + if ($2 >>> 0 >= $5 >>> 0) { + break label$1; + } + $1 = HEAP32[$5 + 4 >> 2]; + if (!($1 & 1)) { + break label$1; + } + label$14: { + label$15: { + label$16: { + label$17: { + if (!($1 & 2)) { + if (HEAP32[8069] == ($5 | 0)) { + HEAP32[8069] = $2; + $0 = HEAP32[8066] + $0 | 0; + HEAP32[8066] = $0; + HEAP32[$2 + 4 >> 2] = $0 | 1; + if (HEAP32[8068] != ($2 | 0)) { + break label$1; + } + HEAP32[8065] = 0; + HEAP32[8068] = 0; + return; + } + if (HEAP32[8068] == ($5 | 0)) { + HEAP32[8068] = $2; + $0 = HEAP32[8065] + $0 | 0; + HEAP32[8065] = $0; + HEAP32[$2 + 4 >> 2] = $0 | 1; + HEAP32[$0 + $2 >> 2] = $0; + return; + } + $0 = ($1 & -8) + $0 | 0; + if ($1 >>> 0 <= 255) { + $6 = $1 >>> 3 | 0; + $1 = HEAP32[$5 + 12 >> 2]; + $4 = HEAP32[$5 + 8 >> 2]; + if (($1 | 0) == ($4 | 0)) { + wasm2js_i32$0 = 32252, wasm2js_i32$1 = HEAP32[8063] & __wasm_rotl_i32(-2, $6), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$15; + } + HEAP32[$4 + 12 >> 2] = $1; + HEAP32[$1 + 8 >> 2] = $4; + break label$15; + } + $7 = HEAP32[$5 + 24 >> 2]; + $3 = HEAP32[$5 + 12 >> 2]; + if (($5 | 0) != ($3 | 0)) { + $1 = HEAP32[$5 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $3; + HEAP32[$3 + 8 >> 2] = $1; + break label$16; + } + $4 = $5 + 20 | 0; + $1 = HEAP32[$4 >> 2]; + if (!$1) { + $1 = HEAP32[$5 + 16 >> 2]; + if (!$1) { + break label$17; + } + $4 = $5 + 16 | 0; + } + while (1) { + $6 = $4; + $3 = $1; + $4 = $1 + 20 | 0; + $1 = HEAP32[$4 >> 2]; + if ($1) { + continue; + } + $4 = $3 + 16 | 0; + $1 = HEAP32[$3 + 16 >> 2]; + if ($1) { + continue; + } + break; + } + HEAP32[$6 >> 2] = 0; + break label$16; + } + HEAP32[$5 + 4 >> 2] = $1 & -2; + HEAP32[$2 + 4 >> 2] = $0 | 1; + HEAP32[$0 + $2 >> 2] = $0; + break label$14; + } + $3 = 0; + } + if (!$7) { + break label$15; + } + $4 = HEAP32[$5 + 28 >> 2]; + $1 = ($4 << 2) + 32556 | 0; + label$26: { + if (HEAP32[$1 >> 2] == ($5 | 0)) { + HEAP32[$1 >> 2] = $3; + if ($3) { + break label$26; + } + wasm2js_i32$0 = 32256, wasm2js_i32$1 = HEAP32[8064] & __wasm_rotl_i32(-2, $4), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$15; + } + HEAP32[(HEAP32[$7 + 16 >> 2] == ($5 | 0) ? 16 : 20) + $7 >> 2] = $3; + if (!$3) { + break label$15; + } + } + HEAP32[$3 + 24 >> 2] = $7; + $1 = HEAP32[$5 + 16 >> 2]; + if ($1) { + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$1 + 24 >> 2] = $3; + } + $1 = HEAP32[$5 + 20 >> 2]; + if (!$1) { + break label$15; + } + HEAP32[$3 + 20 >> 2] = $1; + HEAP32[$1 + 24 >> 2] = $3; + } + HEAP32[$2 + 4 >> 2] = $0 | 1; + HEAP32[$0 + $2 >> 2] = $0; + if (HEAP32[8068] != ($2 | 0)) { + break label$14; + } + HEAP32[8065] = $0; + return; + } + if ($0 >>> 0 <= 255) { + $1 = ($0 & -8) + 32292 | 0; + $0 = 1 << ($0 >>> 3); + $4 = HEAP32[8063]; + label$30: { + if (!($0 & $4)) { + HEAP32[8063] = $0 | $4; + $0 = $1; + break label$30; + } + $0 = HEAP32[$1 + 8 >> 2]; + } + HEAP32[$1 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $2; + HEAP32[$2 + 12 >> 2] = $1; + HEAP32[$2 + 8 >> 2] = $0; + return; + } + $1 = 31; + if ($0 >>> 0 <= 16777215) { + $1 = Math_clz32($0 >>> 8 | 0); + $1 = (($0 >>> 38 - $1 & 1) - ($1 << 1) | 0) + 62 | 0; + } + HEAP32[$2 + 28 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = 0; + HEAP32[$2 + 20 >> 2] = 0; + $4 = ($1 << 2) + 32556 | 0; + label$33: { + label$34: { + $3 = HEAP32[8064]; + $5 = 1 << $1; + label$35: { + if (!($3 & $5)) { + HEAP32[8064] = $3 | $5; + HEAP32[$4 >> 2] = $2; + break label$35; + } + $1 = $0 << (($1 | 0) != 31 ? 25 - ($1 >>> 1 | 0) | 0 : 0); + $3 = HEAP32[$4 >> 2]; + while (1) { + $4 = $3; + if ((HEAP32[$3 + 4 >> 2] & -8) == ($0 | 0)) { + break label$34; + } + $3 = $1 >>> 29 | 0; + $1 = $1 << 1; + $6 = ($3 & 4) + $4 | 0; + $5 = $6 + 16 | 0; + $3 = HEAP32[$5 >> 2]; + if ($3) { + continue; + } + break; + } + HEAP32[$6 + 16 >> 2] = $2; + } + HEAP32[$2 + 24 >> 2] = $4; + HEAP32[$2 + 12 >> 2] = $2; + HEAP32[$2 + 8 >> 2] = $2; + break label$33; + } + $0 = HEAP32[$4 + 8 >> 2]; + HEAP32[$0 + 12 >> 2] = $2; + HEAP32[$4 + 8 >> 2] = $2; + HEAP32[$2 + 24 >> 2] = 0; + HEAP32[$2 + 12 >> 2] = $4; + HEAP32[$2 + 8 >> 2] = $0; + } + $2 = HEAP32[8071] - 1 | 0; + HEAP32[8071] = $2 ? $2 : -1; + } +} + +function b2CollidePolygonAndCircle_28b2Manifold__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2CircleShape_20const__2c_20b2Transform_20const__29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 208 | 0; + __stack_pointer = $5; + HEAP32[$5 + 204 >> 2] = $0; + HEAP32[$5 + 200 >> 2] = $1; + HEAP32[$5 + 196 >> 2] = $2; + HEAP32[$5 + 192 >> 2] = $3; + HEAP32[$5 + 188 >> 2] = $4; + HEAP32[HEAP32[$5 + 204 >> 2] + 60 >> 2] = 0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 180 | 0, HEAP32[$5 + 188 >> 2], HEAP32[$5 + 192 >> 2] + 12 | 0); + b2MulT_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 172 | 0, HEAP32[$5 + 196 >> 2], $5 + 180 | 0); + HEAP32[$5 + 168 >> 2] = 0; + HEAPF32[$5 + 164 >> 2] = -34028234663852886e22; + HEAPF32[$5 + 160 >> 2] = HEAPF32[HEAP32[$5 + 200 >> 2] + 8 >> 2] + HEAPF32[HEAP32[$5 + 192 >> 2] + 8 >> 2]; + HEAP32[$5 + 156 >> 2] = HEAP32[HEAP32[$5 + 200 >> 2] + 148 >> 2]; + HEAP32[$5 + 152 >> 2] = HEAP32[$5 + 200 >> 2] + 20; + HEAP32[$5 + 148 >> 2] = HEAP32[$5 + 200 >> 2] + 84; + HEAP32[$5 + 144 >> 2] = 0; + label$1: { + while (1) { + if (HEAP32[$5 + 144 >> 2] < HEAP32[$5 + 156 >> 2]) { + $0 = HEAP32[$5 + 148 >> 2]; + $1 = HEAP32[$5 + 144 >> 2] << 3; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 132 | 0, $5 + 172 | 0, HEAP32[$5 + 152 >> 2] + (HEAP32[$5 + 144 >> 2] << 3) | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0 + $1 | 0, $5 + 132 | 0), + HEAPF32[wasm2js_i32$0 + 140 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 140 >> 2] > HEAPF32[$5 + 160 >> 2]) { + break label$1; + } + if (HEAPF32[$5 + 140 >> 2] > HEAPF32[$5 + 164 >> 2]) { + HEAPF32[$5 + 164 >> 2] = HEAPF32[$5 + 140 >> 2]; + HEAP32[$5 + 168 >> 2] = HEAP32[$5 + 144 >> 2]; + } + HEAP32[$5 + 144 >> 2] = HEAP32[$5 + 144 >> 2] + 1; + continue; + } + break; + } + HEAP32[$5 + 128 >> 2] = HEAP32[$5 + 168 >> 2]; + if (HEAP32[$5 + 156 >> 2] > (HEAP32[$5 + 128 >> 2] + 1 | 0)) { + $0 = HEAP32[$5 + 128 >> 2] + 1 | 0; + } else { + $0 = 0; + } + HEAP32[$5 + 124 >> 2] = $0; + $2 = HEAP32[$5 + 152 >> 2] + (HEAP32[$5 + 128 >> 2] << 3) | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + HEAP32[$5 + 112 >> 2] = $1; + HEAP32[$5 + 116 >> 2] = $0; + $2 = HEAP32[$5 + 152 >> 2] + (HEAP32[$5 + 124 >> 2] << 3) | 0; + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + HEAP32[$5 + 104 >> 2] = $0; + HEAP32[$5 + 108 >> 2] = $1; + if (HEAPF32[$5 + 164 >> 2] < Math_fround(1.1920928955078125e-7)) { + HEAP32[HEAP32[$5 + 204 >> 2] + 60 >> 2] = 1; + HEAP32[HEAP32[$5 + 204 >> 2] + 56 >> 2] = 1; + $2 = HEAP32[$5 + 148 >> 2] + (HEAP32[$5 + 168 >> 2] << 3) | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 204 >> 2]; + HEAP32[$1 + 40 >> 2] = $2; + HEAP32[$1 + 44 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($5 + 88 | 0, $5 + 112 | 0, $5 + 104 | 0); + operator__28float_2c_20b2Vec2_20const__29($5 + 96 | 0, Math_fround(.5), $5 + 88 | 0); + $1 = HEAP32[$5 + 100 >> 2]; + $0 = HEAP32[$5 + 96 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 204 >> 2]; + HEAP32[$0 + 48 >> 2] = $2; + HEAP32[$0 + 52 >> 2] = $1; + $2 = HEAP32[$5 + 192 >> 2]; + $1 = HEAP32[$2 + 12 >> 2]; + $0 = HEAP32[$2 + 16 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 204 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAP32[HEAP32[$5 + 204 >> 2] + 16 >> 2] = 0; + break label$1; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 76 | 0, $5 + 172 | 0, $5 + 112 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 68 | 0, $5 + 104 | 0, $5 + 112 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 76 | 0, $5 + 68 | 0), + HEAPF32[wasm2js_i32$0 + 84 >> 2] = wasm2js_f32$0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 56 | 0, $5 + 172 | 0, $5 + 104 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 48 | 0, $5 + 112 | 0, $5 + 104 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 56 | 0, $5 + 48 | 0), + HEAPF32[wasm2js_i32$0 + 64 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 84 >> 2] <= Math_fround(0)) { + if (b2DistanceSquared_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 172 | 0, $5 + 112 | 0) > Math_fround(HEAPF32[$5 + 160 >> 2] * HEAPF32[$5 + 160 >> 2])) { + break label$1; + } + HEAP32[HEAP32[$5 + 204 >> 2] + 60 >> 2] = 1; + HEAP32[HEAP32[$5 + 204 >> 2] + 56 >> 2] = 1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 40 | 0, $5 + 172 | 0, $5 + 112 | 0); + $1 = HEAP32[$5 + 44 >> 2]; + $0 = HEAP32[$5 + 40 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 204 >> 2]; + HEAP32[$0 + 40 >> 2] = $2; + HEAP32[$0 + 44 >> 2] = $1; + b2Vec2__Normalize_28_29(HEAP32[$5 + 204 >> 2] + 40 | 0); + $0 = HEAP32[$5 + 116 >> 2]; + $1 = HEAP32[$5 + 112 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 204 >> 2]; + HEAP32[$1 + 48 >> 2] = $2; + HEAP32[$1 + 52 >> 2] = $0; + $2 = HEAP32[$5 + 192 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$2 + 16 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 204 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[HEAP32[$5 + 204 >> 2] + 16 >> 2] = 0; + break label$1; + } + label$9: { + if (HEAPF32[$5 + 64 >> 2] <= Math_fround(0)) { + if (b2DistanceSquared_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 172 | 0, $5 + 104 | 0) > Math_fround(HEAPF32[$5 + 160 >> 2] * HEAPF32[$5 + 160 >> 2])) { + break label$1; + } + HEAP32[HEAP32[$5 + 204 >> 2] + 60 >> 2] = 1; + HEAP32[HEAP32[$5 + 204 >> 2] + 56 >> 2] = 1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 32 | 0, $5 + 172 | 0, $5 + 104 | 0); + $0 = HEAP32[$5 + 36 >> 2]; + $1 = HEAP32[$5 + 32 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 204 >> 2]; + HEAP32[$1 + 40 >> 2] = $2; + HEAP32[$1 + 44 >> 2] = $0; + b2Vec2__Normalize_28_29(HEAP32[$5 + 204 >> 2] + 40 | 0); + $1 = HEAP32[$5 + 108 >> 2]; + $0 = HEAP32[$5 + 104 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 204 >> 2]; + HEAP32[$0 + 48 >> 2] = $2; + HEAP32[$0 + 52 >> 2] = $1; + break label$9; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($5 + 16 | 0, $5 + 112 | 0, $5 + 104 | 0); + operator__28float_2c_20b2Vec2_20const__29($5 + 24 | 0, Math_fround(.5), $5 + 16 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 4 | 0, $5 + 172 | 0, $5 + 24 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 4 | 0, HEAP32[$5 + 148 >> 2] + (HEAP32[$5 + 128 >> 2] << 3) | 0), + HEAPF32[wasm2js_i32$0 + 12 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 12 >> 2] > HEAPF32[$5 + 160 >> 2]) { + break label$1; + } + HEAP32[HEAP32[$5 + 204 >> 2] + 60 >> 2] = 1; + HEAP32[HEAP32[$5 + 204 >> 2] + 56 >> 2] = 1; + $2 = HEAP32[$5 + 148 >> 2] + (HEAP32[$5 + 128 >> 2] << 3) | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 204 >> 2]; + HEAP32[$1 + 40 >> 2] = $2; + HEAP32[$1 + 44 >> 2] = $0; + $1 = HEAP32[$5 + 28 >> 2]; + $0 = HEAP32[$5 + 24 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 204 >> 2]; + HEAP32[$0 + 48 >> 2] = $2; + HEAP32[$0 + 52 >> 2] = $1; + } + $2 = HEAP32[$5 + 192 >> 2]; + $1 = HEAP32[$2 + 12 >> 2]; + $0 = HEAP32[$2 + 16 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 204 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAP32[HEAP32[$5 + 204 >> 2] + 16 >> 2] = 0; + } + __stack_pointer = $5 + 208 | 0; +} + +function b2Island__SolveTOI_28b2TimeStep_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { + var $4 = 0, $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 208 | 0; + __stack_pointer = $4; + HEAP32[$4 + 204 >> 2] = $0; + HEAP32[$4 + 200 >> 2] = $1; + HEAP32[$4 + 196 >> 2] = $2; + HEAP32[$4 + 192 >> 2] = $3; + $5 = HEAP32[$4 + 204 >> 2]; + if (HEAP32[$4 + 196 >> 2] >= HEAP32[$5 + 28 >> 2]) { + __assert_fail(2066, 6099, 391, 10871); + wasm2js_trap(); + } + if (HEAP32[$4 + 192 >> 2] >= HEAP32[$5 + 28 >> 2]) { + __assert_fail(2042, 6099, 392, 10871); + wasm2js_trap(); + } + HEAP32[$4 + 188 >> 2] = 0; + while (1) { + if (HEAP32[$4 + 188 >> 2] < HEAP32[$5 + 28 >> 2]) { + HEAP32[$4 + 184 >> 2] = HEAP32[HEAP32[$5 + 8 >> 2] + (HEAP32[$4 + 188 >> 2] << 2) >> 2]; + $3 = HEAP32[$4 + 184 >> 2]; + $0 = HEAP32[$3 + 44 >> 2]; + $1 = HEAP32[$3 + 48 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 20 >> 2] + Math_imul(HEAP32[$4 + 188 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[$5 + 20 >> 2] + Math_imul(HEAP32[$4 + 188 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[HEAP32[$4 + 184 >> 2] + 56 >> 2]; + $3 = HEAP32[$4 + 184 >> 2]; + $1 = HEAP32[$3 + 64 >> 2]; + $0 = HEAP32[$3 + 68 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 24 >> 2] + Math_imul(HEAP32[$4 + 188 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[$5 + 24 >> 2] + Math_imul(HEAP32[$4 + 188 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[HEAP32[$4 + 184 >> 2] + 72 >> 2]; + HEAP32[$4 + 188 >> 2] = HEAP32[$4 + 188 >> 2] + 1; + continue; + } + break; + } + HEAP32[$4 + 164 >> 2] = HEAP32[$5 + 12 >> 2]; + HEAP32[$4 + 168 >> 2] = HEAP32[$5 + 36 >> 2]; + HEAP32[$4 + 180 >> 2] = HEAP32[$5 >> 2]; + $3 = HEAP32[$4 + 200 >> 2]; + $0 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + $6 = $0; + $2 = $4 + 140 | 0; + $0 = $2; + HEAP32[$0 >> 2] = $6; + HEAP32[$0 + 4 >> 2] = $1; + $0 = HEAP32[$3 + 20 >> 2]; + $1 = HEAP32[$3 + 16 >> 2]; + $6 = $1; + $1 = $2; + HEAP32[$1 + 16 >> 2] = $6; + HEAP32[$1 + 20 >> 2] = $0; + $1 = HEAP32[$3 + 12 >> 2]; + $0 = HEAP32[$3 + 8 >> 2]; + $3 = $0; + $0 = $2; + HEAP32[$0 + 8 >> 2] = $3; + HEAP32[$0 + 12 >> 2] = $1; + HEAP32[$4 + 172 >> 2] = HEAP32[$5 + 20 >> 2]; + HEAP32[$4 + 176 >> 2] = HEAP32[$5 + 24 >> 2]; + b2ContactSolver__b2ContactSolver_28b2ContactSolverDef__29($4 + 88 | 0, $4 + 140 | 0); + HEAP32[$4 + 84 >> 2] = 0; + while (1) { + label$6: { + if (HEAP32[$4 + 84 >> 2] >= HEAP32[HEAP32[$4 + 200 >> 2] + 16 >> 2]) { + break label$6; + } + wasm2js_i32$0 = $4, wasm2js_i32$1 = b2ContactSolver__SolveTOIPositionConstraints_28int_2c_20int_29($4 + 88 | 0, HEAP32[$4 + 196 >> 2], HEAP32[$4 + 192 >> 2]) & 1, + HEAP8[wasm2js_i32$0 + 83 | 0] = wasm2js_i32$1; + if (HEAP8[$4 + 83 | 0] & 1) { + break label$6; + } + HEAP32[$4 + 84 >> 2] = HEAP32[$4 + 84 >> 2] + 1; + continue; + } + break; + } + $3 = HEAP32[$5 + 20 >> 2] + Math_imul(HEAP32[$4 + 196 >> 2], 12) | 0; + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + $2 = $1; + $1 = HEAP32[HEAP32[$5 + 8 >> 2] + (HEAP32[$4 + 196 >> 2] << 2) >> 2]; + HEAP32[$1 + 36 >> 2] = $2; + HEAP32[$1 + 40 >> 2] = $0; + HEAPF32[HEAP32[HEAP32[$5 + 8 >> 2] + (HEAP32[$4 + 196 >> 2] << 2) >> 2] + 52 >> 2] = HEAPF32[(HEAP32[$5 + 20 >> 2] + Math_imul(HEAP32[$4 + 196 >> 2], 12) | 0) + 8 >> 2]; + $3 = HEAP32[$5 + 20 >> 2] + Math_imul(HEAP32[$4 + 192 >> 2], 12) | 0; + $0 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + $2 = $0; + $0 = HEAP32[HEAP32[$5 + 8 >> 2] + (HEAP32[$4 + 192 >> 2] << 2) >> 2]; + HEAP32[$0 + 36 >> 2] = $2; + HEAP32[$0 + 40 >> 2] = $1; + HEAPF32[HEAP32[HEAP32[$5 + 8 >> 2] + (HEAP32[$4 + 192 >> 2] << 2) >> 2] + 52 >> 2] = HEAPF32[(HEAP32[$5 + 20 >> 2] + Math_imul(HEAP32[$4 + 192 >> 2], 12) | 0) + 8 >> 2]; + b2ContactSolver__InitializeVelocityConstraints_28_29($4 + 88 | 0); + HEAP32[$4 + 76 >> 2] = 0; + while (1) { + if (HEAP32[$4 + 76 >> 2] < HEAP32[HEAP32[$4 + 200 >> 2] + 12 >> 2]) { + b2ContactSolver__SolveVelocityConstraints_28_29($4 + 88 | 0); + HEAP32[$4 + 76 >> 2] = HEAP32[$4 + 76 >> 2] + 1; + continue; + } + break; + } + HEAPF32[$4 + 72 >> 2] = HEAPF32[HEAP32[$4 + 200 >> 2] >> 2]; + HEAP32[$4 + 68 >> 2] = 0; + while (1) { + if (HEAP32[$4 + 68 >> 2] < HEAP32[$5 + 28 >> 2]) { + $3 = HEAP32[$5 + 20 >> 2] + Math_imul(HEAP32[$4 + 68 >> 2], 12) | 0; + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + HEAP32[$4 + 56 >> 2] = $1; + HEAP32[$4 + 60 >> 2] = $0; + HEAPF32[$4 + 52 >> 2] = HEAPF32[(HEAP32[$5 + 20 >> 2] + Math_imul(HEAP32[$4 + 68 >> 2], 12) | 0) + 8 >> 2]; + $3 = HEAP32[$5 + 24 >> 2] + Math_imul(HEAP32[$4 + 68 >> 2], 12) | 0; + $0 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + HEAP32[$4 + 40 >> 2] = $0; + HEAP32[$4 + 44 >> 2] = $1; + HEAPF32[$4 + 36 >> 2] = HEAPF32[(HEAP32[$5 + 24 >> 2] + Math_imul(HEAP32[$4 + 68 >> 2], 12) | 0) + 8 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($4 + 28 | 0, HEAPF32[$4 + 72 >> 2], $4 + 40 | 0); + $0 = $4 + 28 | 0; + if (b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $0) > Math_fround(4)) { + wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(2) / b2Vec2__Length_28_29_20const($4 + 28 | 0)), + HEAPF32[wasm2js_i32$0 + 24 >> 2] = wasm2js_f32$0; + b2Vec2__operator___28float_29($4 + 40 | 0, HEAPF32[$4 + 24 >> 2]); + } + HEAPF32[$4 + 20 >> 2] = HEAPF32[$4 + 72 >> 2] * HEAPF32[$4 + 36 >> 2]; + if (Math_fround(HEAPF32[$4 + 20 >> 2] * HEAPF32[$4 + 20 >> 2]) > Math_fround(2.4674012660980225)) { + wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(1.5707963705062866) / float_20b2Abs_float__28float_29(HEAPF32[$4 + 20 >> 2])), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + HEAPF32[$4 + 36 >> 2] = HEAPF32[$4 + 36 >> 2] * HEAPF32[$4 + 16 >> 2]; + } + operator__28float_2c_20b2Vec2_20const__29($4 + 8 | 0, HEAPF32[$4 + 72 >> 2], $4 + 40 | 0); + b2Vec2__operator___28b2Vec2_20const__29($4 + 56 | 0, $4 + 8 | 0); + HEAPF32[$4 + 52 >> 2] = Math_fround(HEAPF32[$4 + 72 >> 2] * HEAPF32[$4 + 36 >> 2]) + HEAPF32[$4 + 52 >> 2]; + $0 = HEAP32[$4 + 60 >> 2]; + $1 = HEAP32[$4 + 56 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 20 >> 2] + Math_imul(HEAP32[$4 + 68 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[$5 + 20 >> 2] + Math_imul(HEAP32[$4 + 68 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$4 + 52 >> 2]; + $1 = HEAP32[$4 + 44 >> 2]; + $0 = HEAP32[$4 + 40 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 24 >> 2] + Math_imul(HEAP32[$4 + 68 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[$5 + 24 >> 2] + Math_imul(HEAP32[$4 + 68 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$4 + 36 >> 2]; + HEAP32[$4 + 4 >> 2] = HEAP32[HEAP32[$5 + 8 >> 2] + (HEAP32[$4 + 68 >> 2] << 2) >> 2]; + $0 = HEAP32[$4 + 60 >> 2]; + $1 = HEAP32[$4 + 56 >> 2]; + $2 = $1; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$1 + 44 >> 2] = $2; + HEAP32[$1 + 48 >> 2] = $0; + HEAPF32[HEAP32[$4 + 4 >> 2] + 56 >> 2] = HEAPF32[$4 + 52 >> 2]; + $1 = HEAP32[$4 + 44 >> 2]; + $0 = HEAP32[$4 + 40 >> 2]; + $2 = $0; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$0 + 64 >> 2] = $2; + HEAP32[$0 + 68 >> 2] = $1; + HEAPF32[HEAP32[$4 + 4 >> 2] + 72 >> 2] = HEAPF32[$4 + 36 >> 2]; + b2Body__SynchronizeTransform_28_29(HEAP32[$4 + 4 >> 2]); + HEAP32[$4 + 68 >> 2] = HEAP32[$4 + 68 >> 2] + 1; + continue; + } + break; + } + b2Island__Report_28b2ContactVelocityConstraint_20const__29($5, HEAP32[$4 + 128 >> 2]); + b2ContactSolver___b2ContactSolver_28_29($4 + 88 | 0); + __stack_pointer = $4 + 208 | 0; +} + +function b2ContactSolver__SolveTOIPositionConstraints_28int_2c_20int_29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 272 | 0; + __stack_pointer = $3; + HEAP32[$3 + 268 >> 2] = $0; + HEAP32[$3 + 264 >> 2] = $1; + HEAP32[$3 + 260 >> 2] = $2; + $4 = HEAP32[$3 + 268 >> 2]; + HEAPF32[$3 + 256 >> 2] = 0; + HEAP32[$3 + 252 >> 2] = 0; + while (1) { + if (HEAP32[$3 + 252 >> 2] < HEAP32[$4 + 48 >> 2]) { + HEAP32[$3 + 248 >> 2] = HEAP32[$4 + 36 >> 2] + Math_imul(HEAP32[$3 + 252 >> 2], 88); + HEAP32[$3 + 244 >> 2] = HEAP32[HEAP32[$3 + 248 >> 2] + 32 >> 2]; + HEAP32[$3 + 240 >> 2] = HEAP32[HEAP32[$3 + 248 >> 2] + 36 >> 2]; + $2 = HEAP32[$3 + 248 >> 2]; + $1 = HEAP32[$2 + 48 >> 2]; + $0 = HEAP32[$2 + 52 >> 2]; + HEAP32[$3 + 232 >> 2] = $1; + HEAP32[$3 + 236 >> 2] = $0; + $2 = HEAP32[$3 + 248 >> 2]; + $0 = HEAP32[$2 + 56 >> 2]; + $1 = HEAP32[$2 + 60 >> 2]; + HEAP32[$3 + 224 >> 2] = $0; + HEAP32[$3 + 228 >> 2] = $1; + HEAP32[$3 + 220 >> 2] = HEAP32[HEAP32[$3 + 248 >> 2] + 84 >> 2]; + HEAPF32[$3 + 216 >> 2] = 0; + HEAPF32[$3 + 212 >> 2] = 0; + if (!(HEAP32[$3 + 244 >> 2] != HEAP32[$3 + 264 >> 2] & HEAP32[$3 + 244 >> 2] != HEAP32[$3 + 260 >> 2])) { + HEAPF32[$3 + 216 >> 2] = HEAPF32[HEAP32[$3 + 248 >> 2] + 40 >> 2]; + HEAPF32[$3 + 212 >> 2] = HEAPF32[HEAP32[$3 + 248 >> 2] + 64 >> 2]; + } + HEAPF32[$3 + 208 >> 2] = 0; + HEAPF32[$3 + 204 >> 2] = 0; + if (!(HEAP32[$3 + 240 >> 2] != HEAP32[$3 + 264 >> 2] & HEAP32[$3 + 240 >> 2] != HEAP32[$3 + 260 >> 2])) { + HEAPF32[$3 + 208 >> 2] = HEAPF32[HEAP32[$3 + 248 >> 2] + 44 >> 2]; + HEAPF32[$3 + 204 >> 2] = HEAPF32[HEAP32[$3 + 248 >> 2] + 68 >> 2]; + } + $2 = HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$3 + 244 >> 2], 12) | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + HEAP32[$3 + 192 >> 2] = $1; + HEAP32[$3 + 196 >> 2] = $0; + HEAPF32[$3 + 188 >> 2] = HEAPF32[(HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$3 + 244 >> 2], 12) | 0) + 8 >> 2]; + $2 = HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$3 + 240 >> 2], 12) | 0; + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + HEAP32[$3 + 176 >> 2] = $0; + HEAP32[$3 + 180 >> 2] = $1; + HEAPF32[$3 + 172 >> 2] = HEAPF32[(HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$3 + 240 >> 2], 12) | 0) + 8 >> 2]; + HEAP32[$3 + 168 >> 2] = 0; + while (1) { + if (HEAP32[$3 + 168 >> 2] < HEAP32[$3 + 220 >> 2]) { + b2Transform__b2Transform_28_29($3 + 152 | 0); + b2Transform__b2Transform_28_29($3 + 136 | 0); + b2Rot__Set_28float_29($3 + 160 | 0, HEAPF32[$3 + 188 >> 2]); + b2Rot__Set_28float_29($3 + 144 | 0, HEAPF32[$3 + 172 >> 2]); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 120 | 0, $3 + 160 | 0, $3 + 232 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 128 | 0, $3 + 192 | 0, $3 + 120 | 0); + $0 = HEAP32[$3 + 132 >> 2]; + $1 = HEAP32[$3 + 128 >> 2]; + $2 = $1; + $1 = $3 + 152 | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 104 | 0, $3 + 144 | 0, $3 + 224 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 112 | 0, $3 + 176 | 0, $3 + 104 | 0); + $1 = HEAP32[$3 + 116 >> 2]; + $0 = HEAP32[$3 + 112 >> 2]; + $2 = $0; + $0 = $3 + 136 | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + b2PositionSolverManifold__b2PositionSolverManifold_28_29($3 + 84 | 0); + b2PositionSolverManifold__Initialize_28b2ContactPositionConstraint__2c_20b2Transform_20const__2c_20b2Transform_20const__2c_20int_29($3 + 84 | 0, HEAP32[$3 + 248 >> 2], $3 + 152 | 0, $3 + 136 | 0, HEAP32[$3 + 168 >> 2]); + $2 = $3 + 84 | 0; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + HEAP32[$3 + 72 >> 2] = $1; + HEAP32[$3 + 76 >> 2] = $0; + $2 = $3 + 84 | 0; + $0 = HEAP32[$2 + 8 >> 2]; + $1 = HEAP32[$2 + 12 >> 2]; + HEAP32[$3 + 64 >> 2] = $0; + HEAP32[$3 + 68 >> 2] = $1; + HEAPF32[$3 + 60 >> 2] = HEAPF32[$3 + 100 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 52 | 0, $3 - -64 | 0, $3 + 192 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 44 | 0, $3 - -64 | 0, $3 + 176 | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Min_float__28float_2c_20float_29(HEAPF32[$3 + 256 >> 2], HEAPF32[$3 + 60 >> 2]), + HEAPF32[wasm2js_i32$0 + 256 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[$3 + 60 >> 2] + Math_fround(.004999999888241291)) * Math_fround(.75)), Math_fround(-.20000000298023224), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 40 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 52 | 0, $3 + 72 | 0), + HEAPF32[wasm2js_i32$0 + 36 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 44 | 0, $3 + 72 | 0), + HEAPF32[wasm2js_i32$0 + 32 >> 2] = wasm2js_f32$0; + HEAPF32[$3 + 28 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 204 >> 2] * HEAPF32[$3 + 32 >> 2]) * HEAPF32[$3 + 32 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$3 + 212 >> 2] * HEAPF32[$3 + 36 >> 2]) * HEAPF32[$3 + 36 >> 2]) + Math_fround(HEAPF32[$3 + 216 >> 2] + HEAPF32[$3 + 208 >> 2])); + if (HEAPF32[$3 + 28 >> 2] > Math_fround(0)) { + $5 = Math_fround(Math_fround(-HEAPF32[$3 + 40 >> 2]) / HEAPF32[$3 + 28 >> 2]); + } else { + $5 = Math_fround(0); + } + HEAPF32[$3 + 24 >> 2] = $5; + operator__28float_2c_20b2Vec2_20const__29($3 + 16 | 0, HEAPF32[$3 + 24 >> 2], $3 + 72 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 8 | 0, HEAPF32[$3 + 216 >> 2], $3 + 16 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($3 + 192 | 0, $3 + 8 | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$3 + 212 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 52 | 0, $3 + 16 | 0)) + HEAPF32[$3 + 188 >> 2]), + HEAPF32[wasm2js_i32$0 + 188 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($3, HEAPF32[$3 + 208 >> 2], $3 + 16 | 0); + b2Vec2__operator___28b2Vec2_20const__29($3 + 176 | 0, $3); + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$3 + 204 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 44 | 0, $3 + 16 | 0)) + HEAPF32[$3 + 172 >> 2]), + HEAPF32[wasm2js_i32$0 + 172 >> 2] = wasm2js_f32$0; + HEAP32[$3 + 168 >> 2] = HEAP32[$3 + 168 >> 2] + 1; + continue; + } + break; + } + $0 = HEAP32[$3 + 196 >> 2]; + $1 = HEAP32[$3 + 192 >> 2]; + $2 = $1; + $1 = HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$3 + 244 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$3 + 244 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$3 + 188 >> 2]; + $1 = HEAP32[$3 + 180 >> 2]; + $0 = HEAP32[$3 + 176 >> 2]; + $2 = $0; + $0 = HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$3 + 240 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$3 + 240 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$3 + 172 >> 2]; + HEAP32[$3 + 252 >> 2] = HEAP32[$3 + 252 >> 2] + 1; + continue; + } + break; + } + __stack_pointer = $3 + 272 | 0; + return HEAPF32[$3 + 256 >> 2] >= Math_fround(-.007499999832361937); +} + +function b2Distance_28b2DistanceOutput__2c_20b2SimplexCache__2c_20b2DistanceInput_20const__29($0, $1, $2) { + var $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 336 | 0; + __stack_pointer = $3; + HEAP32[$3 + 332 >> 2] = $0; + HEAP32[$3 + 328 >> 2] = $1; + HEAP32[$3 + 324 >> 2] = $2; + HEAP32[7526] = HEAP32[7526] + 1; + HEAP32[$3 + 320 >> 2] = HEAP32[$3 + 324 >> 2]; + HEAP32[$3 + 316 >> 2] = HEAP32[$3 + 324 >> 2] + 28; + $2 = HEAP32[$3 + 324 >> 2]; + $1 = HEAP32[$2 + 64 >> 2]; + $0 = HEAP32[$2 + 68 >> 2]; + HEAP32[$3 + 304 >> 2] = $1; + HEAP32[$3 + 308 >> 2] = $0; + $1 = HEAP32[$2 + 60 >> 2]; + $0 = HEAP32[$2 + 56 >> 2]; + HEAP32[$3 + 296 >> 2] = $0; + HEAP32[$3 + 300 >> 2] = $1; + $2 = HEAP32[$3 + 324 >> 2]; + $1 = HEAP32[$2 + 80 >> 2]; + $0 = HEAP32[$2 + 84 >> 2]; + HEAP32[$3 + 288 >> 2] = $1; + HEAP32[$3 + 292 >> 2] = $0; + $1 = HEAP32[$2 + 76 >> 2]; + $0 = HEAP32[$2 + 72 >> 2]; + HEAP32[$3 + 280 >> 2] = $0; + HEAP32[$3 + 284 >> 2] = $1; + b2Simplex__b2Simplex_28_29($3 + 168 | 0); + b2Simplex__ReadCache_28b2SimplexCache_20const__2c_20b2DistanceProxy_20const__2c_20b2Transform_20const__2c_20b2DistanceProxy_20const__2c_20b2Transform_20const__29($3 + 168 | 0, HEAP32[$3 + 328 >> 2], HEAP32[$3 + 320 >> 2], $3 + 296 | 0, HEAP32[$3 + 316 >> 2], $3 + 280 | 0); + HEAP32[$3 + 164 >> 2] = $3 + 168; + HEAP32[$3 + 160 >> 2] = 20; + HEAP32[$3 + 132 >> 2] = 0; + HEAP32[$3 + 128 >> 2] = 0; + while (1) { + label$2: { + if (HEAP32[$3 + 128 >> 2] >= 20) { + break label$2; + } + HEAP32[$3 + 132 >> 2] = HEAP32[$3 + 276 >> 2]; + HEAP32[$3 + 124 >> 2] = 0; + while (1) { + if (HEAP32[$3 + 124 >> 2] < HEAP32[$3 + 132 >> 2]) { + HEAP32[($3 + 148 | 0) + (HEAP32[$3 + 124 >> 2] << 2) >> 2] = HEAP32[(HEAP32[$3 + 164 >> 2] + Math_imul(HEAP32[$3 + 124 >> 2], 36) | 0) + 28 >> 2]; + HEAP32[($3 + 136 | 0) + (HEAP32[$3 + 124 >> 2] << 2) >> 2] = HEAP32[(HEAP32[$3 + 164 >> 2] + Math_imul(HEAP32[$3 + 124 >> 2], 36) | 0) + 32 >> 2]; + HEAP32[$3 + 124 >> 2] = HEAP32[$3 + 124 >> 2] + 1; + continue; + } + break; + } + label$5: { + label$6: { + switch (HEAP32[$3 + 276 >> 2] - 1 | 0) { + case 1: + b2Simplex__Solve2_28_29($3 + 168 | 0); + break label$5; + + case 2: + b2Simplex__Solve3_28_29($3 + 168 | 0); + break label$5; + + case 0: + break label$5; + + default: + break label$6; + } + } + __assert_fail(9147, 6034, 505, 9983); + wasm2js_trap(); + } + if (HEAP32[$3 + 276 >> 2] == 3) { + break label$2; + } + b2Simplex__GetSearchDirection_28_29_20const($3 + 116 | 0, $3 + 168 | 0); + if (b2Vec2__LengthSquared_28_29_20const($3 + 116 | 0) < Math_fround(14210854715202004e-30)) { + break label$2; + } + HEAP32[$3 + 112 >> 2] = HEAP32[$3 + 164 >> 2] + Math_imul(HEAP32[$3 + 276 >> 2], 36); + $0 = HEAP32[$3 + 320 >> 2]; + b2Vec2__operator__28_29_20const($3 + 96 | 0, $3 + 116 | 0); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 104 | 0, $3 + 304 | 0, $3 + 96 | 0); + $0 = b2DistanceProxy__GetSupport_28b2Vec2_20const__29_20const($0, $3 + 104 | 0); + HEAP32[HEAP32[$3 + 112 >> 2] + 28 >> 2] = $0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($3 + 88 | 0, $3 + 296 | 0, b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$3 + 320 >> 2], HEAP32[HEAP32[$3 + 112 >> 2] + 28 >> 2])); + $0 = HEAP32[$3 + 92 >> 2]; + $1 = HEAP32[$3 + 88 >> 2]; + $2 = $1; + $1 = HEAP32[$3 + 112 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + $0 = HEAP32[$3 + 316 >> 2]; + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 80 | 0, $3 + 288 | 0, $3 + 116 | 0); + $0 = b2DistanceProxy__GetSupport_28b2Vec2_20const__29_20const($0, $3 + 80 | 0); + HEAP32[HEAP32[$3 + 112 >> 2] + 32 >> 2] = $0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($3 + 72 | 0, $3 + 280 | 0, b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$3 + 316 >> 2], HEAP32[HEAP32[$3 + 112 >> 2] + 32 >> 2])); + $1 = HEAP32[$3 + 76 >> 2]; + $0 = HEAP32[$3 + 72 >> 2]; + $2 = $0; + $0 = HEAP32[$3 + 112 >> 2]; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 - -64 | 0, HEAP32[$3 + 112 >> 2] + 8 | 0, HEAP32[$3 + 112 >> 2]); + $0 = HEAP32[$3 + 68 >> 2]; + $1 = HEAP32[$3 + 64 >> 2]; + $2 = $1; + $1 = HEAP32[$3 + 112 >> 2]; + HEAP32[$1 + 16 >> 2] = $2; + HEAP32[$1 + 20 >> 2] = $0; + HEAP32[$3 + 128 >> 2] = HEAP32[$3 + 128 >> 2] + 1; + HEAP32[7527] = HEAP32[7527] + 1; + HEAP8[$3 + 63 | 0] = 0; + HEAP32[$3 + 56 >> 2] = 0; + while (1) { + if (HEAP32[$3 + 56 >> 2] < HEAP32[$3 + 132 >> 2]) { + if (HEAP32[HEAP32[$3 + 112 >> 2] + 28 >> 2] != HEAP32[($3 + 148 | 0) + (HEAP32[$3 + 56 >> 2] << 2) >> 2] | HEAP32[HEAP32[$3 + 112 >> 2] + 32 >> 2] != HEAP32[($3 + 136 | 0) + (HEAP32[$3 + 56 >> 2] << 2) >> 2]) { + HEAP32[$3 + 56 >> 2] = HEAP32[$3 + 56 >> 2] + 1; + continue; + } else { + HEAP8[$3 + 63 | 0] = 1; + } + } + break; + } + if (HEAP8[$3 + 63 | 0] & 1) { + break label$2; + } + HEAP32[$3 + 276 >> 2] = HEAP32[$3 + 276 >> 2] + 1; + continue; + } + break; + } + wasm2js_i32$0 = 30112, wasm2js_i32$1 = int_20b2Max_int__28int_2c_20int_29(HEAP32[7528], HEAP32[$3 + 128 >> 2]), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + b2Simplex__GetWitnessPoints_28b2Vec2__2c_20b2Vec2__29_20const($3 + 168 | 0, HEAP32[$3 + 332 >> 2], HEAP32[$3 + 332 >> 2] + 8 | 0); + $4 = b2Distance_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$3 + 332 >> 2], HEAP32[$3 + 332 >> 2] + 8 | 0); + HEAPF32[HEAP32[$3 + 332 >> 2] + 16 >> 2] = $4; + HEAP32[HEAP32[$3 + 332 >> 2] + 20 >> 2] = HEAP32[$3 + 128 >> 2]; + b2Simplex__WriteCache_28b2SimplexCache__29_20const($3 + 168 | 0, HEAP32[$3 + 328 >> 2]); + if (HEAP8[HEAP32[$3 + 324 >> 2] + 88 | 0] & 1) { + HEAPF32[$3 + 52 >> 2] = HEAPF32[HEAP32[$3 + 320 >> 2] + 24 >> 2]; + HEAPF32[$3 + 48 >> 2] = HEAPF32[HEAP32[$3 + 316 >> 2] + 24 >> 2]; + label$13: { + if (!(!(HEAPF32[HEAP32[$3 + 332 >> 2] + 16 >> 2] > Math_fround(HEAPF32[$3 + 52 >> 2] + HEAPF32[$3 + 48 >> 2])) | !(HEAPF32[HEAP32[$3 + 332 >> 2] + 16 >> 2] > Math_fround(1.1920928955078125e-7)))) { + $0 = HEAP32[$3 + 332 >> 2]; + HEAPF32[$0 + 16 >> 2] = HEAPF32[$0 + 16 >> 2] - Math_fround(HEAPF32[$3 + 52 >> 2] + HEAPF32[$3 + 48 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 40 | 0, HEAP32[$3 + 332 >> 2] + 8 | 0, HEAP32[$3 + 332 >> 2]); + b2Vec2__Normalize_28_29($3 + 40 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 32 | 0, HEAPF32[$3 + 52 >> 2], $3 + 40 | 0); + b2Vec2__operator___28b2Vec2_20const__29(HEAP32[$3 + 332 >> 2], $3 + 32 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 24 | 0, HEAPF32[$3 + 48 >> 2], $3 + 40 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1(HEAP32[$3 + 332 >> 2] + 8 | 0, $3 + 24 | 0); + break label$13; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 8 | 0, HEAP32[$3 + 332 >> 2], HEAP32[$3 + 332 >> 2] + 8 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 16 | 0, Math_fround(.5), $3 + 8 | 0); + $1 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 16 >> 2]; + $2 = $0; + $0 = HEAP32[$3 + 332 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + $0 = HEAP32[$3 + 20 >> 2]; + $1 = HEAP32[$3 + 16 >> 2]; + $2 = $1; + $1 = HEAP32[$3 + 332 >> 2]; + HEAP32[$1 + 8 >> 2] = $2; + HEAP32[$1 + 12 >> 2] = $0; + HEAPF32[HEAP32[$3 + 332 >> 2] + 16 >> 2] = 0; + } + } + __stack_pointer = $3 + 336 | 0; +} + +function b2Simplex__Solve3_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 144 | 0; + __stack_pointer = $1; + HEAP32[$1 + 140 >> 2] = $0; + $2 = HEAP32[$1 + 140 >> 2]; + $0 = HEAP32[$2 + 16 >> 2]; + $3 = HEAP32[$2 + 20 >> 2]; + HEAP32[$1 + 128 >> 2] = $0; + HEAP32[$1 + 132 >> 2] = $3; + $0 = HEAP32[$2 + 56 >> 2]; + $3 = HEAP32[$2 + 52 >> 2]; + HEAP32[$1 + 120 >> 2] = $3; + HEAP32[$1 + 124 >> 2] = $0; + $3 = HEAP32[$2 + 92 >> 2]; + $0 = HEAP32[$2 + 88 >> 2]; + HEAP32[$1 + 112 >> 2] = $0; + HEAP32[$1 + 116 >> 2] = $3; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 104 | 0, $1 + 120 | 0, $1 + 128 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 128 | 0, $1 + 104 | 0), + HEAPF32[wasm2js_i32$0 + 100 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 120 | 0, $1 + 104 | 0), + HEAPF32[wasm2js_i32$0 + 96 >> 2] = wasm2js_f32$0; + HEAPF32[$1 + 92 >> 2] = HEAPF32[$1 + 96 >> 2]; + HEAPF32[$1 + 88 >> 2] = -HEAPF32[$1 + 100 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 80 | 0, $1 + 112 | 0, $1 + 128 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 128 | 0, $1 + 80 | 0), + HEAPF32[wasm2js_i32$0 + 76 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 112 | 0, $1 + 80 | 0), + HEAPF32[wasm2js_i32$0 + 72 >> 2] = wasm2js_f32$0; + HEAPF32[$1 + 68 >> 2] = HEAPF32[$1 + 72 >> 2]; + HEAPF32[$1 + 64 >> 2] = -HEAPF32[$1 + 76 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 56 | 0, $1 + 112 | 0, $1 + 120 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 120 | 0, $1 + 56 | 0), + HEAPF32[wasm2js_i32$0 + 52 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 112 | 0, $1 + 56 | 0), + HEAPF32[wasm2js_i32$0 + 48 >> 2] = wasm2js_f32$0; + HEAPF32[$1 + 44 >> 2] = HEAPF32[$1 + 48 >> 2]; + HEAPF32[$1 + 40 >> 2] = -HEAPF32[$1 + 52 >> 2]; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 104 | 0, $1 + 80 | 0), + HEAPF32[wasm2js_i32$0 + 36 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(HEAPF32[$1 + 36 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 120 | 0, $1 + 112 | 0)), + HEAPF32[wasm2js_i32$0 + 32 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(HEAPF32[$1 + 36 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 112 | 0, $1 + 128 | 0)), + HEAPF32[wasm2js_i32$0 + 28 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(HEAPF32[$1 + 36 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 128 | 0, $1 + 120 | 0)), + HEAPF32[wasm2js_i32$0 + 24 >> 2] = wasm2js_f32$0; + label$1: { + if (!(!(HEAPF32[$1 + 88 >> 2] <= Math_fround(0)) | !(HEAPF32[$1 + 64 >> 2] <= Math_fround(0)))) { + HEAPF32[$2 + 24 >> 2] = 1; + HEAP32[$2 + 108 >> 2] = 1; + break label$1; + } + if (!(!(HEAPF32[$1 + 24 >> 2] <= Math_fround(0)) | (!(HEAPF32[$1 + 92 >> 2] > Math_fround(0)) | !(HEAPF32[$1 + 88 >> 2] > Math_fround(0))))) { + HEAPF32[$1 + 20 >> 2] = Math_fround(1) / Math_fround(HEAPF32[$1 + 92 >> 2] + HEAPF32[$1 + 88 >> 2]); + HEAPF32[$2 + 24 >> 2] = HEAPF32[$1 + 92 >> 2] * HEAPF32[$1 + 20 >> 2]; + HEAPF32[$2 + 60 >> 2] = HEAPF32[$1 + 88 >> 2] * HEAPF32[$1 + 20 >> 2]; + HEAP32[$2 + 108 >> 2] = 2; + break label$1; + } + if (!(!(HEAPF32[$1 + 28 >> 2] <= Math_fround(0)) | (!(HEAPF32[$1 + 68 >> 2] > Math_fround(0)) | !(HEAPF32[$1 + 64 >> 2] > Math_fround(0))))) { + HEAPF32[$1 + 16 >> 2] = Math_fround(1) / Math_fround(HEAPF32[$1 + 68 >> 2] + HEAPF32[$1 + 64 >> 2]); + HEAPF32[$2 + 24 >> 2] = HEAPF32[$1 + 68 >> 2] * HEAPF32[$1 + 16 >> 2]; + HEAPF32[$2 + 96 >> 2] = HEAPF32[$1 + 64 >> 2] * HEAPF32[$1 + 16 >> 2]; + HEAP32[$2 + 108 >> 2] = 2; + $0 = HEAP32[$2 + 76 >> 2]; + $3 = HEAP32[$2 + 72 >> 2]; + HEAP32[$2 + 36 >> 2] = $3; + HEAP32[$2 + 40 >> 2] = $0; + HEAP32[$2 + 68 >> 2] = HEAP32[$2 + 104 >> 2]; + $3 = HEAP32[$2 + 100 >> 2]; + $0 = HEAP32[$2 + 96 >> 2]; + HEAP32[$2 + 60 >> 2] = $0; + HEAP32[$2 + 64 >> 2] = $3; + $0 = HEAP32[$2 + 92 >> 2]; + $3 = HEAP32[$2 + 88 >> 2]; + HEAP32[$2 + 52 >> 2] = $3; + HEAP32[$2 + 56 >> 2] = $0; + $3 = HEAP32[$2 + 84 >> 2]; + $0 = HEAP32[$2 + 80 >> 2]; + HEAP32[$2 + 44 >> 2] = $0; + HEAP32[$2 + 48 >> 2] = $3; + break label$1; + } + if (!(!(HEAPF32[$1 + 92 >> 2] <= Math_fround(0)) | !(HEAPF32[$1 + 40 >> 2] <= Math_fround(0)))) { + HEAPF32[$2 + 60 >> 2] = 1; + HEAP32[$2 + 108 >> 2] = 1; + $0 = HEAP32[$2 + 40 >> 2]; + $3 = HEAP32[$2 + 36 >> 2]; + HEAP32[$2 >> 2] = $3; + HEAP32[$2 + 4 >> 2] = $0; + HEAP32[$2 + 32 >> 2] = HEAP32[$2 + 68 >> 2]; + $3 = HEAP32[$2 + 64 >> 2]; + $0 = HEAP32[$2 + 60 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 28 >> 2] = $3; + $0 = HEAP32[$2 + 56 >> 2]; + $3 = HEAP32[$2 + 52 >> 2]; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 20 >> 2] = $0; + $3 = HEAP32[$2 + 48 >> 2]; + $0 = HEAP32[$2 + 44 >> 2]; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 12 >> 2] = $3; + break label$1; + } + if (!(!(HEAPF32[$1 + 68 >> 2] <= Math_fround(0)) | !(HEAPF32[$1 + 44 >> 2] <= Math_fround(0)))) { + HEAPF32[$2 + 96 >> 2] = 1; + HEAP32[$2 + 108 >> 2] = 1; + $0 = HEAP32[$2 + 76 >> 2]; + $3 = HEAP32[$2 + 72 >> 2]; + HEAP32[$2 >> 2] = $3; + HEAP32[$2 + 4 >> 2] = $0; + HEAP32[$2 + 32 >> 2] = HEAP32[$2 + 104 >> 2]; + $3 = HEAP32[$2 + 100 >> 2]; + $0 = HEAP32[$2 + 96 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 28 >> 2] = $3; + $0 = HEAP32[$2 + 92 >> 2]; + $3 = HEAP32[$2 + 88 >> 2]; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 20 >> 2] = $0; + $3 = HEAP32[$2 + 84 >> 2]; + $0 = HEAP32[$2 + 80 >> 2]; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 12 >> 2] = $3; + break label$1; + } + if (!(!(HEAPF32[$1 + 32 >> 2] <= Math_fround(0)) | (!(HEAPF32[$1 + 44 >> 2] > Math_fround(0)) | !(HEAPF32[$1 + 40 >> 2] > Math_fround(0))))) { + HEAPF32[$1 + 12 >> 2] = Math_fround(1) / Math_fround(HEAPF32[$1 + 44 >> 2] + HEAPF32[$1 + 40 >> 2]); + HEAPF32[$2 + 60 >> 2] = HEAPF32[$1 + 44 >> 2] * HEAPF32[$1 + 12 >> 2]; + HEAPF32[$2 + 96 >> 2] = HEAPF32[$1 + 40 >> 2] * HEAPF32[$1 + 12 >> 2]; + HEAP32[$2 + 108 >> 2] = 2; + $0 = HEAP32[$2 + 76 >> 2]; + $3 = HEAP32[$2 + 72 >> 2]; + HEAP32[$2 >> 2] = $3; + HEAP32[$2 + 4 >> 2] = $0; + HEAP32[$2 + 32 >> 2] = HEAP32[$2 + 104 >> 2]; + $3 = HEAP32[$2 + 100 >> 2]; + $0 = HEAP32[$2 + 96 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 28 >> 2] = $3; + $0 = HEAP32[$2 + 92 >> 2]; + $3 = HEAP32[$2 + 88 >> 2]; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 20 >> 2] = $0; + $3 = HEAP32[$2 + 84 >> 2]; + $0 = HEAP32[$2 + 80 >> 2]; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 12 >> 2] = $3; + break label$1; + } + HEAPF32[$1 + 8 >> 2] = Math_fround(1) / Math_fround(Math_fround(HEAPF32[$1 + 32 >> 2] + HEAPF32[$1 + 28 >> 2]) + HEAPF32[$1 + 24 >> 2]); + HEAPF32[$2 + 24 >> 2] = HEAPF32[$1 + 32 >> 2] * HEAPF32[$1 + 8 >> 2]; + HEAPF32[$2 + 60 >> 2] = HEAPF32[$1 + 28 >> 2] * HEAPF32[$1 + 8 >> 2]; + HEAPF32[$2 + 96 >> 2] = HEAPF32[$1 + 24 >> 2] * HEAPF32[$1 + 8 >> 2]; + HEAP32[$2 + 108 >> 2] = 3; + } + __stack_pointer = $1 + 144 | 0; +} + +function b2PulleyJoint__InitVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 208 | 0; + __stack_pointer = $2; + HEAP32[$2 + 204 >> 2] = $0; + HEAP32[$2 + 200 >> 2] = $1; + $1 = HEAP32[$2 + 204 >> 2]; + HEAP32[$1 + 120 >> 2] = HEAP32[HEAP32[$1 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 124 >> 2] = HEAP32[HEAP32[$1 + 52 >> 2] + 8 >> 2]; + $4 = HEAP32[$1 + 48 >> 2]; + $3 = HEAP32[$4 + 28 >> 2]; + $0 = HEAP32[$4 + 32 >> 2]; + HEAP32[$1 + 160 >> 2] = $3; + HEAP32[$1 + 164 >> 2] = $0; + $4 = HEAP32[$1 + 52 >> 2]; + $0 = HEAP32[$4 + 28 >> 2]; + $3 = HEAP32[$4 + 32 >> 2]; + HEAP32[$1 + 168 >> 2] = $0; + HEAP32[$1 + 172 >> 2] = $3; + HEAPF32[$1 + 176 >> 2] = HEAPF32[HEAP32[$1 + 48 >> 2] + 120 >> 2]; + HEAPF32[$1 + 180 >> 2] = HEAPF32[HEAP32[$1 + 52 >> 2] + 120 >> 2]; + HEAPF32[$1 + 184 >> 2] = HEAPF32[HEAP32[$1 + 48 >> 2] + 128 >> 2]; + HEAPF32[$1 + 188 >> 2] = HEAPF32[HEAP32[$1 + 52 >> 2] + 128 >> 2]; + $4 = HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 120 >> 2], 12) | 0; + $3 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 192 >> 2] = $3; + HEAP32[$2 + 196 >> 2] = $0; + HEAPF32[$2 + 188 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 120 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 120 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $3 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 176 >> 2] = $0; + HEAP32[$2 + 180 >> 2] = $3; + HEAPF32[$2 + 172 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 120 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 124 >> 2], 12) | 0; + $3 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 160 >> 2] = $3; + HEAP32[$2 + 164 >> 2] = $0; + HEAPF32[$2 + 156 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 124 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 124 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $3 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 144 >> 2] = $0; + HEAP32[$2 + 148 >> 2] = $3; + HEAPF32[$2 + 140 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 124 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 132 | 0, HEAPF32[$2 + 188 >> 2]); + b2Rot__b2Rot_28float_29($2 + 124 | 0, HEAPF32[$2 + 156 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 108 | 0, $1 + 92 | 0, $1 + 160 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $2 + 132 | 0, $2 + 108 | 0); + $0 = HEAP32[$2 + 120 >> 2]; + $3 = HEAP32[$2 + 116 >> 2]; + HEAP32[$1 + 144 >> 2] = $3; + HEAP32[$1 + 148 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 92 | 0, $1 + 100 | 0, $1 + 168 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 100 | 0, $2 + 124 | 0, $2 + 92 | 0); + $3 = HEAP32[$2 + 104 >> 2]; + $0 = HEAP32[$2 + 100 >> 2]; + HEAP32[$1 + 152 >> 2] = $0; + HEAP32[$1 + 156 >> 2] = $3; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 76 | 0, $2 + 192 | 0, $1 + 144 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $2 + 76 | 0, $1 + 68 | 0); + $0 = HEAP32[$2 + 88 >> 2]; + $3 = HEAP32[$2 + 84 >> 2]; + HEAP32[$1 + 128 >> 2] = $3; + HEAP32[$1 + 132 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 60 | 0, $2 + 160 | 0, $1 + 152 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 68 | 0, $2 + 60 | 0, $1 + 76 | 0); + $3 = HEAP32[$2 + 72 >> 2]; + $0 = HEAP32[$2 + 68 >> 2]; + HEAP32[$1 + 136 >> 2] = $0; + HEAP32[$1 + 140 >> 2] = $3; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Vec2__Length_28_29_20const($1 + 128 | 0), + HEAPF32[wasm2js_i32$0 + 56 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Vec2__Length_28_29_20const($1 + 136 | 0), + HEAPF32[wasm2js_i32$0 + 52 >> 2] = wasm2js_f32$0; + label$1: { + if (HEAPF32[$2 + 56 >> 2] > Math_fround(.04999999701976776)) { + b2Vec2__operator___28float_29($1 + 128 | 0, Math_fround(Math_fround(1) / HEAPF32[$2 + 56 >> 2])); + break label$1; + } + b2Vec2__SetZero_28_29($1 + 128 | 0); + } + label$3: { + if (HEAPF32[$2 + 52 >> 2] > Math_fround(.04999999701976776)) { + b2Vec2__operator___28float_29($1 + 136 | 0, Math_fround(Math_fround(1) / HEAPF32[$2 + 52 >> 2])); + break label$3; + } + b2Vec2__SetZero_28_29($1 + 136 | 0); + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 144 | 0, $1 + 128 | 0), + HEAPF32[wasm2js_i32$0 + 48 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 152 | 0, $1 + 136 | 0), + HEAPF32[wasm2js_i32$0 + 44 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 40 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 184 >> 2] * HEAPF32[$2 + 48 >> 2]) * HEAPF32[$2 + 48 >> 2]) + HEAPF32[$1 + 176 >> 2]; + HEAPF32[$2 + 36 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 188 >> 2] * HEAPF32[$2 + 44 >> 2]) * HEAPF32[$2 + 44 >> 2]) + HEAPF32[$1 + 180 >> 2]; + HEAPF32[$1 + 192 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 112 >> 2] * HEAPF32[$1 + 112 >> 2]) * HEAPF32[$2 + 36 >> 2]) + HEAPF32[$2 + 40 >> 2]; + if (HEAPF32[$1 + 192 >> 2] > Math_fround(0)) { + HEAPF32[$1 + 192 >> 2] = Math_fround(1) / HEAPF32[$1 + 192 >> 2]; + } + label$6: { + if (HEAP8[HEAP32[$2 + 200 >> 2] + 20 | 0] & 1) { + HEAPF32[$1 + 116 >> 2] = HEAPF32[$1 + 116 >> 2] * HEAPF32[HEAP32[$2 + 200 >> 2] + 8 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 28 | 0, Math_fround(-HEAPF32[$1 + 116 >> 2]), $1 + 128 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, Math_fround(Math_fround(-HEAPF32[$1 + 112 >> 2]) * HEAPF32[$1 + 116 >> 2]), $1 + 136 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$1 + 176 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 176 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 184 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 144 | 0, $2 + 28 | 0)) + HEAPF32[$2 + 172 >> 2]), + HEAPF32[wasm2js_i32$0 + 172 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$1 + 180 >> 2], $2 + 20 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 144 | 0, $2 + 4 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 188 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 152 | 0, $2 + 20 | 0)) + HEAPF32[$2 + 140 >> 2]), + HEAPF32[wasm2js_i32$0 + 140 >> 2] = wasm2js_f32$0; + break label$6; + } + HEAPF32[$1 + 116 >> 2] = 0; + } + $0 = HEAP32[$2 + 180 >> 2]; + $3 = HEAP32[$2 + 176 >> 2]; + $4 = $3; + $3 = HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 120 >> 2], 12) | 0; + HEAP32[$3 >> 2] = $4; + HEAP32[$3 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 120 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 172 >> 2]; + $3 = HEAP32[$2 + 148 >> 2]; + $0 = HEAP32[$2 + 144 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 124 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $3; + HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 124 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 140 >> 2]; + __stack_pointer = $2 + 208 | 0; +} + +function b2MotorJoint__InitVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 224 | 0; + __stack_pointer = $2; + HEAP32[$2 + 220 >> 2] = $0; + HEAP32[$2 + 216 >> 2] = $1; + $3 = HEAP32[$2 + 220 >> 2]; + HEAP32[$3 + 104 >> 2] = HEAP32[HEAP32[$3 + 48 >> 2] + 8 >> 2]; + HEAP32[$3 + 108 >> 2] = HEAP32[HEAP32[$3 + 52 >> 2] + 8 >> 2]; + $4 = HEAP32[$3 + 48 >> 2]; + $0 = HEAP32[$4 + 28 >> 2]; + $1 = HEAP32[$4 + 32 >> 2]; + HEAP32[$3 + 128 >> 2] = $0; + HEAP32[$3 + 132 >> 2] = $1; + $4 = HEAP32[$3 + 52 >> 2]; + $1 = HEAP32[$4 + 28 >> 2]; + $0 = HEAP32[$4 + 32 >> 2]; + HEAP32[$3 + 136 >> 2] = $1; + HEAP32[$3 + 140 >> 2] = $0; + HEAPF32[$3 + 156 >> 2] = HEAPF32[HEAP32[$3 + 48 >> 2] + 120 >> 2]; + HEAPF32[$3 + 160 >> 2] = HEAPF32[HEAP32[$3 + 52 >> 2] + 120 >> 2]; + HEAPF32[$3 + 164 >> 2] = HEAPF32[HEAP32[$3 + 48 >> 2] + 128 >> 2]; + HEAPF32[$3 + 168 >> 2] = HEAPF32[HEAP32[$3 + 52 >> 2] + 128 >> 2]; + $4 = HEAP32[HEAP32[$2 + 216 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 208 >> 2] = $0; + HEAP32[$2 + 212 >> 2] = $1; + HEAPF32[$2 + 204 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 216 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 216 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 192 >> 2] = $1; + HEAP32[$2 + 196 >> 2] = $0; + HEAPF32[$2 + 188 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 216 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 216 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 176 >> 2] = $0; + HEAP32[$2 + 180 >> 2] = $1; + HEAPF32[$2 + 172 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 216 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 216 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 160 >> 2] = $1; + HEAP32[$2 + 164 >> 2] = $0; + HEAPF32[$2 + 156 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 216 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 148 | 0, HEAPF32[$2 + 204 >> 2]); + b2Rot__b2Rot_28float_29($2 + 140 | 0, HEAPF32[$2 + 172 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 124 | 0, $3 + 68 | 0, $3 + 128 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 132 | 0, $2 + 148 | 0, $2 + 124 | 0); + $1 = HEAP32[$2 + 136 >> 2]; + $0 = HEAP32[$2 + 132 >> 2]; + HEAP32[$3 + 112 >> 2] = $0; + HEAP32[$3 + 116 >> 2] = $1; + b2Vec2__operator__28_29_20const($2 + 108 | 0, $3 + 136 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $2 + 140 | 0, $2 + 108 | 0); + $0 = HEAP32[$2 + 120 >> 2]; + $1 = HEAP32[$2 + 116 >> 2]; + HEAP32[$3 + 120 >> 2] = $1; + HEAP32[$3 + 124 >> 2] = $0; + HEAPF32[$2 + 104 >> 2] = HEAPF32[$3 + 156 >> 2]; + HEAPF32[$2 + 100 >> 2] = HEAPF32[$3 + 160 >> 2]; + HEAPF32[$2 + 96 >> 2] = HEAPF32[$3 + 164 >> 2]; + HEAPF32[$2 + 92 >> 2] = HEAPF32[$3 + 168 >> 2]; + b2Mat22__b2Mat22_28_29($2 + 76 | 0); + HEAPF32[$2 + 76 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 92 >> 2] * HEAPF32[$3 + 124 >> 2]) * HEAPF32[$3 + 124 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 96 >> 2] * HEAPF32[$3 + 116 >> 2]) * HEAPF32[$3 + 116 >> 2]) + Math_fround(HEAPF32[$2 + 104 >> 2] + HEAPF32[$2 + 100 >> 2])); + HEAPF32[$2 + 80 >> 2] = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 96 >> 2]) * HEAPF32[$3 + 112 >> 2]) * HEAPF32[$3 + 116 >> 2]) - Math_fround(Math_fround(HEAPF32[$2 + 92 >> 2] * HEAPF32[$3 + 120 >> 2]) * HEAPF32[$3 + 124 >> 2]); + HEAPF32[$2 + 84 >> 2] = HEAPF32[$2 + 80 >> 2]; + HEAPF32[$2 + 88 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 92 >> 2] * HEAPF32[$3 + 120 >> 2]) * HEAPF32[$3 + 120 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 96 >> 2] * HEAPF32[$3 + 112 >> 2]) * HEAPF32[$3 + 112 >> 2]) + Math_fround(HEAPF32[$2 + 104 >> 2] + HEAPF32[$2 + 100 >> 2])); + b2Mat22__GetInverse_28_29_20const($2 + 60 | 0, $2 + 76 | 0); + $1 = HEAP32[$2 + 64 >> 2]; + $0 = HEAP32[$2 + 60 >> 2]; + HEAP32[$3 + 172 >> 2] = $0; + HEAP32[$3 + 176 >> 2] = $1; + $0 = HEAP32[$2 + 72 >> 2]; + $1 = HEAP32[$2 + 68 >> 2]; + HEAP32[$3 + 180 >> 2] = $1; + HEAP32[$3 + 184 >> 2] = $0; + HEAPF32[$3 + 188 >> 2] = HEAPF32[$2 + 96 >> 2] + HEAPF32[$2 + 92 >> 2]; + if (HEAPF32[$3 + 188 >> 2] > Math_fround(0)) { + HEAPF32[$3 + 188 >> 2] = Math_fround(1) / HEAPF32[$3 + 188 >> 2]; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 36 | 0, $2 + 176 | 0, $3 + 120 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 44 | 0, $2 + 36 | 0, $2 + 208 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 52 | 0, $2 + 44 | 0, $3 + 112 | 0); + $1 = HEAP32[$2 + 56 >> 2]; + $0 = HEAP32[$2 + 52 >> 2]; + HEAP32[$3 + 144 >> 2] = $0; + HEAP32[$3 + 148 >> 2] = $1; + HEAPF32[$3 + 152 >> 2] = Math_fround(HEAPF32[$2 + 172 >> 2] - HEAPF32[$2 + 204 >> 2]) - HEAPF32[$3 + 76 >> 2]; + label$2: { + if (HEAP8[HEAP32[$2 + 216 >> 2] + 20 | 0] & 1) { + b2Vec2__operator___28float_29($3 + 80 | 0, HEAPF32[HEAP32[$2 + 216 >> 2] + 8 >> 2]); + HEAPF32[$3 + 88 >> 2] = HEAPF32[$3 + 88 >> 2] * HEAPF32[HEAP32[$2 + 216 >> 2] + 8 >> 2]; + b2Vec2__b2Vec2_28float_2c_20float_29($2 + 28 | 0, HEAPF32[$3 + 80 >> 2], HEAPF32[$3 + 84 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, HEAPF32[$2 + 104 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 192 | 0, $2 + 20 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 96 >> 2]) * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 112 | 0, $2 + 28 | 0) + HEAPF32[$3 + 88 >> 2])) + HEAPF32[$2 + 188 >> 2]), + HEAPF32[wasm2js_i32$0 + 188 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$2 + 100 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 160 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 92 >> 2] * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 120 | 0, $2 + 28 | 0) + HEAPF32[$3 + 88 >> 2])) + HEAPF32[$2 + 156 >> 2]), + HEAPF32[wasm2js_i32$0 + 156 >> 2] = wasm2js_f32$0; + break label$2; + } + b2Vec2__SetZero_28_29($3 + 80 | 0); + HEAPF32[$3 + 88 >> 2] = 0; + } + $0 = HEAP32[$2 + 196 >> 2]; + $1 = HEAP32[$2 + 192 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 216 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 216 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 188 >> 2]; + $1 = HEAP32[$2 + 164 >> 2]; + $0 = HEAP32[$2 + 160 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 216 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 216 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 156 >> 2]; + __stack_pointer = $2 + 224 | 0; +} + +function emscripten__class__std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___2c_20emscripten__internal__NoBaseClass__20emscripten__register_vector_b2Vec2__28char_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 256 | 0; + __stack_pointer = $1; + HEAP32[$1 + 80 >> 2] = $0; + HEAP32[$1 + 76 >> 2] = 0; + HEAP32[$1 + 72 >> 2] = 422; + HEAP32[$1 + 68 >> 2] = 0; + HEAP32[$1 + 64 >> 2] = 423; + HEAP32[$1 + 60 >> 2] = 0; + HEAP32[$1 + 56 >> 2] = 424; + $0 = HEAP32[$1 + 80 >> 2]; + HEAP32[$1 + 104 >> 2] = $1 + 55; + HEAP32[$1 + 100 >> 2] = $0; + void_20emscripten__internal__NoBaseClass__verify_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28_29(); + HEAP32[$1 + 96 >> 2] = 425; + wasm2js_i32$0 = $1, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 92 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 88 >> 2] = wasm2js_i32$1; + HEAP32[$1 + 84 >> 2] = 426; + $0 = emscripten__internal__TypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$1 + 240 >> 2] = HEAP32[$1 + 96 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$1 + 96 >> 2]; + HEAP32[$1 + 112 >> 2] = HEAP32[$1 + 92 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$1 + 92 >> 2]; + HEAP32[$1 + 108 >> 2] = HEAP32[$1 + 88 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$1 + 88 >> 2]; + $11 = HEAP32[$1 + 100 >> 2]; + HEAP32[$1 + 244 >> 2] = HEAP32[$1 + 84 >> 2]; + _embind_register_class($0 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$1 + 84 >> 2]); + HEAP32[$1 + 116 >> 2] = $1 + 55; + HEAP32[$1 + 252 >> 2] = HEAP32[$1 + 116 >> 2]; + HEAP32[$1 + 248 >> 2] = 427; + $3 = HEAP32[$1 + 252 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____20_28__29_28_29___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____20_28__29_28_29_29(HEAP32[$1 + 248 >> 2]); + $0 = HEAP32[$1 + 72 >> 2]; + HEAP32[$1 + 48 >> 2] = HEAP32[$1 + 76 >> 2]; + HEAP32[$1 + 44 >> 2] = $0; + $0 = HEAP32[$1 + 48 >> 2]; + $2 = HEAP32[$1 + 44 >> 2]; + HEAP32[$1 + 120 >> 2] = $2; + HEAP32[$1 + 124 >> 2] = $0; + $0 = HEAP32[$1 + 120 >> 2]; + $2 = HEAP32[$1 + 124 >> 2]; + HEAP32[$1 + 148 >> 2] = $3; + HEAP32[$1 + 144 >> 2] = 7037; + HEAP32[$1 + 140 >> 2] = $2; + HEAP32[$1 + 136 >> 2] = $0; + $3 = HEAP32[$1 + 148 >> 2]; + $4 = HEAP32[$1 + 144 >> 2]; + $0 = HEAP32[$1 + 136 >> 2]; + HEAP32[$1 + 132 >> 2] = HEAP32[$1 + 140 >> 2]; + HEAP32[$1 + 128 >> 2] = $0; + $2 = HEAP32[$1 + 132 >> 2]; + $0 = HEAP32[$1 + 128 >> 2]; + HEAP32[$1 + 16 >> 2] = $0; + HEAP32[$1 + 20 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28b2Vec2_20const__29___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28char_20const__2c_20void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28b2Vec2_20const__29_29($4, $1 + 16 | 0); + $0 = HEAP32[$1 + 64 >> 2]; + HEAP32[$1 + 40 >> 2] = HEAP32[$1 + 68 >> 2]; + HEAP32[$1 + 36 >> 2] = $0; + $0 = HEAP32[$1 + 40 >> 2]; + $2 = HEAP32[$1 + 36 >> 2]; + HEAP32[$1 + 152 >> 2] = $2; + HEAP32[$1 + 156 >> 2] = $0; + $0 = HEAP32[$1 + 152 >> 2]; + $2 = HEAP32[$1 + 156 >> 2]; + HEAP32[$1 + 180 >> 2] = $3; + HEAP32[$1 + 176 >> 2] = 8590; + HEAP32[$1 + 172 >> 2] = $2; + HEAP32[$1 + 168 >> 2] = $0; + $3 = HEAP32[$1 + 180 >> 2]; + $4 = HEAP32[$1 + 176 >> 2]; + $0 = HEAP32[$1 + 168 >> 2]; + HEAP32[$1 + 164 >> 2] = HEAP32[$1 + 172 >> 2]; + HEAP32[$1 + 160 >> 2] = $0; + $2 = HEAP32[$1 + 164 >> 2]; + $0 = HEAP32[$1 + 160 >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 + 12 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28unsigned_20long_2c_20b2Vec2_20const__29___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28char_20const__2c_20void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28unsigned_20long_2c_20b2Vec2_20const__29_29($4, $1 + 8 | 0); + $0 = HEAP32[$1 + 56 >> 2]; + HEAP32[$1 + 32 >> 2] = HEAP32[$1 + 60 >> 2]; + HEAP32[$1 + 28 >> 2] = $0; + $0 = HEAP32[$1 + 32 >> 2]; + $2 = HEAP32[$1 + 28 >> 2]; + HEAP32[$1 + 184 >> 2] = $2; + HEAP32[$1 + 188 >> 2] = $0; + $0 = HEAP32[$1 + 184 >> 2]; + $2 = HEAP32[$1 + 188 >> 2]; + HEAP32[$1 + 212 >> 2] = $3; + HEAP32[$1 + 208 >> 2] = 8601; + HEAP32[$1 + 204 >> 2] = $2; + HEAP32[$1 + 200 >> 2] = $0; + $3 = HEAP32[$1 + 212 >> 2]; + $4 = HEAP32[$1 + 208 >> 2]; + $0 = HEAP32[$1 + 200 >> 2]; + HEAP32[$1 + 196 >> 2] = HEAP32[$1 + 204 >> 2]; + HEAP32[$1 + 192 >> 2] = $0; + $2 = HEAP32[$1 + 196 >> 2]; + $0 = HEAP32[$1 + 192 >> 2]; + HEAP32[$1 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28_29_20const___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28char_20const__2c_20unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28_29_20const_29($4, $1); + HEAP32[$1 + 224 >> 2] = $3; + HEAP32[$1 + 220 >> 2] = 3015; + HEAP32[$1 + 216 >> 2] = 428; + $0 = HEAP32[$1 + 224 >> 2]; + void_20emscripten__internal__RegisterClassMethod_emscripten__val_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28char_20const__2c_20emscripten__val_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29_29(HEAP32[$1 + 220 >> 2], HEAP32[$1 + 216 >> 2]); + HEAP32[$1 + 236 >> 2] = $0; + HEAP32[$1 + 232 >> 2] = 2962; + HEAP32[$1 + 228 >> 2] = 429; + void_20emscripten__internal__RegisterClassMethod_bool_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28char_20const__2c_20bool_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29_29(HEAP32[$1 + 232 >> 2], HEAP32[$1 + 228 >> 2]); + __stack_pointer = $1 + 256 | 0; +} + +function b2RevoluteJoint__SolvePositionConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 208 | 0; + __stack_pointer = $2; + HEAP32[$2 + 204 >> 2] = $0; + HEAP32[$2 + 200 >> 2] = $1; + $3 = HEAP32[$2 + 204 >> 2]; + $4 = HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 132 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 192 >> 2] = $1; + HEAP32[$2 + 196 >> 2] = $0; + HEAPF32[$2 + 188 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 132 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 136 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 176 >> 2] = $0; + HEAP32[$2 + 180 >> 2] = $1; + HEAPF32[$2 + 172 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 136 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 164 | 0, HEAPF32[$2 + 188 >> 2]); + b2Rot__b2Rot_28float_29($2 + 156 | 0, HEAPF32[$2 + 172 >> 2]); + HEAPF32[$2 + 152 >> 2] = 0; + HEAPF32[$2 + 148 >> 2] = 0; + HEAP8[$2 + 147 | 0] = Math_fround(HEAPF32[$3 + 180 >> 2] + HEAPF32[$3 + 184 >> 2]) == Math_fround(0); + HEAP8[$2 + 146 | 0] = 0; + if (!(!(HEAP8[$3 + 116 | 0] & 1) | HEAP8[$2 + 147 | 0] & 1)) { + HEAPF32[$2 + 140 >> 2] = Math_fround(HEAPF32[$2 + 172 >> 2] - HEAPF32[$2 + 188 >> 2]) - HEAPF32[$3 + 120 >> 2]; + HEAPF32[$2 + 136 >> 2] = 0; + label$2: { + if (float_20b2Abs_float__28float_29(Math_fround(HEAPF32[$3 + 128 >> 2] - HEAPF32[$3 + 124 >> 2])) < Math_fround(.06981317698955536)) { + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(Math_fround(HEAPF32[$2 + 140 >> 2] - HEAPF32[$3 + 124 >> 2]), Math_fround(-.13962635397911072), Math_fround(.13962635397911072)), + HEAPF32[wasm2js_i32$0 + 136 >> 2] = wasm2js_f32$0; + break label$2; + } + label$4: { + if (HEAPF32[$2 + 140 >> 2] <= HEAPF32[$3 + 124 >> 2]) { + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[$2 + 140 >> 2] - HEAPF32[$3 + 124 >> 2]) + Math_fround(.03490658849477768)), Math_fround(-.13962635397911072), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 136 >> 2] = wasm2js_f32$0; + break label$4; + } + if (HEAPF32[$2 + 140 >> 2] >= HEAPF32[$3 + 128 >> 2]) { + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[$2 + 140 >> 2] - HEAPF32[$3 + 128 >> 2]) + Math_fround(-.03490658849477768)), Math_fround(0), Math_fround(.13962635397911072)), + HEAPF32[wasm2js_i32$0 + 136 >> 2] = wasm2js_f32$0; + } + } + } + HEAPF32[$2 + 132 >> 2] = Math_fround(-HEAPF32[$3 + 208 >> 2]) * HEAPF32[$2 + 136 >> 2]; + HEAPF32[$2 + 188 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 180 >> 2]) * HEAPF32[$2 + 132 >> 2]) + HEAPF32[$2 + 188 >> 2]; + HEAPF32[$2 + 172 >> 2] = Math_fround(HEAPF32[$3 + 184 >> 2] * HEAPF32[$2 + 132 >> 2]) + HEAPF32[$2 + 172 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Abs_float__28float_29(HEAPF32[$2 + 136 >> 2]), + HEAPF32[wasm2js_i32$0 + 152 >> 2] = wasm2js_f32$0; + } + b2Rot__Set_28float_29($2 + 164 | 0, HEAPF32[$2 + 188 >> 2]); + b2Rot__Set_28float_29($2 + 156 | 0, HEAPF32[$2 + 172 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $3 + 68 | 0, $3 + 156 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 124 | 0, $2 + 164 | 0, $2 + 116 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 100 | 0, $3 + 76 | 0, $3 + 164 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 108 | 0, $2 + 156 | 0, $2 + 100 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 76 | 0, $2 + 176 | 0, $2 + 108 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $2 + 76 | 0, $2 + 192 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 92 | 0, $2 + 84 | 0, $2 + 124 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Vec2__Length_28_29_20const($2 + 92 | 0), HEAPF32[wasm2js_i32$0 + 148 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 72 >> 2] = HEAPF32[$3 + 172 >> 2]; + HEAPF32[$2 + 68 >> 2] = HEAPF32[$3 + 176 >> 2]; + HEAPF32[$2 + 64 >> 2] = HEAPF32[$3 + 180 >> 2]; + HEAPF32[$2 + 60 >> 2] = HEAPF32[$3 + 184 >> 2]; + b2Mat22__b2Mat22_28_29($2 + 44 | 0); + HEAPF32[$2 + 44 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 60 >> 2] * HEAPF32[$2 + 112 >> 2]) * HEAPF32[$2 + 112 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 64 >> 2] * HEAPF32[$2 + 128 >> 2]) * HEAPF32[$2 + 128 >> 2]) + Math_fround(HEAPF32[$2 + 72 >> 2] + HEAPF32[$2 + 68 >> 2])); + HEAPF32[$2 + 48 >> 2] = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 64 >> 2]) * HEAPF32[$2 + 124 >> 2]) * HEAPF32[$2 + 128 >> 2]) - Math_fround(Math_fround(HEAPF32[$2 + 60 >> 2] * HEAPF32[$2 + 108 >> 2]) * HEAPF32[$2 + 112 >> 2]); + HEAPF32[$2 + 52 >> 2] = HEAPF32[$2 + 48 >> 2]; + HEAPF32[$2 + 56 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 60 >> 2] * HEAPF32[$2 + 108 >> 2]) * HEAPF32[$2 + 108 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 64 >> 2] * HEAPF32[$2 + 124 >> 2]) * HEAPF32[$2 + 124 >> 2]) + Math_fround(HEAPF32[$2 + 72 >> 2] + HEAPF32[$2 + 68 >> 2])); + b2Mat22__Solve_28b2Vec2_20const__29_20const($2 + 28 | 0, $2 + 44 | 0, $2 + 92 | 0); + b2Vec2__operator__28_29_20const($2 + 36 | 0, $2 + 28 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, HEAPF32[$2 + 72 >> 2], $2 + 36 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 192 | 0, $2 + 20 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 64 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 124 | 0, $2 + 36 | 0)) + HEAPF32[$2 + 188 >> 2]), + HEAPF32[wasm2js_i32$0 + 188 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$2 + 68 >> 2], $2 + 36 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 176 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 60 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 108 | 0, $2 + 36 | 0)) + HEAPF32[$2 + 172 >> 2]), + HEAPF32[wasm2js_i32$0 + 172 >> 2] = wasm2js_f32$0; + $0 = HEAP32[$2 + 196 >> 2]; + $1 = HEAP32[$2 + 192 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 132 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 132 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 188 >> 2]; + $1 = HEAP32[$2 + 180 >> 2]; + $0 = HEAP32[$2 + 176 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 136 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 200 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 136 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 172 >> 2]; + __stack_pointer = $2 + 208 | 0; + $5 = HEAPF32[$2 + 148 >> 2] <= Math_fround(.004999999888241291) ? HEAPF32[$2 + 152 >> 2] <= Math_fround(.03490658849477768) : $5; + return $5 | 0; +} + +function b2ContactSolver__SolvePositionConstraints_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 272 | 0; + __stack_pointer = $1; + HEAP32[$1 + 268 >> 2] = $0; + $4 = HEAP32[$1 + 268 >> 2]; + HEAPF32[$1 + 264 >> 2] = 0; + HEAP32[$1 + 260 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 260 >> 2] < HEAP32[$4 + 48 >> 2]) { + HEAP32[$1 + 256 >> 2] = HEAP32[$4 + 36 >> 2] + Math_imul(HEAP32[$1 + 260 >> 2], 88); + HEAP32[$1 + 252 >> 2] = HEAP32[HEAP32[$1 + 256 >> 2] + 32 >> 2]; + HEAP32[$1 + 248 >> 2] = HEAP32[HEAP32[$1 + 256 >> 2] + 36 >> 2]; + $2 = HEAP32[$1 + 256 >> 2]; + $3 = HEAP32[$2 + 48 >> 2]; + $0 = HEAP32[$2 + 52 >> 2]; + HEAP32[$1 + 240 >> 2] = $3; + HEAP32[$1 + 244 >> 2] = $0; + HEAPF32[$1 + 236 >> 2] = HEAPF32[HEAP32[$1 + 256 >> 2] + 40 >> 2]; + HEAPF32[$1 + 232 >> 2] = HEAPF32[HEAP32[$1 + 256 >> 2] + 64 >> 2]; + $2 = HEAP32[$1 + 256 >> 2]; + $0 = HEAP32[$2 + 56 >> 2]; + $3 = HEAP32[$2 + 60 >> 2]; + HEAP32[$1 + 224 >> 2] = $0; + HEAP32[$1 + 228 >> 2] = $3; + HEAPF32[$1 + 220 >> 2] = HEAPF32[HEAP32[$1 + 256 >> 2] + 44 >> 2]; + HEAPF32[$1 + 216 >> 2] = HEAPF32[HEAP32[$1 + 256 >> 2] + 68 >> 2]; + HEAP32[$1 + 212 >> 2] = HEAP32[HEAP32[$1 + 256 >> 2] + 84 >> 2]; + $2 = HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 252 >> 2], 12) | 0; + $3 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + HEAP32[$1 + 200 >> 2] = $3; + HEAP32[$1 + 204 >> 2] = $0; + HEAPF32[$1 + 196 >> 2] = HEAPF32[(HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 252 >> 2], 12) | 0) + 8 >> 2]; + $2 = HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 248 >> 2], 12) | 0; + $0 = HEAP32[$2 >> 2]; + $3 = HEAP32[$2 + 4 >> 2]; + HEAP32[$1 + 184 >> 2] = $0; + HEAP32[$1 + 188 >> 2] = $3; + HEAPF32[$1 + 180 >> 2] = HEAPF32[(HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 248 >> 2], 12) | 0) + 8 >> 2]; + HEAP32[$1 + 176 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 176 >> 2] < HEAP32[$1 + 212 >> 2]) { + b2Transform__b2Transform_28_29($1 + 160 | 0); + b2Transform__b2Transform_28_29($1 + 144 | 0); + b2Rot__Set_28float_29($1 + 168 | 0, HEAPF32[$1 + 196 >> 2]); + b2Rot__Set_28float_29($1 + 152 | 0, HEAPF32[$1 + 180 >> 2]); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($1 + 128 | 0, $1 + 168 | 0, $1 + 240 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 136 | 0, $1 + 200 | 0, $1 + 128 | 0); + $0 = HEAP32[$1 + 140 >> 2]; + $3 = HEAP32[$1 + 136 >> 2]; + $2 = $3; + $3 = $1 + 160 | 0; + HEAP32[$3 >> 2] = $2; + HEAP32[$3 + 4 >> 2] = $0; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($1 + 112 | 0, $1 + 152 | 0, $1 + 224 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 120 | 0, $1 + 184 | 0, $1 + 112 | 0); + $3 = HEAP32[$1 + 124 >> 2]; + $0 = HEAP32[$1 + 120 >> 2]; + $2 = $0; + $0 = $1 + 144 | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $3; + b2PositionSolverManifold__b2PositionSolverManifold_28_29($1 + 92 | 0); + b2PositionSolverManifold__Initialize_28b2ContactPositionConstraint__2c_20b2Transform_20const__2c_20b2Transform_20const__2c_20int_29($1 + 92 | 0, HEAP32[$1 + 256 >> 2], $1 + 160 | 0, $1 + 144 | 0, HEAP32[$1 + 176 >> 2]); + $2 = $1 + 92 | 0; + $3 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + HEAP32[$1 + 80 >> 2] = $3; + HEAP32[$1 + 84 >> 2] = $0; + $2 = $1 + 92 | 0; + $0 = HEAP32[$2 + 8 >> 2]; + $3 = HEAP32[$2 + 12 >> 2]; + HEAP32[$1 + 72 >> 2] = $0; + HEAP32[$1 + 76 >> 2] = $3; + HEAPF32[$1 + 68 >> 2] = HEAPF32[$1 + 108 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 60 | 0, $1 + 72 | 0, $1 + 200 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 52 | 0, $1 + 72 | 0, $1 + 184 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = float_20b2Min_float__28float_2c_20float_29(HEAPF32[$1 + 264 >> 2], HEAPF32[$1 + 68 >> 2]), + HEAPF32[wasm2js_i32$0 + 264 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[$1 + 68 >> 2] + Math_fround(.004999999888241291)) * Math_fround(.20000000298023224)), Math_fround(-.20000000298023224), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 48 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 60 | 0, $1 + 80 | 0), + HEAPF32[wasm2js_i32$0 + 44 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 52 | 0, $1 + 80 | 0), + HEAPF32[wasm2js_i32$0 + 40 >> 2] = wasm2js_f32$0; + HEAPF32[$1 + 36 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 216 >> 2] * HEAPF32[$1 + 40 >> 2]) * HEAPF32[$1 + 40 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 232 >> 2] * HEAPF32[$1 + 44 >> 2]) * HEAPF32[$1 + 44 >> 2]) + Math_fround(HEAPF32[$1 + 236 >> 2] + HEAPF32[$1 + 220 >> 2])); + if (HEAPF32[$1 + 36 >> 2] > Math_fround(0)) { + $5 = Math_fround(Math_fround(-HEAPF32[$1 + 48 >> 2]) / HEAPF32[$1 + 36 >> 2]); + } else { + $5 = Math_fround(0); + } + HEAPF32[$1 + 32 >> 2] = $5; + operator__28float_2c_20b2Vec2_20const__29($1 + 24 | 0, HEAPF32[$1 + 32 >> 2], $1 + 80 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 16 | 0, HEAPF32[$1 + 236 >> 2], $1 + 24 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($1 + 200 | 0, $1 + 16 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$1 + 232 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 60 | 0, $1 + 24 | 0)) + HEAPF32[$1 + 196 >> 2]), + HEAPF32[wasm2js_i32$0 + 196 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($1 + 8 | 0, HEAPF32[$1 + 220 >> 2], $1 + 24 | 0); + b2Vec2__operator___28b2Vec2_20const__29($1 + 184 | 0, $1 + 8 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 216 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 52 | 0, $1 + 24 | 0)) + HEAPF32[$1 + 180 >> 2]), + HEAPF32[wasm2js_i32$0 + 180 >> 2] = wasm2js_f32$0; + HEAP32[$1 + 176 >> 2] = HEAP32[$1 + 176 >> 2] + 1; + continue; + } + break; + } + $0 = HEAP32[$1 + 204 >> 2]; + $3 = HEAP32[$1 + 200 >> 2]; + $2 = $3; + $3 = HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 252 >> 2], 12) | 0; + HEAP32[$3 >> 2] = $2; + HEAP32[$3 + 4 >> 2] = $0; + HEAPF32[(HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 252 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$1 + 196 >> 2]; + $3 = HEAP32[$1 + 188 >> 2]; + $0 = HEAP32[$1 + 184 >> 2]; + $2 = $0; + $0 = HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 248 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $3; + HEAPF32[(HEAP32[$4 + 24 >> 2] + Math_imul(HEAP32[$1 + 248 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$1 + 180 >> 2]; + HEAP32[$1 + 260 >> 2] = HEAP32[$1 + 260 >> 2] + 1; + continue; + } + break; + } + __stack_pointer = $1 + 272 | 0; + return HEAPF32[$1 + 264 >> 2] >= Math_fround(-.014999999664723873); +} + +function emscripten__class__std____2__vector_int_2c_20std____2__allocator_int___2c_20emscripten__internal__NoBaseClass__20emscripten__register_vector_int__28char_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 256 | 0; + __stack_pointer = $1; + HEAP32[$1 + 80 >> 2] = $0; + HEAP32[$1 + 76 >> 2] = 0; + HEAP32[$1 + 72 >> 2] = 410; + HEAP32[$1 + 68 >> 2] = 0; + HEAP32[$1 + 64 >> 2] = 411; + HEAP32[$1 + 60 >> 2] = 0; + HEAP32[$1 + 56 >> 2] = 412; + $0 = HEAP32[$1 + 80 >> 2]; + HEAP32[$1 + 104 >> 2] = $1 + 55; + HEAP32[$1 + 100 >> 2] = $0; + void_20emscripten__internal__NoBaseClass__verify_std____2__vector_int_2c_20std____2__allocator_int____28_29(); + HEAP32[$1 + 96 >> 2] = 413; + wasm2js_i32$0 = $1, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_std____2__vector_int_2c_20std____2__allocator_int____28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 92 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_std____2__vector_int_2c_20std____2__allocator_int____28_29_29_28_29(), + HEAP32[wasm2js_i32$0 + 88 >> 2] = wasm2js_i32$1; + HEAP32[$1 + 84 >> 2] = 414; + $0 = emscripten__internal__TypeID_std____2__vector_int_2c_20std____2__allocator_int___2c_20void___get_28_29(); + $2 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20void___get_28_29(); + $3 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20void___get_28_29(); + $4 = emscripten__internal__NoBaseClass__get_28_29(); + HEAP32[$1 + 232 >> 2] = HEAP32[$1 + 96 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29(); + $6 = HEAP32[$1 + 96 >> 2]; + HEAP32[$1 + 240 >> 2] = HEAP32[$1 + 92 >> 2]; + $7 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $8 = HEAP32[$1 + 92 >> 2]; + HEAP32[$1 + 236 >> 2] = HEAP32[$1 + 88 >> 2]; + $9 = char_20const__20emscripten__internal__getGenericSignature_void__28_29(); + $10 = HEAP32[$1 + 88 >> 2]; + $11 = HEAP32[$1 + 100 >> 2]; + HEAP32[$1 + 244 >> 2] = HEAP32[$1 + 84 >> 2]; + _embind_register_class($0 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, $9 | 0, $10 | 0, $11 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$1 + 84 >> 2]); + HEAP32[$1 + 108 >> 2] = $1 + 55; + HEAP32[$1 + 252 >> 2] = HEAP32[$1 + 108 >> 2]; + HEAP32[$1 + 248 >> 2] = 415; + $3 = HEAP32[$1 + 252 >> 2]; + void_20emscripten__internal__RegisterClassConstructor_std____2__vector_int_2c_20std____2__allocator_int____20_28__29_28_29___invoke_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____20_28__29_28_29_29(HEAP32[$1 + 248 >> 2]); + $0 = HEAP32[$1 + 72 >> 2]; + HEAP32[$1 + 48 >> 2] = HEAP32[$1 + 76 >> 2]; + HEAP32[$1 + 44 >> 2] = $0; + $0 = HEAP32[$1 + 48 >> 2]; + $2 = HEAP32[$1 + 44 >> 2]; + HEAP32[$1 + 112 >> 2] = $2; + HEAP32[$1 + 116 >> 2] = $0; + $0 = HEAP32[$1 + 112 >> 2]; + $2 = HEAP32[$1 + 116 >> 2]; + HEAP32[$1 + 140 >> 2] = $3; + HEAP32[$1 + 136 >> 2] = 7037; + HEAP32[$1 + 132 >> 2] = $2; + HEAP32[$1 + 128 >> 2] = $0; + $3 = HEAP32[$1 + 140 >> 2]; + $4 = HEAP32[$1 + 136 >> 2]; + $0 = HEAP32[$1 + 128 >> 2]; + HEAP32[$1 + 124 >> 2] = HEAP32[$1 + 132 >> 2]; + HEAP32[$1 + 120 >> 2] = $0; + $2 = HEAP32[$1 + 124 >> 2]; + $0 = HEAP32[$1 + 120 >> 2]; + HEAP32[$1 + 16 >> 2] = $0; + HEAP32[$1 + 20 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28int_20const__29___invoke_std____2__vector_int_2c_20std____2__allocator_int____28char_20const__2c_20void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28int_20const__29_29($4, $1 + 16 | 0); + $0 = HEAP32[$1 + 64 >> 2]; + HEAP32[$1 + 40 >> 2] = HEAP32[$1 + 68 >> 2]; + HEAP32[$1 + 36 >> 2] = $0; + $0 = HEAP32[$1 + 40 >> 2]; + $2 = HEAP32[$1 + 36 >> 2]; + HEAP32[$1 + 144 >> 2] = $2; + HEAP32[$1 + 148 >> 2] = $0; + $0 = HEAP32[$1 + 144 >> 2]; + $2 = HEAP32[$1 + 148 >> 2]; + HEAP32[$1 + 172 >> 2] = $3; + HEAP32[$1 + 168 >> 2] = 8590; + HEAP32[$1 + 164 >> 2] = $2; + HEAP32[$1 + 160 >> 2] = $0; + $3 = HEAP32[$1 + 172 >> 2]; + $4 = HEAP32[$1 + 168 >> 2]; + $0 = HEAP32[$1 + 160 >> 2]; + HEAP32[$1 + 156 >> 2] = HEAP32[$1 + 164 >> 2]; + HEAP32[$1 + 152 >> 2] = $0; + $2 = HEAP32[$1 + 156 >> 2]; + $0 = HEAP32[$1 + 152 >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 + 12 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28unsigned_20long_2c_20int_20const__29___invoke_std____2__vector_int_2c_20std____2__allocator_int____28char_20const__2c_20void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28unsigned_20long_2c_20int_20const__29_29($4, $1 + 8 | 0); + $0 = HEAP32[$1 + 56 >> 2]; + HEAP32[$1 + 32 >> 2] = HEAP32[$1 + 60 >> 2]; + HEAP32[$1 + 28 >> 2] = $0; + $0 = HEAP32[$1 + 32 >> 2]; + $2 = HEAP32[$1 + 28 >> 2]; + HEAP32[$1 + 176 >> 2] = $2; + HEAP32[$1 + 180 >> 2] = $0; + $0 = HEAP32[$1 + 176 >> 2]; + $2 = HEAP32[$1 + 180 >> 2]; + HEAP32[$1 + 204 >> 2] = $3; + HEAP32[$1 + 200 >> 2] = 8601; + HEAP32[$1 + 196 >> 2] = $2; + HEAP32[$1 + 192 >> 2] = $0; + $3 = HEAP32[$1 + 204 >> 2]; + $4 = HEAP32[$1 + 200 >> 2]; + $0 = HEAP32[$1 + 192 >> 2]; + HEAP32[$1 + 188 >> 2] = HEAP32[$1 + 196 >> 2]; + HEAP32[$1 + 184 >> 2] = $0; + $2 = HEAP32[$1 + 188 >> 2]; + $0 = HEAP32[$1 + 184 >> 2]; + HEAP32[$1 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = $2; + void_20emscripten__internal__RegisterClassMethod_unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28_29_20const___invoke_std____2__vector_int_2c_20std____2__allocator_int____28char_20const__2c_20unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28_29_20const_29($4, $1); + HEAP32[$1 + 216 >> 2] = $3; + HEAP32[$1 + 212 >> 2] = 3015; + HEAP32[$1 + 208 >> 2] = 416; + $0 = HEAP32[$1 + 216 >> 2]; + void_20emscripten__internal__RegisterClassMethod_emscripten__val_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29___invoke_std____2__vector_int_2c_20std____2__allocator_int____28char_20const__2c_20emscripten__val_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29_29(HEAP32[$1 + 212 >> 2], HEAP32[$1 + 208 >> 2]); + HEAP32[$1 + 228 >> 2] = $0; + HEAP32[$1 + 224 >> 2] = 2962; + HEAP32[$1 + 220 >> 2] = 417; + void_20emscripten__internal__RegisterClassMethod_bool_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29___invoke_std____2__vector_int_2c_20std____2__allocator_int____28char_20const__2c_20bool_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29_29(HEAP32[$1 + 224 >> 2], HEAP32[$1 + 220 >> 2]); + __stack_pointer = $1 + 256 | 0; +} + +function b2ContactSolver__b2ContactSolver_28b2ContactSolverDef__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 80 | 0; + __stack_pointer = $2; + HEAP32[$2 + 72 >> 2] = $0; + HEAP32[$2 + 68 >> 2] = $1; + $4 = HEAP32[$2 + 72 >> 2]; + HEAP32[$2 + 76 >> 2] = $4; + $3 = HEAP32[$2 + 68 >> 2]; + $0 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + HEAP32[$4 >> 2] = $0; + HEAP32[$4 + 4 >> 2] = $1; + $0 = HEAP32[$3 + 20 >> 2]; + $1 = HEAP32[$3 + 16 >> 2]; + HEAP32[$4 + 16 >> 2] = $1; + HEAP32[$4 + 20 >> 2] = $0; + $1 = HEAP32[$3 + 12 >> 2]; + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$4 + 8 >> 2] = $0; + HEAP32[$4 + 12 >> 2] = $1; + HEAP32[$4 + 32 >> 2] = HEAP32[HEAP32[$2 + 68 >> 2] + 40 >> 2]; + HEAP32[$4 + 48 >> 2] = HEAP32[HEAP32[$2 + 68 >> 2] + 28 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = b2StackAllocator__Allocate_28int_29(HEAP32[$4 + 32 >> 2], Math_imul(HEAP32[$4 + 48 >> 2], 88)), + HEAP32[wasm2js_i32$0 + 36 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $4, wasm2js_i32$1 = b2StackAllocator__Allocate_28int_29(HEAP32[$4 + 32 >> 2], Math_imul(HEAP32[$4 + 48 >> 2], 156)), + HEAP32[wasm2js_i32$0 + 40 >> 2] = wasm2js_i32$1; + HEAP32[$4 + 24 >> 2] = HEAP32[HEAP32[$2 + 68 >> 2] + 32 >> 2]; + HEAP32[$4 + 28 >> 2] = HEAP32[HEAP32[$2 + 68 >> 2] + 36 >> 2]; + HEAP32[$4 + 44 >> 2] = HEAP32[HEAP32[$2 + 68 >> 2] + 24 >> 2]; + HEAP32[$2 + 64 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 64 >> 2] < HEAP32[$4 + 48 >> 2]) { + HEAP32[$2 + 60 >> 2] = HEAP32[HEAP32[$4 + 44 >> 2] + (HEAP32[$2 + 64 >> 2] << 2) >> 2]; + HEAP32[$2 + 56 >> 2] = HEAP32[HEAP32[$2 + 60 >> 2] + 48 >> 2]; + HEAP32[$2 + 52 >> 2] = HEAP32[HEAP32[$2 + 60 >> 2] + 52 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$2 + 56 >> 2]), + HEAP32[wasm2js_i32$0 + 48 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$2 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + HEAPF32[$2 + 40 >> 2] = HEAPF32[HEAP32[$2 + 48 >> 2] + 8 >> 2]; + HEAPF32[$2 + 36 >> 2] = HEAPF32[HEAP32[$2 + 44 >> 2] + 8 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$2 + 56 >> 2]), + HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$2 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Contact__GetManifold_28_29(HEAP32[$2 + 60 >> 2]), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + HEAP32[$2 + 20 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 60 >> 2]; + if (HEAP32[$2 + 20 >> 2] <= 0) { + __assert_fail(12240, 5487, 78, 3833); + wasm2js_trap(); + } else { + HEAP32[$2 + 16 >> 2] = HEAP32[$4 + 40 >> 2] + Math_imul(HEAP32[$2 + 64 >> 2], 156); + HEAPF32[HEAP32[$2 + 16 >> 2] + 136 >> 2] = HEAPF32[HEAP32[$2 + 60 >> 2] + 136 >> 2]; + HEAPF32[HEAP32[$2 + 16 >> 2] + 140 >> 2] = HEAPF32[HEAP32[$2 + 60 >> 2] + 140 >> 2]; + HEAPF32[HEAP32[$2 + 16 >> 2] + 144 >> 2] = HEAPF32[HEAP32[$2 + 60 >> 2] + 144 >> 2]; + HEAP32[HEAP32[$2 + 16 >> 2] + 112 >> 2] = HEAP32[HEAP32[$2 + 32 >> 2] + 8 >> 2]; + HEAP32[HEAP32[$2 + 16 >> 2] + 116 >> 2] = HEAP32[HEAP32[$2 + 28 >> 2] + 8 >> 2]; + HEAPF32[HEAP32[$2 + 16 >> 2] + 120 >> 2] = HEAPF32[HEAP32[$2 + 32 >> 2] + 120 >> 2]; + HEAPF32[HEAP32[$2 + 16 >> 2] + 124 >> 2] = HEAPF32[HEAP32[$2 + 28 >> 2] + 120 >> 2]; + HEAPF32[HEAP32[$2 + 16 >> 2] + 128 >> 2] = HEAPF32[HEAP32[$2 + 32 >> 2] + 128 >> 2]; + HEAPF32[HEAP32[$2 + 16 >> 2] + 132 >> 2] = HEAPF32[HEAP32[$2 + 28 >> 2] + 128 >> 2]; + HEAP32[HEAP32[$2 + 16 >> 2] + 152 >> 2] = HEAP32[$2 + 64 >> 2]; + HEAP32[HEAP32[$2 + 16 >> 2] + 148 >> 2] = HEAP32[$2 + 20 >> 2]; + b2Mat22__SetZero_28_29(HEAP32[$2 + 16 >> 2] + 96 | 0); + b2Mat22__SetZero_28_29(HEAP32[$2 + 16 >> 2] + 80 | 0); + HEAP32[$2 + 12 >> 2] = HEAP32[$4 + 36 >> 2] + Math_imul(HEAP32[$2 + 64 >> 2], 88); + HEAP32[HEAP32[$2 + 12 >> 2] + 32 >> 2] = HEAP32[HEAP32[$2 + 32 >> 2] + 8 >> 2]; + HEAP32[HEAP32[$2 + 12 >> 2] + 36 >> 2] = HEAP32[HEAP32[$2 + 28 >> 2] + 8 >> 2]; + HEAPF32[HEAP32[$2 + 12 >> 2] + 40 >> 2] = HEAPF32[HEAP32[$2 + 32 >> 2] + 120 >> 2]; + HEAPF32[HEAP32[$2 + 12 >> 2] + 44 >> 2] = HEAPF32[HEAP32[$2 + 28 >> 2] + 120 >> 2]; + $3 = HEAP32[$2 + 32 >> 2]; + $1 = HEAP32[$3 + 28 >> 2]; + $0 = HEAP32[$3 + 32 >> 2]; + $3 = $1; + $1 = HEAP32[$2 + 12 >> 2]; + HEAP32[$1 + 48 >> 2] = $3; + HEAP32[$1 + 52 >> 2] = $0; + $3 = HEAP32[$2 + 28 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $1 = HEAP32[$3 + 32 >> 2]; + $3 = $0; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 + 56 >> 2] = $3; + HEAP32[$0 + 60 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 64 >> 2] = HEAPF32[HEAP32[$2 + 32 >> 2] + 128 >> 2]; + HEAPF32[HEAP32[$2 + 12 >> 2] + 68 >> 2] = HEAPF32[HEAP32[$2 + 28 >> 2] + 128 >> 2]; + $3 = HEAP32[$2 + 24 >> 2]; + $1 = HEAP32[$3 + 40 >> 2]; + $0 = HEAP32[$3 + 44 >> 2]; + $3 = $1; + $1 = HEAP32[$2 + 12 >> 2]; + HEAP32[$1 + 16 >> 2] = $3; + HEAP32[$1 + 20 >> 2] = $0; + $3 = HEAP32[$2 + 24 >> 2]; + $0 = HEAP32[$3 + 48 >> 2]; + $1 = HEAP32[$3 + 52 >> 2]; + $3 = $0; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 + 24 >> 2] = $3; + HEAP32[$0 + 28 >> 2] = $1; + HEAP32[HEAP32[$2 + 12 >> 2] + 84 >> 2] = HEAP32[$2 + 20 >> 2]; + HEAPF32[HEAP32[$2 + 12 >> 2] + 76 >> 2] = HEAPF32[$2 + 40 >> 2]; + HEAPF32[HEAP32[$2 + 12 >> 2] + 80 >> 2] = HEAPF32[$2 + 36 >> 2]; + HEAP32[HEAP32[$2 + 12 >> 2] + 72 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 56 >> 2]; + HEAP32[$2 + 8 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 8 >> 2] < HEAP32[$2 + 20 >> 2]) { + HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 24 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 20); + HEAP32[$2 >> 2] = HEAP32[$2 + 16 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 36); + label$7: { + if (HEAP8[$4 + 20 | 0] & 1) { + HEAPF32[HEAP32[$2 >> 2] + 16 >> 2] = HEAPF32[$4 + 8 >> 2] * HEAPF32[HEAP32[$2 + 4 >> 2] + 8 >> 2]; + HEAPF32[HEAP32[$2 >> 2] + 20 >> 2] = HEAPF32[$4 + 8 >> 2] * HEAPF32[HEAP32[$2 + 4 >> 2] + 12 >> 2]; + break label$7; + } + HEAPF32[HEAP32[$2 >> 2] + 16 >> 2] = 0; + HEAPF32[HEAP32[$2 >> 2] + 20 >> 2] = 0; + } + b2Vec2__SetZero_28_29(HEAP32[$2 >> 2]); + b2Vec2__SetZero_28_29(HEAP32[$2 >> 2] + 8 | 0); + HEAPF32[HEAP32[$2 >> 2] + 24 >> 2] = 0; + HEAPF32[HEAP32[$2 >> 2] + 28 >> 2] = 0; + HEAPF32[HEAP32[$2 >> 2] + 32 >> 2] = 0; + $3 = HEAP32[$2 + 4 >> 2]; + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + $3 = $1; + $1 = HEAP32[$2 + 12 >> 2] + (HEAP32[$2 + 8 >> 2] << 3) | 0; + HEAP32[$1 >> 2] = $3; + HEAP32[$1 + 4 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = HEAP32[$2 + 8 >> 2] + 1; + continue; + } + break; + } + HEAP32[$2 + 64 >> 2] = HEAP32[$2 + 64 >> 2] + 1; + continue; + } + } + break; + } + __stack_pointer = $2 + 80 | 0; + return HEAP32[$2 + 76 >> 2]; +} + +function b2PolygonShape__Set_28b2Vec2_20const__2c_20int_29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 240 | 0; + __stack_pointer = $3; + HEAP32[$3 + 236 >> 2] = $0; + HEAP32[$3 + 232 >> 2] = $1; + HEAP32[$3 + 228 >> 2] = $2; + $4 = HEAP32[$3 + 236 >> 2]; + if (!(HEAP32[$3 + 228 >> 2] <= 8 & HEAP32[$3 + 228 >> 2] >= 3)) { + __assert_fail(11945, 5758, 120, 3019); + wasm2js_trap(); + } + label$3: { + if (HEAP32[$3 + 228 >> 2] < 3) { + b2PolygonShape__SetAsBox_28float_2c_20float_29($4, Math_fround(1), Math_fround(1)); + break label$3; + } + wasm2js_i32$0 = $3, wasm2js_i32$1 = int_20b2Min_int__28int_2c_20int_29(HEAP32[$3 + 228 >> 2], 8), + HEAP32[wasm2js_i32$0 + 224 >> 2] = wasm2js_i32$1; + $0 = $3 + 160 | 0; + $1 = $0 - -64 | 0; + while (1) { + b2Vec2__b2Vec2_28_29($0); + $0 = $0 + 8 | 0; + if (($1 | 0) != ($0 | 0)) { + continue; + } + break; + } + HEAP32[$3 + 156 >> 2] = 0; + HEAP32[$3 + 152 >> 2] = 0; + while (1) { + if (HEAP32[$3 + 152 >> 2] < HEAP32[$3 + 224 >> 2]) { + $1 = HEAP32[$3 + 232 >> 2] + (HEAP32[$3 + 152 >> 2] << 3) | 0; + $0 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$3 + 144 >> 2] = $0; + HEAP32[$3 + 148 >> 2] = $1; + HEAP8[$3 + 143 | 0] = 1; + HEAP32[$3 + 136 >> 2] = 0; + while (1) { + if (HEAP32[$3 + 136 >> 2] < HEAP32[$3 + 156 >> 2]) { + if (b2DistanceSquared_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 144 | 0, ($3 + 160 | 0) + (HEAP32[$3 + 136 >> 2] << 3) | 0) < Math_fround(624999984211172e-20)) { + HEAP8[$3 + 143 | 0] = 0; + } else { + HEAP32[$3 + 136 >> 2] = HEAP32[$3 + 136 >> 2] + 1; + continue; + } + } + break; + } + if (HEAP8[$3 + 143 | 0] & 1) { + $5 = HEAP32[$3 + 156 >> 2]; + HEAP32[$3 + 156 >> 2] = $5 + 1; + $0 = HEAP32[$3 + 148 >> 2]; + $1 = HEAP32[$3 + 144 >> 2]; + $2 = $1; + $1 = ($3 + 160 | 0) + ($5 << 3) | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + } + HEAP32[$3 + 152 >> 2] = HEAP32[$3 + 152 >> 2] + 1; + continue; + } + break; + } + HEAP32[$3 + 224 >> 2] = HEAP32[$3 + 156 >> 2]; + if (HEAP32[$3 + 224 >> 2] < 3) { + __assert_fail(9147, 5758, 156, 3019); + wasm2js_trap(); + } + HEAP32[$3 + 132 >> 2] = 0; + HEAPF32[$3 + 128 >> 2] = HEAPF32[$3 + 160 >> 2]; + HEAP32[$3 + 124 >> 2] = 1; + while (1) { + if (HEAP32[$3 + 124 >> 2] < HEAP32[$3 + 224 >> 2]) { + HEAPF32[$3 + 120 >> 2] = HEAPF32[($3 + 160 | 0) + (HEAP32[$3 + 124 >> 2] << 3) >> 2]; + if (!(!(HEAPF32[$3 + 120 >> 2] > HEAPF32[$3 + 128 >> 2]) & (!(HEAPF32[(($3 + 160 | 0) + (HEAP32[$3 + 124 >> 2] << 3) | 0) + 4 >> 2] < HEAPF32[(($3 + 160 | 0) + (HEAP32[$3 + 132 >> 2] << 3) | 0) + 4 >> 2]) | HEAPF32[$3 + 120 >> 2] != HEAPF32[$3 + 128 >> 2]))) { + HEAP32[$3 + 132 >> 2] = HEAP32[$3 + 124 >> 2]; + HEAPF32[$3 + 128 >> 2] = HEAPF32[$3 + 120 >> 2]; + } + HEAP32[$3 + 124 >> 2] = HEAP32[$3 + 124 >> 2] + 1; + continue; + } + break; + } + HEAP32[$3 + 76 >> 2] = 0; + HEAP32[$3 + 72 >> 2] = HEAP32[$3 + 132 >> 2]; + while (1) { + if (HEAP32[$3 + 76 >> 2] >= 8) { + __assert_fail(11987, 5758, 183, 3019); + wasm2js_trap(); + } + HEAP32[($3 + 80 | 0) + (HEAP32[$3 + 76 >> 2] << 2) >> 2] = HEAP32[$3 + 72 >> 2]; + HEAP32[$3 + 68 >> 2] = 0; + HEAP32[$3 + 64 >> 2] = 1; + while (1) { + if (HEAP32[$3 + 64 >> 2] < HEAP32[$3 + 224 >> 2]) { + label$22: { + if (HEAP32[$3 + 68 >> 2] == HEAP32[$3 + 72 >> 2]) { + HEAP32[$3 + 68 >> 2] = HEAP32[$3 + 64 >> 2]; + break label$22; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 56 | 0, ($3 + 160 | 0) + (HEAP32[$3 + 68 >> 2] << 3) | 0, ($3 + 160 | 0) + (HEAP32[($3 + 80 | 0) + (HEAP32[$3 + 76 >> 2] << 2) >> 2] << 3) | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 48 | 0, ($3 + 160 | 0) + (HEAP32[$3 + 64 >> 2] << 3) | 0, ($3 + 160 | 0) + (HEAP32[($3 + 80 | 0) + (HEAP32[$3 + 76 >> 2] << 2) >> 2] << 3) | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 56 | 0, $3 + 48 | 0), + HEAPF32[wasm2js_i32$0 + 44 >> 2] = wasm2js_f32$0; + if (HEAPF32[$3 + 44 >> 2] < Math_fround(0)) { + HEAP32[$3 + 68 >> 2] = HEAP32[$3 + 64 >> 2]; + } + label$25: { + if (HEAPF32[$3 + 44 >> 2] != Math_fround(0)) { + break label$25; + } + if (!(b2Vec2__LengthSquared_28_29_20const($3 + 48 | 0) > b2Vec2__LengthSquared_28_29_20const($3 + 56 | 0))) { + break label$25; + } + HEAP32[$3 + 68 >> 2] = HEAP32[$3 + 64 >> 2]; + } + } + HEAP32[$3 + 64 >> 2] = HEAP32[$3 + 64 >> 2] + 1; + continue; + } + break; + } + HEAP32[$3 + 76 >> 2] = HEAP32[$3 + 76 >> 2] + 1; + HEAP32[$3 + 72 >> 2] = HEAP32[$3 + 68 >> 2]; + if (HEAP32[$3 + 68 >> 2] != HEAP32[$3 + 132 >> 2]) { + continue; + } + break; + } + if (HEAP32[$3 + 76 >> 2] < 3) { + __assert_fail(9147, 5758, 222, 3019); + wasm2js_trap(); + } + HEAP32[$4 + 148 >> 2] = HEAP32[$3 + 76 >> 2]; + HEAP32[$3 + 40 >> 2] = 0; + while (1) { + if (HEAP32[$3 + 40 >> 2] < HEAP32[$3 + 76 >> 2]) { + $1 = ($3 + 160 | 0) + (HEAP32[($3 + 80 | 0) + (HEAP32[$3 + 40 >> 2] << 2) >> 2] << 3) | 0; + $0 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + $2 = $0; + $0 = ($4 + 20 | 0) + (HEAP32[$3 + 40 >> 2] << 3) | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[$3 + 40 >> 2] = HEAP32[$3 + 40 >> 2] + 1; + continue; + } + break; + } + HEAP32[$3 + 36 >> 2] = 0; + while (1) { + if (HEAP32[$3 + 36 >> 2] < HEAP32[$3 + 76 >> 2]) { + HEAP32[$3 + 32 >> 2] = HEAP32[$3 + 36 >> 2]; + if (HEAP32[$3 + 76 >> 2] > (HEAP32[$3 + 36 >> 2] + 1 | 0)) { + $0 = HEAP32[$3 + 36 >> 2] + 1 | 0; + } else { + $0 = 0; + } + HEAP32[$3 + 28 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 20 | 0, ($4 + 20 | 0) + (HEAP32[$3 + 28 >> 2] << 3) | 0, ($4 + 20 | 0) + (HEAP32[$3 + 32 >> 2] << 3) | 0); + if (b2Vec2__LengthSquared_28_29_20const($3 + 20 | 0) > Math_fround(14210854715202004e-30)) { + b2Cross_28b2Vec2_20const__2c_20float_29($3 + 12 | 0, $3 + 20 | 0, Math_fround(1)); + $0 = HEAP32[$3 + 16 >> 2]; + $1 = HEAP32[$3 + 12 >> 2]; + $2 = $1; + $1 = ($4 + 84 | 0) + (HEAP32[$3 + 36 >> 2] << 3) | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + b2Vec2__Normalize_28_29(($4 + 84 | 0) + (HEAP32[$3 + 36 >> 2] << 3) | 0); + HEAP32[$3 + 36 >> 2] = HEAP32[$3 + 36 >> 2] + 1; + continue; + } else { + __assert_fail(10906, 5758, 241, 3019); + wasm2js_trap(); + } + } + break; + } + ComputeCentroid_28b2Vec2_20const__2c_20int_29($3 + 4 | 0, $4 + 20 | 0, HEAP32[$3 + 76 >> 2]); + $1 = HEAP32[$3 + 8 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 16 >> 2] = $1; + } + __stack_pointer = $3 + 240 | 0; +} + +function b2RevoluteJoint__SolveVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 176 | 0; + __stack_pointer = $2; + HEAP32[$2 + 172 >> 2] = $0; + HEAP32[$2 + 168 >> 2] = $1; + $3 = HEAP32[$2 + 172 >> 2]; + $4 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 132 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 160 >> 2] = $1; + HEAP32[$2 + 164 >> 2] = $0; + HEAPF32[$2 + 156 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 132 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 136 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 144 >> 2] = $0; + HEAP32[$2 + 148 >> 2] = $1; + HEAPF32[$2 + 140 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 136 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$2 + 136 >> 2] = HEAPF32[$3 + 172 >> 2]; + HEAPF32[$2 + 132 >> 2] = HEAPF32[$3 + 176 >> 2]; + HEAPF32[$2 + 128 >> 2] = HEAPF32[$3 + 180 >> 2]; + HEAPF32[$2 + 124 >> 2] = HEAPF32[$3 + 184 >> 2]; + HEAP8[$2 + 123 | 0] = Math_fround(HEAPF32[$2 + 128 >> 2] + HEAPF32[$2 + 124 >> 2]) == Math_fround(0); + if (!(!(HEAP8[$3 + 104 | 0] & 1) | HEAP8[$2 + 123 | 0] & 1)) { + HEAPF32[$2 + 116 >> 2] = Math_fround(HEAPF32[$2 + 140 >> 2] - HEAPF32[$2 + 156 >> 2]) - HEAPF32[$3 + 112 >> 2]; + HEAPF32[$2 + 112 >> 2] = Math_fround(-HEAPF32[$3 + 208 >> 2]) * HEAPF32[$2 + 116 >> 2]; + HEAPF32[$2 + 108 >> 2] = HEAPF32[$3 + 92 >> 2]; + HEAPF32[$2 + 104 >> 2] = HEAPF32[HEAP32[$2 + 168 >> 2] >> 2] * HEAPF32[$3 + 108 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(Math_fround(HEAPF32[$3 + 92 >> 2] + HEAPF32[$2 + 112 >> 2]), Math_fround(-HEAPF32[$2 + 104 >> 2]), HEAPF32[$2 + 104 >> 2]), + HEAPF32[wasm2js_i32$0 + 92 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 112 >> 2] = HEAPF32[$3 + 92 >> 2] - HEAPF32[$2 + 108 >> 2]; + HEAPF32[$2 + 156 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 128 >> 2]) * HEAPF32[$2 + 112 >> 2]) + HEAPF32[$2 + 156 >> 2]; + HEAPF32[$2 + 140 >> 2] = Math_fround(HEAPF32[$2 + 124 >> 2] * HEAPF32[$2 + 112 >> 2]) + HEAPF32[$2 + 140 >> 2]; + } + if (!(!(HEAP8[$3 + 116 | 0] & 1) | HEAP8[$2 + 123 | 0] & 1)) { + HEAPF32[$2 + 100 >> 2] = HEAPF32[$3 + 204 >> 2] - HEAPF32[$3 + 124 >> 2]; + HEAPF32[$2 + 96 >> 2] = HEAPF32[$2 + 140 >> 2] - HEAPF32[$2 + 156 >> 2]; + $5 = HEAPF32[$2 + 96 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(-HEAPF32[$3 + 208 >> 2]) * Math_fround(Math_fround(float_20b2Max_float__28float_2c_20float_29(HEAPF32[$2 + 100 >> 2], Math_fround(0)) * HEAPF32[HEAP32[$2 + 168 >> 2] + 4 >> 2]) + $5)), + HEAPF32[wasm2js_i32$0 + 92 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 88 >> 2] = HEAPF32[$3 + 96 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(Math_fround(HEAPF32[$3 + 96 >> 2] + HEAPF32[$2 + 92 >> 2]), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 96 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 92 >> 2] = HEAPF32[$3 + 96 >> 2] - HEAPF32[$2 + 88 >> 2]; + HEAPF32[$2 + 156 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 128 >> 2]) * HEAPF32[$2 + 92 >> 2]) + HEAPF32[$2 + 156 >> 2]; + HEAPF32[$2 + 140 >> 2] = Math_fround(HEAPF32[$2 + 124 >> 2] * HEAPF32[$2 + 92 >> 2]) + HEAPF32[$2 + 140 >> 2]; + HEAPF32[$2 + 84 >> 2] = HEAPF32[$3 + 128 >> 2] - HEAPF32[$3 + 204 >> 2]; + HEAPF32[$2 + 80 >> 2] = HEAPF32[$2 + 156 >> 2] - HEAPF32[$2 + 140 >> 2]; + $5 = HEAPF32[$2 + 80 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(-HEAPF32[$3 + 208 >> 2]) * Math_fround(Math_fround(float_20b2Max_float__28float_2c_20float_29(HEAPF32[$2 + 84 >> 2], Math_fround(0)) * HEAPF32[HEAP32[$2 + 168 >> 2] + 4 >> 2]) + $5)), + HEAPF32[wasm2js_i32$0 + 76 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 72 >> 2] = HEAPF32[$3 + 100 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Max_float__28float_2c_20float_29(Math_fround(HEAPF32[$3 + 100 >> 2] + HEAPF32[$2 + 76 >> 2]), Math_fround(0)), + HEAPF32[wasm2js_i32$0 + 100 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 76 >> 2] = HEAPF32[$3 + 100 >> 2] - HEAPF32[$2 + 72 >> 2]; + HEAPF32[$2 + 156 >> 2] = Math_fround(HEAPF32[$2 + 128 >> 2] * HEAPF32[$2 + 76 >> 2]) + HEAPF32[$2 + 156 >> 2]; + HEAPF32[$2 + 140 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 124 >> 2]) * HEAPF32[$2 + 76 >> 2]) + HEAPF32[$2 + 140 >> 2]; + } + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 40 | 0, HEAPF32[$2 + 140 >> 2], $3 + 148 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 48 | 0, $2 + 144 | 0, $2 + 40 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 56 | 0, $2 + 48 | 0, $2 + 160 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 32 | 0, HEAPF32[$2 + 156 >> 2], $3 + 140 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 - -64 | 0, $2 + 56 | 0, $2 + 32 | 0); + b2Vec2__operator__28_29_20const($2 + 16 | 0, $2 - -64 | 0); + b2Mat22__Solve_28b2Vec2_20const__29_20const($2 + 24 | 0, $3 + 188 | 0, $2 + 16 | 0); + HEAPF32[$3 + 84 >> 2] = HEAPF32[$3 + 84 >> 2] + HEAPF32[$2 + 24 >> 2]; + HEAPF32[$3 + 88 >> 2] = HEAPF32[$3 + 88 >> 2] + HEAPF32[$2 + 28 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 8 | 0, HEAPF32[$2 + 136 >> 2], $2 + 24 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 160 | 0, $2 + 8 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 128 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 140 | 0, $2 + 24 | 0)) + HEAPF32[$2 + 156 >> 2]), + HEAPF32[wasm2js_i32$0 + 156 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2, HEAPF32[$2 + 132 >> 2], $2 + 24 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 144 | 0, $2); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 124 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 148 | 0, $2 + 24 | 0)) + HEAPF32[$2 + 140 >> 2]), + HEAPF32[wasm2js_i32$0 + 140 >> 2] = wasm2js_f32$0; + $0 = HEAP32[$2 + 164 >> 2]; + $1 = HEAP32[$2 + 160 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 132 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 132 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 156 >> 2]; + $1 = HEAP32[$2 + 148 >> 2]; + $0 = HEAP32[$2 + 144 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 136 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 136 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 140 >> 2]; + __stack_pointer = $2 + 176 | 0; +} + +function b2RevoluteJoint__InitVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 144 | 0; + __stack_pointer = $2; + HEAP32[$2 + 140 >> 2] = $0; + HEAP32[$2 + 136 >> 2] = $1; + $1 = HEAP32[$2 + 140 >> 2]; + HEAP32[$1 + 132 >> 2] = HEAP32[HEAP32[$1 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 136 >> 2] = HEAP32[HEAP32[$1 + 52 >> 2] + 8 >> 2]; + $4 = HEAP32[$1 + 48 >> 2]; + $3 = HEAP32[$4 + 28 >> 2]; + $0 = HEAP32[$4 + 32 >> 2]; + HEAP32[$1 + 156 >> 2] = $3; + HEAP32[$1 + 160 >> 2] = $0; + $4 = HEAP32[$1 + 52 >> 2]; + $0 = HEAP32[$4 + 28 >> 2]; + $3 = HEAP32[$4 + 32 >> 2]; + HEAP32[$1 + 164 >> 2] = $0; + HEAP32[$1 + 168 >> 2] = $3; + HEAPF32[$1 + 172 >> 2] = HEAPF32[HEAP32[$1 + 48 >> 2] + 120 >> 2]; + HEAPF32[$1 + 176 >> 2] = HEAPF32[HEAP32[$1 + 52 >> 2] + 120 >> 2]; + HEAPF32[$1 + 180 >> 2] = HEAPF32[HEAP32[$1 + 48 >> 2] + 128 >> 2]; + HEAPF32[$1 + 184 >> 2] = HEAPF32[HEAP32[$1 + 52 >> 2] + 128 >> 2]; + HEAPF32[$2 + 132 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 132 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 132 >> 2], 12) | 0; + $3 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 120 >> 2] = $3; + HEAP32[$2 + 124 >> 2] = $0; + HEAPF32[$2 + 116 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 132 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$2 + 112 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 136 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 136 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $3 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 104 >> 2] = $0; + HEAP32[$2 + 108 >> 2] = $3; + HEAPF32[$2 + 100 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 136 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 92 | 0, HEAPF32[$2 + 132 >> 2]); + b2Rot__b2Rot_28float_29($2 + 84 | 0, HEAPF32[$2 + 112 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 68 | 0, $1 + 68 | 0, $1 + 156 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 76 | 0, $2 + 92 | 0, $2 + 68 | 0); + $0 = HEAP32[$2 + 80 >> 2]; + $3 = HEAP32[$2 + 76 >> 2]; + HEAP32[$1 + 140 >> 2] = $3; + HEAP32[$1 + 144 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 52 | 0, $1 + 76 | 0, $1 + 164 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 60 | 0, $2 + 84 | 0, $2 + 52 | 0); + $3 = HEAP32[$2 + 64 >> 2]; + $0 = HEAP32[$2 + 60 >> 2]; + HEAP32[$1 + 148 >> 2] = $0; + HEAP32[$1 + 152 >> 2] = $3; + HEAPF32[$2 + 48 >> 2] = HEAPF32[$1 + 172 >> 2]; + HEAPF32[$2 + 44 >> 2] = HEAPF32[$1 + 176 >> 2]; + HEAPF32[$2 + 40 >> 2] = HEAPF32[$1 + 180 >> 2]; + HEAPF32[$2 + 36 >> 2] = HEAPF32[$1 + 184 >> 2]; + HEAPF32[$1 + 188 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 152 >> 2] * HEAPF32[$1 + 152 >> 2]) * HEAPF32[$2 + 36 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 144 >> 2] * HEAPF32[$1 + 144 >> 2]) * HEAPF32[$2 + 40 >> 2]) + Math_fround(HEAPF32[$2 + 48 >> 2] + HEAPF32[$2 + 44 >> 2])); + HEAPF32[$1 + 196 >> 2] = Math_fround(Math_fround(Math_fround(-HEAPF32[$1 + 144 >> 2]) * HEAPF32[$1 + 140 >> 2]) * HEAPF32[$2 + 40 >> 2]) - Math_fround(Math_fround(HEAPF32[$1 + 152 >> 2] * HEAPF32[$1 + 148 >> 2]) * HEAPF32[$2 + 36 >> 2]); + HEAPF32[$1 + 192 >> 2] = HEAPF32[$1 + 196 >> 2]; + HEAPF32[$1 + 200 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 148 >> 2] * HEAPF32[$1 + 148 >> 2]) * HEAPF32[$2 + 36 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 140 >> 2] * HEAPF32[$1 + 140 >> 2]) * HEAPF32[$2 + 40 >> 2]) + Math_fround(HEAPF32[$2 + 48 >> 2] + HEAPF32[$2 + 44 >> 2])); + HEAPF32[$1 + 208 >> 2] = HEAPF32[$2 + 40 >> 2] + HEAPF32[$2 + 36 >> 2]; + label$1: { + if (HEAPF32[$1 + 208 >> 2] > Math_fround(0)) { + HEAPF32[$1 + 208 >> 2] = Math_fround(1) / HEAPF32[$1 + 208 >> 2]; + HEAP8[$2 + 35 | 0] = 0; + break label$1; + } + HEAP8[$2 + 35 | 0] = 1; + } + HEAPF32[$1 + 204 >> 2] = Math_fround(HEAPF32[$2 + 112 >> 2] - HEAPF32[$2 + 132 >> 2]) - HEAPF32[$1 + 120 >> 2]; + if (!(!(HEAP8[$2 + 35 | 0] & 1) & (HEAP8[$1 + 116 | 0] & 1))) { + HEAPF32[$1 + 96 >> 2] = 0; + HEAPF32[$1 + 100 >> 2] = 0; + } + if (!(!(HEAP8[$2 + 35 | 0] & 1) & (HEAP8[$1 + 104 | 0] & 1))) { + HEAPF32[$1 + 92 >> 2] = 0; + } + label$7: { + if (HEAP8[HEAP32[$2 + 136 >> 2] + 20 | 0] & 1) { + b2Vec2__operator___28float_29($1 + 84 | 0, HEAPF32[HEAP32[$2 + 136 >> 2] + 8 >> 2]); + HEAPF32[$1 + 92 >> 2] = HEAPF32[$1 + 92 >> 2] * HEAPF32[HEAP32[$2 + 136 >> 2] + 8 >> 2]; + HEAPF32[$1 + 96 >> 2] = HEAPF32[$1 + 96 >> 2] * HEAPF32[HEAP32[$2 + 136 >> 2] + 8 >> 2]; + HEAPF32[$1 + 100 >> 2] = HEAPF32[$1 + 100 >> 2] * HEAPF32[HEAP32[$2 + 136 >> 2] + 8 >> 2]; + HEAPF32[$2 + 28 >> 2] = Math_fround(HEAPF32[$1 + 92 >> 2] + HEAPF32[$1 + 96 >> 2]) - HEAPF32[$1 + 100 >> 2]; + b2Vec2__b2Vec2_28float_2c_20float_29($2 + 20 | 0, HEAPF32[$1 + 84 >> 2], HEAPF32[$1 + 88 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$2 + 48 >> 2], $2 + 20 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 120 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 40 >> 2]) * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 140 | 0, $2 + 20 | 0) + HEAPF32[$2 + 28 >> 2])) + HEAPF32[$2 + 116 >> 2]), + HEAPF32[wasm2js_i32$0 + 116 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$2 + 44 >> 2], $2 + 20 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 104 | 0, $2 + 4 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 36 >> 2] * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 148 | 0, $2 + 20 | 0) + HEAPF32[$2 + 28 >> 2])) + HEAPF32[$2 + 100 >> 2]), + HEAPF32[wasm2js_i32$0 + 100 >> 2] = wasm2js_f32$0; + break label$7; + } + b2Vec2__SetZero_28_29($1 + 84 | 0); + HEAPF32[$1 + 92 >> 2] = 0; + HEAPF32[$1 + 96 >> 2] = 0; + HEAPF32[$1 + 100 >> 2] = 0; + } + $0 = HEAP32[$2 + 124 >> 2]; + $3 = HEAP32[$2 + 120 >> 2]; + $4 = $3; + $3 = HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 132 >> 2], 12) | 0; + HEAP32[$3 >> 2] = $4; + HEAP32[$3 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 132 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 116 >> 2]; + $3 = HEAP32[$2 + 108 >> 2]; + $0 = HEAP32[$2 + 104 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 136 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $3; + HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 136 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 100 >> 2]; + __stack_pointer = $2 + 144 | 0; +} + +function b2RopeJoint__InitVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 192 | 0; + __stack_pointer = $2; + HEAP32[$2 + 188 >> 2] = $0; + HEAP32[$2 + 184 >> 2] = $1; + $1 = HEAP32[$2 + 188 >> 2]; + HEAP32[$1 + 96 >> 2] = HEAP32[HEAP32[$1 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 100 >> 2] = HEAP32[HEAP32[$1 + 52 >> 2] + 8 >> 2]; + $4 = HEAP32[$1 + 48 >> 2]; + $0 = HEAP32[$4 + 28 >> 2]; + $3 = HEAP32[$4 + 32 >> 2]; + HEAP32[$1 + 128 >> 2] = $0; + HEAP32[$1 + 132 >> 2] = $3; + $4 = HEAP32[$1 + 52 >> 2]; + $3 = HEAP32[$4 + 28 >> 2]; + $0 = HEAP32[$4 + 32 >> 2]; + HEAP32[$1 + 136 >> 2] = $3; + HEAP32[$1 + 140 >> 2] = $0; + HEAPF32[$1 + 144 >> 2] = HEAPF32[HEAP32[$1 + 48 >> 2] + 120 >> 2]; + HEAPF32[$1 + 148 >> 2] = HEAPF32[HEAP32[$1 + 52 >> 2] + 120 >> 2]; + HEAPF32[$1 + 152 >> 2] = HEAPF32[HEAP32[$1 + 48 >> 2] + 128 >> 2]; + HEAPF32[$1 + 156 >> 2] = HEAPF32[HEAP32[$1 + 52 >> 2] + 128 >> 2]; + $4 = HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 96 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $3 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 176 >> 2] = $0; + HEAP32[$2 + 180 >> 2] = $3; + HEAPF32[$2 + 172 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 96 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 96 >> 2], 12) | 0; + $3 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 160 >> 2] = $3; + HEAP32[$2 + 164 >> 2] = $0; + HEAPF32[$2 + 156 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 96 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 100 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $3 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 144 >> 2] = $0; + HEAP32[$2 + 148 >> 2] = $3; + HEAPF32[$2 + 140 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 100 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 100 >> 2], 12) | 0; + $3 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 128 >> 2] = $3; + HEAP32[$2 + 132 >> 2] = $0; + HEAPF32[$2 + 124 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 100 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 116 | 0, HEAPF32[$2 + 172 >> 2]); + b2Rot__b2Rot_28float_29($2 + 108 | 0, HEAPF32[$2 + 140 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 92 | 0, $1 + 68 | 0, $1 + 128 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 100 | 0, $2 + 116 | 0, $2 + 92 | 0); + $3 = HEAP32[$2 + 104 >> 2]; + $0 = HEAP32[$2 + 100 >> 2]; + HEAP32[$1 + 112 >> 2] = $0; + HEAP32[$1 + 116 >> 2] = $3; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 76 | 0, $1 + 76 | 0, $1 + 136 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $2 + 108 | 0, $2 + 76 | 0); + $0 = HEAP32[$2 + 88 >> 2]; + $3 = HEAP32[$2 + 84 >> 2]; + HEAP32[$1 + 120 >> 2] = $3; + HEAP32[$1 + 124 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 52 | 0, $2 + 144 | 0, $1 + 120 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 60 | 0, $2 + 52 | 0, $2 + 176 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 68 | 0, $2 + 60 | 0, $1 + 112 | 0); + $3 = HEAP32[$2 + 72 >> 2]; + $0 = HEAP32[$2 + 68 >> 2]; + HEAP32[$1 + 104 >> 2] = $0; + HEAP32[$1 + 108 >> 2] = $3; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Vec2__Length_28_29_20const($1 + 104 | 0), + HEAPF32[wasm2js_i32$0 + 88 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 48 >> 2] = HEAPF32[$1 + 88 >> 2] - HEAPF32[$1 + 84 >> 2]; + label$1: { + label$2: { + if (HEAPF32[$1 + 88 >> 2] > Math_fround(.004999999888241291)) { + b2Vec2__operator___28float_29($1 + 104 | 0, Math_fround(Math_fround(1) / HEAPF32[$1 + 88 >> 2])); + break label$2; + } + b2Vec2__SetZero_28_29($1 + 104 | 0); + HEAPF32[$1 + 160 >> 2] = 0; + HEAPF32[$1 + 92 >> 2] = 0; + break label$1; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 112 | 0, $1 + 104 | 0), + HEAPF32[wasm2js_i32$0 + 44 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 120 | 0, $1 + 104 | 0), + HEAPF32[wasm2js_i32$0 + 40 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 36 >> 2] = Math_fround(Math_fround(HEAPF32[$1 + 156 >> 2] * HEAPF32[$2 + 40 >> 2]) * HEAPF32[$2 + 40 >> 2]) + Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 152 >> 2] * HEAPF32[$2 + 44 >> 2]) * HEAPF32[$2 + 44 >> 2]) + HEAPF32[$1 + 144 >> 2]) + HEAPF32[$1 + 148 >> 2]); + if (HEAPF32[$2 + 36 >> 2] != Math_fround(0)) { + $5 = Math_fround(Math_fround(1) / HEAPF32[$2 + 36 >> 2]); + } else { + $5 = Math_fround(0); + } + HEAPF32[$1 + 160 >> 2] = $5; + label$6: { + if (HEAP8[HEAP32[$2 + 184 >> 2] + 20 | 0] & 1) { + HEAPF32[$1 + 92 >> 2] = HEAPF32[$1 + 92 >> 2] * HEAPF32[HEAP32[$2 + 184 >> 2] + 8 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 28 | 0, HEAPF32[$1 + 92 >> 2], $1 + 104 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, HEAPF32[$1 + 144 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 160 | 0, $2 + 20 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$1 + 152 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 112 | 0, $2 + 28 | 0)) + HEAPF32[$2 + 156 >> 2]), + HEAPF32[wasm2js_i32$0 + 156 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$1 + 148 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 128 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 156 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 120 | 0, $2 + 28 | 0)) + HEAPF32[$2 + 124 >> 2]), + HEAPF32[wasm2js_i32$0 + 124 >> 2] = wasm2js_f32$0; + break label$6; + } + HEAPF32[$1 + 92 >> 2] = 0; + } + $0 = HEAP32[$2 + 164 >> 2]; + $3 = HEAP32[$2 + 160 >> 2]; + $4 = $3; + $3 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 96 >> 2], 12) | 0; + HEAP32[$3 >> 2] = $4; + HEAP32[$3 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 96 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 156 >> 2]; + $3 = HEAP32[$2 + 132 >> 2]; + $0 = HEAP32[$2 + 128 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 100 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $3; + HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 100 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 124 >> 2]; + } + __stack_pointer = $2 + 192 | 0; +} + +function b2WorldManifold__Initialize_28b2Manifold_20const__2c_20b2Transform_20const__2c_20float_2c_20b2Transform_20const__2c_20float_29($0, $1, $2, $3, $4, $5) { + var $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 304 | 0; + __stack_pointer = $6; + HEAP32[$6 + 300 >> 2] = $0; + HEAP32[$6 + 296 >> 2] = $1; + HEAP32[$6 + 292 >> 2] = $2; + HEAPF32[$6 + 288 >> 2] = $3; + HEAP32[$6 + 284 >> 2] = $4; + HEAPF32[$6 + 280 >> 2] = $5; + $1 = HEAP32[$6 + 300 >> 2]; + label$1: { + if (!HEAP32[HEAP32[$6 + 296 >> 2] + 60 >> 2]) { + break label$1; + } + label$2: { + switch (HEAP32[HEAP32[$6 + 296 >> 2] + 56 >> 2]) { + case 0: + b2Vec2__Set_28float_2c_20float_29($1, Math_fround(1), Math_fround(0)); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6 + 272 | 0, HEAP32[$6 + 292 >> 2], HEAP32[$6 + 296 >> 2] + 48 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6 + 264 | 0, HEAP32[$6 + 284 >> 2], HEAP32[$6 + 296 >> 2]); + if (b2DistanceSquared_28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 272 | 0, $6 + 264 | 0) > Math_fround(14210854715202004e-30)) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 256 | 0, $6 + 264 | 0, $6 + 272 | 0); + $2 = HEAP32[$6 + 260 >> 2]; + $0 = HEAP32[$6 + 256 >> 2]; + HEAP32[$1 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = $2; + b2Vec2__Normalize_28_29($1); + } + operator__28float_2c_20b2Vec2_20const__29($6 + 240 | 0, HEAPF32[$6 + 288 >> 2], $1); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($6 + 248 | 0, $6 + 272 | 0, $6 + 240 | 0); + operator__28float_2c_20b2Vec2_20const__29($6 + 224 | 0, HEAPF32[$6 + 280 >> 2], $1); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 232 | 0, $6 + 264 | 0, $6 + 224 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($6 + 208 | 0, $6 + 248 | 0, $6 + 232 | 0); + operator__28float_2c_20b2Vec2_20const__29($6 + 216 | 0, Math_fround(.5), $6 + 208 | 0); + $0 = HEAP32[$6 + 220 >> 2]; + $2 = HEAP32[$6 + 216 >> 2]; + HEAP32[$1 + 8 >> 2] = $2; + HEAP32[$1 + 12 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 200 | 0, $6 + 232 | 0, $6 + 248 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 200 | 0, $1), + HEAPF32[wasm2js_i32$0 + 24 >> 2] = wasm2js_f32$0; + break label$1; + + case 1: + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($6 + 192 | 0, HEAP32[$6 + 292 >> 2] + 8 | 0, HEAP32[$6 + 296 >> 2] + 40 | 0); + $2 = HEAP32[$6 + 196 >> 2]; + $0 = HEAP32[$6 + 192 >> 2]; + HEAP32[$1 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = $2; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6 + 184 | 0, HEAP32[$6 + 292 >> 2], HEAP32[$6 + 296 >> 2] + 48 | 0); + HEAP32[$6 + 180 >> 2] = 0; + while (1) { + if (HEAP32[$6 + 180 >> 2] < HEAP32[HEAP32[$6 + 296 >> 2] + 60 >> 2]) { + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6 + 172 | 0, HEAP32[$6 + 284 >> 2], HEAP32[$6 + 296 >> 2] + Math_imul(HEAP32[$6 + 180 >> 2], 20) | 0); + $3 = HEAPF32[$6 + 288 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 148 | 0, $6 + 172 | 0, $6 + 184 | 0); + operator__28float_2c_20b2Vec2_20const__29($6 + 156 | 0, Math_fround($3 - b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 148 | 0, $1)), $1); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($6 + 164 | 0, $6 + 172 | 0, $6 + 156 | 0); + operator__28float_2c_20b2Vec2_20const__29($6 + 132 | 0, HEAPF32[$6 + 280 >> 2], $1); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 140 | 0, $6 + 172 | 0, $6 + 132 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($6 + 116 | 0, $6 + 164 | 0, $6 + 140 | 0); + operator__28float_2c_20b2Vec2_20const__29($6 + 124 | 0, Math_fround(.5), $6 + 116 | 0); + $0 = HEAP32[$6 + 128 >> 2]; + $2 = HEAP32[$6 + 124 >> 2]; + $4 = $2; + $2 = ($1 + 8 | 0) + (HEAP32[$6 + 180 >> 2] << 3) | 0; + HEAP32[$2 >> 2] = $4; + HEAP32[$2 + 4 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 108 | 0, $6 + 140 | 0, $6 + 164 | 0); + $3 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 108 | 0, $1); + HEAPF32[($1 + 24 | 0) + (HEAP32[$6 + 180 >> 2] << 2) >> 2] = $3; + HEAP32[$6 + 180 >> 2] = HEAP32[$6 + 180 >> 2] + 1; + continue; + } + break; + } + ; + break label$1; + + case 2: + break label$2; + + default: + break label$1; + } + } + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($6 + 100 | 0, HEAP32[$6 + 284 >> 2] + 8 | 0, HEAP32[$6 + 296 >> 2] + 40 | 0); + $2 = HEAP32[$6 + 104 >> 2]; + $0 = HEAP32[$6 + 100 >> 2]; + HEAP32[$1 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = $2; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6 + 92 | 0, HEAP32[$6 + 284 >> 2], HEAP32[$6 + 296 >> 2] + 48 | 0); + HEAP32[$6 + 88 >> 2] = 0; + while (1) { + if (HEAP32[$6 + 88 >> 2] < HEAP32[HEAP32[$6 + 296 >> 2] + 60 >> 2]) { + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6 + 80 | 0, HEAP32[$6 + 292 >> 2], HEAP32[$6 + 296 >> 2] + Math_imul(HEAP32[$6 + 88 >> 2], 20) | 0); + $3 = HEAPF32[$6 + 280 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 56 | 0, $6 + 80 | 0, $6 + 92 | 0); + operator__28float_2c_20b2Vec2_20const__29($6 - -64 | 0, Math_fround($3 - b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 56 | 0, $1)), $1); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($6 + 72 | 0, $6 + 80 | 0, $6 - -64 | 0); + operator__28float_2c_20b2Vec2_20const__29($6 + 40 | 0, HEAPF32[$6 + 288 >> 2], $1); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 48 | 0, $6 + 80 | 0, $6 + 40 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($6 + 24 | 0, $6 + 48 | 0, $6 + 72 | 0); + operator__28float_2c_20b2Vec2_20const__29($6 + 32 | 0, Math_fround(.5), $6 + 24 | 0); + $0 = HEAP32[$6 + 36 >> 2]; + $2 = HEAP32[$6 + 32 >> 2]; + $4 = $2; + $2 = ($1 + 8 | 0) + (HEAP32[$6 + 88 >> 2] << 3) | 0; + HEAP32[$2 >> 2] = $4; + HEAP32[$2 + 4 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 16 | 0, $6 + 48 | 0, $6 + 72 | 0); + $3 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 16 | 0, $1); + HEAPF32[($1 + 24 | 0) + (HEAP32[$6 + 88 >> 2] << 2) >> 2] = $3; + HEAP32[$6 + 88 >> 2] = HEAP32[$6 + 88 >> 2] + 1; + continue; + } + break; + } + b2Vec2__operator__28_29_20const($6 + 8 | 0, $1); + $2 = HEAP32[$6 + 12 >> 2]; + $0 = HEAP32[$6 + 8 >> 2]; + HEAP32[$1 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = $2; + } + __stack_pointer = $6 + 304 | 0; +} + +function b2FrictionJoint__InitVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 176 | 0; + __stack_pointer = $2; + HEAP32[$2 + 172 >> 2] = $0; + HEAP32[$2 + 168 >> 2] = $1; + $1 = HEAP32[$2 + 172 >> 2]; + HEAP32[$1 + 104 >> 2] = HEAP32[HEAP32[$1 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 108 >> 2] = HEAP32[HEAP32[$1 + 52 >> 2] + 8 >> 2]; + $4 = HEAP32[$1 + 48 >> 2]; + $3 = HEAP32[$4 + 28 >> 2]; + $0 = HEAP32[$4 + 32 >> 2]; + HEAP32[$1 + 128 >> 2] = $3; + HEAP32[$1 + 132 >> 2] = $0; + $4 = HEAP32[$1 + 52 >> 2]; + $0 = HEAP32[$4 + 28 >> 2]; + $3 = HEAP32[$4 + 32 >> 2]; + HEAP32[$1 + 136 >> 2] = $0; + HEAP32[$1 + 140 >> 2] = $3; + HEAPF32[$1 + 144 >> 2] = HEAPF32[HEAP32[$1 + 48 >> 2] + 120 >> 2]; + HEAPF32[$1 + 148 >> 2] = HEAPF32[HEAP32[$1 + 52 >> 2] + 120 >> 2]; + HEAPF32[$1 + 152 >> 2] = HEAPF32[HEAP32[$1 + 48 >> 2] + 128 >> 2]; + HEAPF32[$1 + 156 >> 2] = HEAPF32[HEAP32[$1 + 52 >> 2] + 128 >> 2]; + HEAPF32[$2 + 164 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 104 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 104 >> 2], 12) | 0; + $3 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 152 >> 2] = $3; + HEAP32[$2 + 156 >> 2] = $0; + HEAPF32[$2 + 148 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 104 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$2 + 144 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 108 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 108 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $3 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 136 >> 2] = $0; + HEAP32[$2 + 140 >> 2] = $3; + HEAPF32[$2 + 132 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 108 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 124 | 0, HEAPF32[$2 + 164 >> 2]); + b2Rot__b2Rot_28float_29($2 + 116 | 0, HEAPF32[$2 + 144 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 100 | 0, $1 + 68 | 0, $1 + 128 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 108 | 0, $2 + 124 | 0, $2 + 100 | 0); + $0 = HEAP32[$2 + 112 >> 2]; + $3 = HEAP32[$2 + 108 >> 2]; + HEAP32[$1 + 112 >> 2] = $3; + HEAP32[$1 + 116 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $1 + 76 | 0, $1 + 136 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 92 | 0, $2 + 116 | 0, $2 + 84 | 0); + $3 = HEAP32[$2 + 96 >> 2]; + $0 = HEAP32[$2 + 92 >> 2]; + HEAP32[$1 + 120 >> 2] = $0; + HEAP32[$1 + 124 >> 2] = $3; + HEAPF32[$2 + 80 >> 2] = HEAPF32[$1 + 144 >> 2]; + HEAPF32[$2 + 76 >> 2] = HEAPF32[$1 + 148 >> 2]; + HEAPF32[$2 + 72 >> 2] = HEAPF32[$1 + 152 >> 2]; + HEAPF32[$2 + 68 >> 2] = HEAPF32[$1 + 156 >> 2]; + b2Mat22__b2Mat22_28_29($2 + 52 | 0); + HEAPF32[$2 + 52 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 68 >> 2] * HEAPF32[$1 + 124 >> 2]) * HEAPF32[$1 + 124 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 72 >> 2] * HEAPF32[$1 + 116 >> 2]) * HEAPF32[$1 + 116 >> 2]) + Math_fround(HEAPF32[$2 + 80 >> 2] + HEAPF32[$2 + 76 >> 2])); + HEAPF32[$2 + 56 >> 2] = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 72 >> 2]) * HEAPF32[$1 + 112 >> 2]) * HEAPF32[$1 + 116 >> 2]) - Math_fround(Math_fround(HEAPF32[$2 + 68 >> 2] * HEAPF32[$1 + 120 >> 2]) * HEAPF32[$1 + 124 >> 2]); + HEAPF32[$2 + 60 >> 2] = HEAPF32[$2 + 56 >> 2]; + HEAPF32[$2 + 64 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 68 >> 2] * HEAPF32[$1 + 120 >> 2]) * HEAPF32[$1 + 120 >> 2]) + Math_fround(Math_fround(Math_fround(HEAPF32[$2 + 72 >> 2] * HEAPF32[$1 + 112 >> 2]) * HEAPF32[$1 + 112 >> 2]) + Math_fround(HEAPF32[$2 + 80 >> 2] + HEAPF32[$2 + 76 >> 2])); + b2Mat22__GetInverse_28_29_20const($2 + 36 | 0, $2 + 52 | 0); + $0 = HEAP32[$2 + 40 >> 2]; + $3 = HEAP32[$2 + 36 >> 2]; + HEAP32[$1 + 160 >> 2] = $3; + HEAP32[$1 + 164 >> 2] = $0; + $3 = HEAP32[$2 + 48 >> 2]; + $0 = HEAP32[$2 + 44 >> 2]; + HEAP32[$1 + 168 >> 2] = $0; + HEAP32[$1 + 172 >> 2] = $3; + HEAPF32[$1 + 176 >> 2] = HEAPF32[$2 + 72 >> 2] + HEAPF32[$2 + 68 >> 2]; + if (HEAPF32[$1 + 176 >> 2] > Math_fround(0)) { + HEAPF32[$1 + 176 >> 2] = Math_fround(1) / HEAPF32[$1 + 176 >> 2]; + } + label$2: { + if (HEAP8[HEAP32[$2 + 168 >> 2] + 20 | 0] & 1) { + b2Vec2__operator___28float_29($1 + 84 | 0, HEAPF32[HEAP32[$2 + 168 >> 2] + 8 >> 2]); + HEAPF32[$1 + 92 >> 2] = HEAPF32[$1 + 92 >> 2] * HEAPF32[HEAP32[$2 + 168 >> 2] + 8 >> 2]; + b2Vec2__b2Vec2_28float_2c_20float_29($2 + 28 | 0, HEAPF32[$1 + 84 >> 2], HEAPF32[$1 + 88 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, HEAPF32[$2 + 80 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 152 | 0, $2 + 20 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 72 >> 2]) * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 112 | 0, $2 + 28 | 0) + HEAPF32[$1 + 92 >> 2])) + HEAPF32[$2 + 148 >> 2]), + HEAPF32[wasm2js_i32$0 + 148 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$2 + 76 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 136 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 68 >> 2] * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 120 | 0, $2 + 28 | 0) + HEAPF32[$1 + 92 >> 2])) + HEAPF32[$2 + 132 >> 2]), + HEAPF32[wasm2js_i32$0 + 132 >> 2] = wasm2js_f32$0; + break label$2; + } + b2Vec2__SetZero_28_29($1 + 84 | 0); + HEAPF32[$1 + 92 >> 2] = 0; + } + $0 = HEAP32[$2 + 156 >> 2]; + $3 = HEAP32[$2 + 152 >> 2]; + $4 = $3; + $3 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 104 >> 2], 12) | 0; + HEAP32[$3 >> 2] = $4; + HEAP32[$3 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 104 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 148 >> 2]; + $3 = HEAP32[$2 + 140 >> 2]; + $0 = HEAP32[$2 + 136 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 108 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $3; + HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 108 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 132 >> 2]; + __stack_pointer = $2 + 176 | 0; +} + +function b2WeldJoint__SolveVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 256 | 0; + __stack_pointer = $2; + HEAP32[$2 + 252 >> 2] = $0; + HEAP32[$2 + 248 >> 2] = $1; + $3 = HEAP32[$2 + 252 >> 2]; + $4 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 116 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 240 >> 2] = $0; + HEAP32[$2 + 244 >> 2] = $1; + HEAPF32[$2 + 236 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 116 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 224 >> 2] = $1; + HEAP32[$2 + 228 >> 2] = $0; + HEAPF32[$2 + 220 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$2 + 216 >> 2] = HEAPF32[$3 + 156 >> 2]; + HEAPF32[$2 + 212 >> 2] = HEAPF32[$3 + 160 >> 2]; + HEAPF32[$2 + 208 >> 2] = HEAPF32[$3 + 164 >> 2]; + HEAPF32[$2 + 204 >> 2] = HEAPF32[$3 + 168 >> 2]; + label$1: { + if (HEAPF32[$3 + 68 >> 2] > Math_fround(0)) { + HEAPF32[$2 + 200 >> 2] = HEAPF32[$2 + 220 >> 2] - HEAPF32[$2 + 236 >> 2]; + HEAPF32[$2 + 196 >> 2] = Math_fround(-HEAPF32[$3 + 204 >> 2]) * Math_fround(Math_fround(HEAPF32[$3 + 100 >> 2] * HEAPF32[$3 + 112 >> 2]) + Math_fround(HEAPF32[$2 + 200 >> 2] + HEAPF32[$3 + 76 >> 2])); + HEAPF32[$3 + 112 >> 2] = HEAPF32[$3 + 112 >> 2] + HEAPF32[$2 + 196 >> 2]; + HEAPF32[$2 + 236 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 208 >> 2]) * HEAPF32[$2 + 196 >> 2]) + HEAPF32[$2 + 236 >> 2]; + HEAPF32[$2 + 220 >> 2] = Math_fround(HEAPF32[$2 + 204 >> 2] * HEAPF32[$2 + 196 >> 2]) + HEAPF32[$2 + 220 >> 2]; + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 164 | 0, HEAPF32[$2 + 220 >> 2], $3 + 132 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 172 | 0, $2 + 224 | 0, $2 + 164 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 180 | 0, $2 + 172 | 0, $2 + 240 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 156 | 0, HEAPF32[$2 + 236 >> 2], $3 + 124 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 188 | 0, $2 + 180 | 0, $2 + 156 | 0); + b2Mul22_28b2Mat33_20const__2c_20b2Vec2_20const__29($2 + 140 | 0, $3 + 172 | 0, $2 + 188 | 0); + b2Vec2__operator__28_29_20const($2 + 148 | 0, $2 + 140 | 0); + HEAPF32[$3 + 104 >> 2] = HEAPF32[$3 + 104 >> 2] + HEAPF32[$2 + 148 >> 2]; + HEAPF32[$3 + 108 >> 2] = HEAPF32[$3 + 108 >> 2] + HEAPF32[$2 + 152 >> 2]; + $1 = HEAP32[$2 + 152 >> 2]; + $0 = HEAP32[$2 + 148 >> 2]; + HEAP32[$2 + 128 >> 2] = $0; + HEAP32[$2 + 132 >> 2] = $1; + operator__28float_2c_20b2Vec2_20const__29($2 + 120 | 0, HEAPF32[$2 + 216 >> 2], $2 + 128 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 240 | 0, $2 + 120 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 208 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 124 | 0, $2 + 128 | 0)) + HEAPF32[$2 + 236 >> 2]), + HEAPF32[wasm2js_i32$0 + 236 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 112 | 0, HEAPF32[$2 + 212 >> 2], $2 + 128 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 224 | 0, $2 + 112 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 204 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 132 | 0, $2 + 128 | 0)) + HEAPF32[$2 + 220 >> 2]), + HEAPF32[wasm2js_i32$0 + 220 >> 2] = wasm2js_f32$0; + break label$1; + } + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 80 | 0, HEAPF32[$2 + 220 >> 2], $3 + 132 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 88 | 0, $2 + 224 | 0, $2 + 80 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 96 | 0, $2 + 88 | 0, $2 + 240 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 72 | 0, HEAPF32[$2 + 236 >> 2], $3 + 124 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 104 | 0, $2 + 96 | 0, $2 + 72 | 0); + HEAPF32[$2 + 68 >> 2] = HEAPF32[$2 + 220 >> 2] - HEAPF32[$2 + 236 >> 2]; + b2Vec3__b2Vec3_28float_2c_20float_2c_20float_29($2 + 56 | 0, HEAPF32[$2 + 104 >> 2], HEAPF32[$2 + 108 >> 2], HEAPF32[$2 + 68 >> 2]); + b2Mul_28b2Mat33_20const__2c_20b2Vec3_20const__29($2 + 32 | 0, $3 + 172 | 0, $2 + 56 | 0); + b2Vec3__operator__28_29_20const($2 + 44 | 0, $2 + 32 | 0); + b2Vec3__operator___28b2Vec3_20const__29($3 + 104 | 0, $2 + 44 | 0); + b2Vec2__b2Vec2_28float_2c_20float_29($2 + 24 | 0, HEAPF32[$2 + 44 >> 2], HEAPF32[$2 + 48 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($2 + 16 | 0, HEAPF32[$2 + 216 >> 2], $2 + 24 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 240 | 0, $2 + 16 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 208 >> 2]) * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 124 | 0, $2 + 24 | 0) + HEAPF32[$2 + 52 >> 2])) + HEAPF32[$2 + 236 >> 2]), + HEAPF32[wasm2js_i32$0 + 236 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 8 | 0, HEAPF32[$2 + 212 >> 2], $2 + 24 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 224 | 0, $2 + 8 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 204 >> 2] * Math_fround(b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 132 | 0, $2 + 24 | 0) + HEAPF32[$2 + 52 >> 2])) + HEAPF32[$2 + 220 >> 2]), + HEAPF32[wasm2js_i32$0 + 220 >> 2] = wasm2js_f32$0; + } + $0 = HEAP32[$2 + 244 >> 2]; + $1 = HEAP32[$2 + 240 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 116 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 116 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 236 >> 2]; + $1 = HEAP32[$2 + 228 >> 2]; + $0 = HEAP32[$2 + 224 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 248 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 220 >> 2]; + __stack_pointer = $2 + 256 | 0; +} + +function b2PulleyJoint__SolvePositionConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 192 | 0; + __stack_pointer = $2; + HEAP32[$2 + 188 >> 2] = $0; + HEAP32[$2 + 184 >> 2] = $1; + $3 = HEAP32[$2 + 188 >> 2]; + $4 = HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 176 >> 2] = $1; + HEAP32[$2 + 180 >> 2] = $0; + HEAPF32[$2 + 172 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 124 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 160 >> 2] = $0; + HEAP32[$2 + 164 >> 2] = $1; + HEAPF32[$2 + 156 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 124 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 148 | 0, HEAPF32[$2 + 172 >> 2]); + b2Rot__b2Rot_28float_29($2 + 140 | 0, HEAPF32[$2 + 156 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 124 | 0, $3 + 92 | 0, $3 + 160 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 132 | 0, $2 + 148 | 0, $2 + 124 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 108 | 0, $3 + 100 | 0, $3 + 168 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $2 + 140 | 0, $2 + 108 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 92 | 0, $2 + 176 | 0, $2 + 132 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 100 | 0, $2 + 92 | 0, $3 + 68 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 76 | 0, $2 + 160 | 0, $2 + 116 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $2 + 76 | 0, $3 + 76 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Vec2__Length_28_29_20const($2 + 100 | 0), + HEAPF32[wasm2js_i32$0 + 72 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Vec2__Length_28_29_20const($2 + 84 | 0), HEAPF32[wasm2js_i32$0 + 68 >> 2] = wasm2js_f32$0; + label$1: { + if (HEAPF32[$2 + 72 >> 2] > Math_fround(.04999999701976776)) { + b2Vec2__operator___28float_29($2 + 100 | 0, Math_fround(Math_fround(1) / HEAPF32[$2 + 72 >> 2])); + break label$1; + } + b2Vec2__SetZero_28_29($2 + 100 | 0); + } + label$3: { + if (HEAPF32[$2 + 68 >> 2] > Math_fround(.04999999701976776)) { + b2Vec2__operator___28float_29($2 + 84 | 0, Math_fround(Math_fround(1) / HEAPF32[$2 + 68 >> 2])); + break label$3; + } + b2Vec2__SetZero_28_29($2 + 84 | 0); + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 132 | 0, $2 + 100 | 0), + HEAPF32[wasm2js_i32$0 + 64 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $2 + 84 | 0), + HEAPF32[wasm2js_i32$0 + 60 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 56 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 184 >> 2] * HEAPF32[$2 + 64 >> 2]) * HEAPF32[$2 + 64 >> 2]) + HEAPF32[$3 + 176 >> 2]; + HEAPF32[$2 + 52 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 188 >> 2] * HEAPF32[$2 + 60 >> 2]) * HEAPF32[$2 + 60 >> 2]) + HEAPF32[$3 + 180 >> 2]; + HEAPF32[$2 + 48 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 112 >> 2] * HEAPF32[$3 + 112 >> 2]) * HEAPF32[$2 + 52 >> 2]) + HEAPF32[$2 + 56 >> 2]; + if (HEAPF32[$2 + 48 >> 2] > Math_fround(0)) { + HEAPF32[$2 + 48 >> 2] = Math_fround(1) / HEAPF32[$2 + 48 >> 2]; + } + HEAPF32[$2 + 44 >> 2] = Math_fround(Math_fround(-HEAPF32[$3 + 112 >> 2]) * HEAPF32[$2 + 68 >> 2]) + Math_fround(HEAPF32[$3 + 108 >> 2] - HEAPF32[$2 + 72 >> 2]); + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Abs_float__28float_29(HEAPF32[$2 + 44 >> 2]), + HEAPF32[wasm2js_i32$0 + 40 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 36 >> 2] = Math_fround(-HEAPF32[$2 + 48 >> 2]) * HEAPF32[$2 + 44 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 28 | 0, Math_fround(-HEAPF32[$2 + 36 >> 2]), $2 + 100 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, Math_fround(Math_fround(-HEAPF32[$3 + 112 >> 2]) * HEAPF32[$2 + 36 >> 2]), $2 + 84 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$3 + 176 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 176 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$3 + 184 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 132 | 0, $2 + 28 | 0)) + HEAPF32[$2 + 172 >> 2]), + HEAPF32[wasm2js_i32$0 + 172 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$3 + 180 >> 2], $2 + 20 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 160 | 0, $2 + 4 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$3 + 188 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 116 | 0, $2 + 20 | 0)) + HEAPF32[$2 + 156 >> 2]), + HEAPF32[wasm2js_i32$0 + 156 >> 2] = wasm2js_f32$0; + $0 = HEAP32[$2 + 180 >> 2]; + $1 = HEAP32[$2 + 176 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 172 >> 2]; + $1 = HEAP32[$2 + 164 >> 2]; + $0 = HEAP32[$2 + 160 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 124 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 124 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 156 >> 2]; + __stack_pointer = $2 + 192 | 0; + return HEAPF32[$2 + 40 >> 2] < Math_fround(.004999999888241291) | 0; +} + +function void_20b2DynamicTree__RayCast_b2WorldRayCastWrapper__28b2WorldRayCastWrapper__2c_20b2RayCastInput_20const__29_20const($0, $1, $2) { + var $3 = 0, $4 = Math_fround(0), $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 1264 | 0; + __stack_pointer = $3; + HEAP32[$3 + 1260 >> 2] = $0; + HEAP32[$3 + 1256 >> 2] = $1; + HEAP32[$3 + 1252 >> 2] = $2; + $5 = HEAP32[$3 + 1260 >> 2]; + $2 = HEAP32[$3 + 1252 >> 2]; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + HEAP32[$3 + 1240 >> 2] = $1; + HEAP32[$3 + 1244 >> 2] = $0; + $2 = HEAP32[$3 + 1252 >> 2]; + $0 = HEAP32[$2 + 8 >> 2]; + $1 = HEAP32[$2 + 12 >> 2]; + HEAP32[$3 + 1232 >> 2] = $0; + HEAP32[$3 + 1236 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 1224 | 0, $3 + 1232 | 0, $3 + 1240 | 0); + if (!(b2Vec2__LengthSquared_28_29_20const($3 + 1224 | 0) > Math_fround(0))) { + __assert_fail(8129, 7408, 230, 1866); + wasm2js_trap(); + } + b2Vec2__Normalize_28_29($3 + 1224 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($3 + 1216 | 0, Math_fround(1), $3 + 1224 | 0); + b2Abs_28b2Vec2_20const__29($3 + 1208 | 0, $3 + 1216 | 0); + HEAPF32[$3 + 1204 >> 2] = HEAPF32[HEAP32[$3 + 1252 >> 2] + 16 >> 2]; + b2AABB__b2AABB_28_29($3 + 1188 | 0); + $4 = HEAPF32[$3 + 1204 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 1164 | 0, $3 + 1232 | 0, $3 + 1240 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 1172 | 0, $4, $3 + 1164 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 1180 | 0, $3 + 1240 | 0, $3 + 1172 | 0); + b2Min_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 1156 | 0, $3 + 1240 | 0, $3 + 1180 | 0); + $0 = HEAP32[$3 + 1160 >> 2]; + $1 = HEAP32[$3 + 1156 >> 2]; + $2 = $1; + $1 = $3 + 1188 | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + b2Max_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 1148 | 0, $3 + 1240 | 0, $3 + 1180 | 0); + $1 = HEAP32[$3 + 1152 >> 2]; + $0 = HEAP32[$3 + 1148 >> 2]; + $2 = $0; + $0 = $3 + 1188 | 0; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + b2GrowableStack_int_2c_20256___b2GrowableStack_28_29($3 + 112 | 0); + b2GrowableStack_int_2c_20256___Push_28int_20const__29($3 + 112 | 0, $5); + label$2: { + while (1) { + if ((b2GrowableStack_int_2c_20256___GetCount_28_29($3 + 112 | 0) | 0) > 0) { + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2GrowableStack_int_2c_20256___Pop_28_29($3 + 112 | 0), + HEAP32[wasm2js_i32$0 + 108 >> 2] = wasm2js_i32$1; + if (HEAP32[$3 + 108 >> 2] == -1) { + continue; + } + HEAP32[$3 + 104 >> 2] = HEAP32[$5 + 4 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 40); + if (!(b2TestOverlap_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$3 + 104 >> 2], $3 + 1188 | 0) & 1)) { + continue; + } + b2AABB__GetCenter_28_29_20const($3 + 96 | 0, HEAP32[$3 + 104 >> 2]); + b2AABB__GetExtents_28_29_20const($3 + 88 | 0, HEAP32[$3 + 104 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 76 | 0, $3 + 1240 | 0, $3 + 96 | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(float_20b2Abs_float__28float_29(b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 1216 | 0, $3 + 76 | 0)) - b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 1208 | 0, $3 + 88 | 0)), + HEAPF32[wasm2js_i32$0 + 84 >> 2] = wasm2js_f32$0; + if (HEAPF32[$3 + 84 >> 2] > Math_fround(0)) { + continue; + } + label$5: { + if (b2TreeNode__IsLeaf_28_29_20const(HEAP32[$3 + 104 >> 2]) & 1) { + b2RayCastInput__b2RayCastInput_28_29($3 + 56 | 0); + $2 = HEAP32[$3 + 1252 >> 2]; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + $2 = $1; + $1 = $3 + 56 | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + $2 = HEAP32[$3 + 1252 >> 2]; + $0 = HEAP32[$2 + 8 >> 2]; + $1 = HEAP32[$2 + 12 >> 2]; + $2 = $0; + $0 = $3 + 56 | 0; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + HEAPF32[$3 + 72 >> 2] = HEAPF32[$3 + 1204 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2WorldRayCastWrapper__RayCastCallback_28b2RayCastInput_20const__2c_20int_29(HEAP32[$3 + 1256 >> 2], $3 + 56 | 0, HEAP32[$3 + 108 >> 2]), + HEAPF32[wasm2js_i32$0 + 52 >> 2] = wasm2js_f32$0; + if (HEAPF32[$3 + 52 >> 2] == Math_fround(0)) { + HEAP32[$3 + 48 >> 2] = 1; + break label$2; + } + if (HEAPF32[$3 + 52 >> 2] > Math_fround(0)) { + HEAPF32[$3 + 1204 >> 2] = HEAPF32[$3 + 52 >> 2]; + $4 = HEAPF32[$3 + 1204 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 24 | 0, $3 + 1232 | 0, $3 + 1240 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 32 | 0, $4, $3 + 24 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 40 | 0, $3 + 1240 | 0, $3 + 32 | 0); + b2Min_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 16 | 0, $3 + 1240 | 0, $3 + 40 | 0); + $0 = HEAP32[$3 + 20 >> 2]; + $1 = HEAP32[$3 + 16 >> 2]; + $2 = $1; + $1 = $3 + 1188 | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + b2Max_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 8 | 0, $3 + 1240 | 0, $3 + 40 | 0); + $1 = HEAP32[$3 + 12 >> 2]; + $0 = HEAP32[$3 + 8 >> 2]; + $2 = $0; + $0 = $3 + 1188 | 0; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + } + break label$5; + } + b2GrowableStack_int_2c_20256___Push_28int_20const__29($3 + 112 | 0, HEAP32[$3 + 104 >> 2] + 24 | 0); + b2GrowableStack_int_2c_20256___Push_28int_20const__29($3 + 112 | 0, HEAP32[$3 + 104 >> 2] + 28 | 0); + } + continue; + } + break; + } + HEAP32[$3 + 48 >> 2] = 0; + } + b2GrowableStack_int_2c_20256____b2GrowableStack_28_29($3 + 112 | 0); + __stack_pointer = $3 + 1264 | 0; +} + +function b2ContactManager__AddPair_28void__2c_20void__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 80 | 0; + __stack_pointer = $3; + HEAP32[$3 + 76 >> 2] = $0; + HEAP32[$3 + 72 >> 2] = $1; + HEAP32[$3 + 68 >> 2] = $2; + $0 = HEAP32[$3 + 76 >> 2]; + HEAP32[$3 + 64 >> 2] = HEAP32[$3 + 72 >> 2]; + HEAP32[$3 + 60 >> 2] = HEAP32[$3 + 68 >> 2]; + HEAP32[$3 + 56 >> 2] = HEAP32[HEAP32[$3 + 64 >> 2] + 16 >> 2]; + HEAP32[$3 + 52 >> 2] = HEAP32[HEAP32[$3 + 60 >> 2] + 16 >> 2]; + HEAP32[$3 + 48 >> 2] = HEAP32[HEAP32[$3 + 64 >> 2] + 20 >> 2]; + HEAP32[$3 + 44 >> 2] = HEAP32[HEAP32[$3 + 60 >> 2] + 20 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$3 + 56 >> 2]), + HEAP32[wasm2js_i32$0 + 40 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$3 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 36 >> 2] = wasm2js_i32$1; + label$1: { + if (HEAP32[$3 + 40 >> 2] == HEAP32[$3 + 36 >> 2]) { + break label$1; + } + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Body__GetContactList_28_29(HEAP32[$3 + 36 >> 2]), + HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + while (1) { + if (HEAP32[$3 + 32 >> 2]) { + if (HEAP32[HEAP32[$3 + 32 >> 2] >> 2] == HEAP32[$3 + 40 >> 2]) { + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Contact__GetFixtureA_28_29(HEAP32[HEAP32[$3 + 32 >> 2] + 4 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Contact__GetFixtureB_28_29(HEAP32[HEAP32[$3 + 32 >> 2] + 4 >> 2]), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Contact__GetChildIndexA_28_29_20const(HEAP32[HEAP32[$3 + 32 >> 2] + 4 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Contact__GetChildIndexB_28_29_20const(HEAP32[HEAP32[$3 + 32 >> 2] + 4 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + if (!(HEAP32[$3 + 28 >> 2] != HEAP32[$3 + 56 >> 2] | HEAP32[$3 + 24 >> 2] != HEAP32[$3 + 52 >> 2] | (HEAP32[$3 + 20 >> 2] != HEAP32[$3 + 48 >> 2] | HEAP32[$3 + 16 >> 2] != HEAP32[$3 + 44 >> 2]))) { + break label$1; + } + if (!(HEAP32[$3 + 28 >> 2] != HEAP32[$3 + 52 >> 2] | HEAP32[$3 + 24 >> 2] != HEAP32[$3 + 56 >> 2] | (HEAP32[$3 + 20 >> 2] != HEAP32[$3 + 44 >> 2] | HEAP32[$3 + 16 >> 2] != HEAP32[$3 + 48 >> 2]))) { + break label$1; + } + } + HEAP32[$3 + 32 >> 2] = HEAP32[HEAP32[$3 + 32 >> 2] + 12 >> 2]; + continue; + } + break; + } + label$7: { + if (!HEAP32[$0 + 68 >> 2]) { + break label$7; + } + $1 = HEAP32[$0 + 68 >> 2]; + if (FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 8 >> 2]]($1, HEAP32[$3 + 56 >> 2], HEAP32[$3 + 52 >> 2]) & 1) { + break label$7; + } + break label$1; + } + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Contact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29(HEAP32[$3 + 56 >> 2], HEAP32[$3 + 48 >> 2], HEAP32[$3 + 52 >> 2], HEAP32[$3 + 44 >> 2], HEAP32[$0 + 76 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + if (!HEAP32[$3 + 12 >> 2]) { + break label$1; + } + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Contact__GetFixtureA_28_29(HEAP32[$3 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 56 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Contact__GetFixtureB_28_29(HEAP32[$3 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 52 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Contact__GetChildIndexA_28_29_20const(HEAP32[$3 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 48 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Contact__GetChildIndexB_28_29_20const(HEAP32[$3 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$3 + 56 >> 2]), + HEAP32[wasm2js_i32$0 + 40 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$3 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 36 >> 2] = wasm2js_i32$1; + HEAP32[HEAP32[$3 + 12 >> 2] + 8 >> 2] = 0; + HEAP32[HEAP32[$3 + 12 >> 2] + 12 >> 2] = HEAP32[$0 + 60 >> 2]; + if (HEAP32[$0 + 60 >> 2]) { + HEAP32[HEAP32[$0 + 60 >> 2] + 8 >> 2] = HEAP32[$3 + 12 >> 2]; + } + HEAP32[$0 + 60 >> 2] = HEAP32[$3 + 12 >> 2]; + HEAP32[HEAP32[$3 + 12 >> 2] + 20 >> 2] = HEAP32[$3 + 12 >> 2]; + HEAP32[HEAP32[$3 + 12 >> 2] + 16 >> 2] = HEAP32[$3 + 36 >> 2]; + HEAP32[HEAP32[$3 + 12 >> 2] + 24 >> 2] = 0; + HEAP32[HEAP32[$3 + 12 >> 2] + 28 >> 2] = HEAP32[HEAP32[$3 + 40 >> 2] + 112 >> 2]; + if (HEAP32[HEAP32[$3 + 40 >> 2] + 112 >> 2]) { + HEAP32[HEAP32[HEAP32[$3 + 40 >> 2] + 112 >> 2] + 8 >> 2] = HEAP32[$3 + 12 >> 2] + 16; + } + HEAP32[HEAP32[$3 + 40 >> 2] + 112 >> 2] = HEAP32[$3 + 12 >> 2] + 16; + HEAP32[HEAP32[$3 + 12 >> 2] + 36 >> 2] = HEAP32[$3 + 12 >> 2]; + HEAP32[HEAP32[$3 + 12 >> 2] + 32 >> 2] = HEAP32[$3 + 40 >> 2]; + HEAP32[HEAP32[$3 + 12 >> 2] + 40 >> 2] = 0; + HEAP32[HEAP32[$3 + 12 >> 2] + 44 >> 2] = HEAP32[HEAP32[$3 + 36 >> 2] + 112 >> 2]; + if (HEAP32[HEAP32[$3 + 36 >> 2] + 112 >> 2]) { + HEAP32[HEAP32[HEAP32[$3 + 36 >> 2] + 112 >> 2] + 8 >> 2] = HEAP32[$3 + 12 >> 2] + 32; + } + HEAP32[HEAP32[$3 + 36 >> 2] + 112 >> 2] = HEAP32[$3 + 12 >> 2] + 32; + label$11: { + if (b2Fixture__IsSensor_28_29_20const(HEAP32[$3 + 56 >> 2]) & 1) { + break label$11; + } + if (b2Fixture__IsSensor_28_29_20const(HEAP32[$3 + 52 >> 2]) & 1) { + break label$11; + } + b2Body__SetAwake_28bool_29(HEAP32[$3 + 40 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$3 + 36 >> 2], 1); + } + HEAP32[$0 + 64 >> 2] = HEAP32[$0 + 64 >> 2] + 1; + } + __stack_pointer = $3 + 80 | 0; +} + +function void_20std____2____tree_balance_after_insert_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____2c_20std____2____tree_node_base_void____29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP8[HEAP32[$2 + 8 >> 2] + 12 | 0] = HEAP32[$2 + 8 >> 2] == HEAP32[$2 + 12 >> 2]; + while (1) { + $0 = 0; + if (HEAP32[$2 + 8 >> 2] != HEAP32[$2 + 12 >> 2]) { + $0 = HEAPU8[std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]) + 12 | 0] ^ -1; + } + label$3: { + if (!($0 & 1)) { + break label$3; + } + label$4: { + if (bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2])) & 1) { + wasm2js_i32$0 = $2, wasm2js_i32$1 = HEAP32[std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2])) + 4 >> 2], + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + label$6: { + if (!(!HEAP32[$2 + 4 >> 2] | HEAP8[HEAP32[$2 + 4 >> 2] + 12 | 0] & 1)) { + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + HEAP8[HEAP32[$2 + 8 >> 2] + 12 | 0] = 1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + HEAP8[HEAP32[$2 + 8 >> 2] + 12 | 0] = HEAP32[$2 + 8 >> 2] == HEAP32[$2 + 12 >> 2]; + HEAP8[HEAP32[$2 + 4 >> 2] + 12 | 0] = 1; + break label$6; + } + if (!(bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 8 >> 2]) & 1)) { + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + void_20std____2____tree_left_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 8 >> 2]); + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + HEAP8[HEAP32[$2 + 8 >> 2] + 12 | 0] = 1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + HEAP8[HEAP32[$2 + 8 >> 2] + 12 | 0] = 0; + void_20std____2____tree_right_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 8 >> 2]); + break label$3; + } + break label$4; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = HEAP32[HEAP32[std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]) + 8 >> 2] >> 2], + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$9: { + if (!(!HEAP32[$2 >> 2] | HEAP8[HEAP32[$2 >> 2] + 12 | 0] & 1)) { + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + HEAP8[HEAP32[$2 + 8 >> 2] + 12 | 0] = 1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + HEAP8[HEAP32[$2 + 8 >> 2] + 12 | 0] = HEAP32[$2 + 8 >> 2] == HEAP32[$2 + 12 >> 2]; + HEAP8[HEAP32[$2 >> 2] + 12 | 0] = 1; + break label$9; + } + if (bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 8 >> 2]) & 1) { + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + void_20std____2____tree_right_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 8 >> 2]); + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + HEAP8[HEAP32[$2 + 8 >> 2] + 12 | 0] = 1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + HEAP8[HEAP32[$2 + 8 >> 2] + 12 | 0] = 0; + void_20std____2____tree_left_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$2 + 8 >> 2]); + break label$3; + } + } + continue; + } + break; + } + __stack_pointer = $2 + 16 | 0; +} + +function b2GearJoint__SolveVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 128 | 0; + __stack_pointer = $2; + HEAP32[$2 + 124 >> 2] = $0; + HEAP32[$2 + 120 >> 2] = $1; + $3 = HEAP32[$2 + 124 >> 2]; + $4 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 160 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 112 >> 2] = $0; + HEAP32[$2 + 116 >> 2] = $1; + HEAPF32[$2 + 108 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 160 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 164 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 96 >> 2] = $1; + HEAP32[$2 + 100 >> 2] = $0; + HEAPF32[$2 + 92 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 164 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 168 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 80 >> 2] = $0; + HEAP32[$2 + 84 >> 2] = $1; + HEAPF32[$2 + 76 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 168 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 172 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 64 >> 2] = $1; + HEAP32[$2 + 68 >> 2] = $0; + HEAPF32[$2 + 60 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 172 >> 2], 12) | 0) + 8 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 48 | 0, $2 + 112 | 0, $2 + 80 | 0); + $5 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 240 | 0, $2 + 48 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 40 | 0, $2 + 96 | 0, $2 - -64 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround($5 + b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 248 | 0, $2 + 40 | 0)), + HEAPF32[wasm2js_i32$0 + 56 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 56 >> 2] = HEAPF32[$2 + 56 >> 2] + Math_fround(Math_fround(Math_fround(HEAPF32[$3 + 256 >> 2] * HEAPF32[$2 + 108 >> 2]) - Math_fround(HEAPF32[$3 + 264 >> 2] * HEAPF32[$2 + 76 >> 2])) + Math_fround(Math_fround(HEAPF32[$3 + 260 >> 2] * HEAPF32[$2 + 92 >> 2]) - Math_fround(HEAPF32[$3 + 268 >> 2] * HEAPF32[$2 + 60 >> 2]))); + HEAPF32[$2 + 36 >> 2] = Math_fround(-HEAPF32[$3 + 272 >> 2]) * HEAPF32[$2 + 56 >> 2]; + HEAPF32[$3 + 156 >> 2] = HEAPF32[$3 + 156 >> 2] + HEAPF32[$2 + 36 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 28 | 0, Math_fround(HEAPF32[$3 + 208 >> 2] * HEAPF32[$2 + 36 >> 2]), $3 + 240 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 112 | 0, $2 + 28 | 0); + HEAPF32[$2 + 108 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 224 >> 2] * HEAPF32[$2 + 36 >> 2]) * HEAPF32[$3 + 256 >> 2]) + HEAPF32[$2 + 108 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, Math_fround(HEAPF32[$3 + 212 >> 2] * HEAPF32[$2 + 36 >> 2]), $3 + 248 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 96 | 0, $2 + 20 | 0); + HEAPF32[$2 + 92 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 228 >> 2] * HEAPF32[$2 + 36 >> 2]) * HEAPF32[$3 + 260 >> 2]) + HEAPF32[$2 + 92 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, Math_fround(HEAPF32[$3 + 216 >> 2] * HEAPF32[$2 + 36 >> 2]), $3 + 240 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 80 | 0, $2 + 12 | 0); + HEAPF32[$2 + 76 >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[$3 + 232 >> 2] * HEAPF32[$2 + 36 >> 2])) * HEAPF32[$3 + 264 >> 2]) + HEAPF32[$2 + 76 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, Math_fround(HEAPF32[$3 + 220 >> 2] * HEAPF32[$2 + 36 >> 2]), $3 + 248 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 - -64 | 0, $2 + 4 | 0); + HEAPF32[$2 + 60 >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[$3 + 236 >> 2] * HEAPF32[$2 + 36 >> 2])) * HEAPF32[$3 + 268 >> 2]) + HEAPF32[$2 + 60 >> 2]; + $1 = HEAP32[$2 + 116 >> 2]; + $0 = HEAP32[$2 + 112 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 160 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 160 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 108 >> 2]; + $0 = HEAP32[$2 + 100 >> 2]; + $1 = HEAP32[$2 + 96 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 164 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 164 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 92 >> 2]; + $1 = HEAP32[$2 + 84 >> 2]; + $0 = HEAP32[$2 + 80 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 168 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 168 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 76 >> 2]; + $0 = HEAP32[$2 + 68 >> 2]; + $1 = HEAP32[$2 + 64 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 172 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 172 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 60 >> 2]; + __stack_pointer = $2 + 128 | 0; +} + +function b2Fixture__Dump_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 448 | 0; + __stack_pointer = $2; + HEAP32[$2 + 444 >> 2] = $0; + HEAP32[$2 + 440 >> 2] = $1; + $0 = HEAP32[$2 + 444 >> 2]; + b2Dump_28char_20const__2c_20____29(13710, 0); + HEAPF64[$2 + 400 >> 3] = HEAPF32[$0 + 16 >> 2]; + b2Dump_28char_20const__2c_20____29(12833, $2 + 400 | 0); + HEAPF64[$2 + 384 >> 3] = HEAPF32[$0 + 20 >> 2]; + b2Dump_28char_20const__2c_20____29(12805, $2 + 384 | 0); + HEAPF64[$2 + 368 >> 3] = HEAPF32[$0 >> 2]; + b2Dump_28char_20const__2c_20____29(12620, $2 + 368 | 0); + HEAP32[$2 + 352 >> 2] = HEAP8[$0 + 38 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14745, $2 + 352 | 0); + HEAP32[$2 + 336 >> 2] = HEAPU16[$0 + 32 >> 1]; + b2Dump_28char_20const__2c_20____29(14983, $2 + 336 | 0); + HEAP32[$2 + 320 >> 2] = HEAPU16[$0 + 34 >> 1]; + b2Dump_28char_20const__2c_20____29(15025, $2 + 320 | 0); + HEAP32[$2 + 304 >> 2] = HEAP16[$0 + 36 >> 1]; + b2Dump_28char_20const__2c_20____29(15063, $2 + 304 | 0); + label$1: { + label$2: { + label$3: { + switch (HEAP32[HEAP32[$0 + 12 >> 2] + 4 >> 2]) { + case 0: + HEAP32[$2 + 436 >> 2] = HEAP32[$0 + 12 >> 2]; + b2Dump_28char_20const__2c_20____29(13419, 0); + HEAPF64[$2 + 16 >> 3] = HEAPF32[HEAP32[$2 + 436 >> 2] + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(12702, $2 + 16 | 0); + $0 = HEAP32[$2 + 436 >> 2]; + $3 = HEAPF32[$0 + 12 >> 2]; + HEAPF64[$2 + 40 >> 3] = HEAPF32[$0 + 16 >> 2]; + HEAPF64[$2 + 32 >> 3] = $3; + b2Dump_28char_20const__2c_20____29(14065, $2 + 32 | 0); + break label$2; + + case 1: + HEAP32[$2 + 432 >> 2] = HEAP32[$0 + 12 >> 2]; + b2Dump_28char_20const__2c_20____29(13445, 0); + HEAPF64[$2 + 96 >> 3] = HEAPF32[HEAP32[$2 + 432 >> 2] + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(12702, $2 + 96 | 0); + $0 = HEAP32[$2 + 432 >> 2]; + $3 = HEAPF32[$0 + 32 >> 2]; + HEAPF64[$2 + 80 >> 3] = HEAPF32[$0 + 28 >> 2]; + HEAPF64[$2 + 88 >> 3] = $3; + b2Dump_28char_20const__2c_20____29(14452, $2 + 80 | 0); + $0 = HEAP32[$2 + 432 >> 2]; + $3 = HEAPF32[$0 + 16 >> 2]; + HEAPF64[$2 + 64 >> 3] = HEAPF32[$0 + 12 >> 2]; + HEAPF64[$2 + 72 >> 3] = $3; + b2Dump_28char_20const__2c_20____29(14414, $2 - -64 | 0); + $0 = HEAP32[$2 + 432 >> 2]; + $3 = HEAPF32[$0 + 24 >> 2]; + HEAPF64[$2 + 48 >> 3] = HEAPF32[$0 + 20 >> 2]; + HEAPF64[$2 + 56 >> 3] = $3; + b2Dump_28char_20const__2c_20____29(14376, $2 + 48 | 0); + $0 = HEAP32[$2 + 432 >> 2]; + $3 = HEAPF32[$0 + 36 >> 2]; + HEAPF64[$2 + 120 >> 3] = HEAPF32[$0 + 40 >> 2]; + HEAPF64[$2 + 112 >> 3] = $3; + b2Dump_28char_20const__2c_20____29(14338, $2 + 112 | 0); + HEAP32[$2 + 128 >> 2] = HEAP8[HEAP32[$2 + 432 >> 2] + 44 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14920, $2 + 128 | 0); + break label$2; + + case 2: + HEAP32[$2 + 428 >> 2] = HEAP32[$0 + 12 >> 2]; + b2Dump_28char_20const__2c_20____29(13367, 0); + HEAP32[$2 + 192 >> 2] = 8; + b2Dump_28char_20const__2c_20____29(13749, $2 + 192 | 0); + HEAP32[$2 + 424 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 424 >> 2] < HEAP32[HEAP32[$2 + 428 >> 2] + 148 >> 2]) { + $0 = HEAP32[$2 + 424 >> 2]; + $1 = HEAP32[$2 + 428 >> 2] + ($0 << 3) | 0; + $3 = HEAPF32[$1 + 20 >> 2]; + HEAPF64[$2 + 160 >> 3] = HEAPF32[$1 + 24 >> 2]; + HEAPF64[$2 + 152 >> 3] = $3; + HEAP32[$2 + 144 >> 2] = $0; + b2Dump_28char_20const__2c_20____29(14129, $2 + 144 | 0); + HEAP32[$2 + 424 >> 2] = HEAP32[$2 + 424 >> 2] + 1; + continue; + } + break; + } + ; + HEAP32[$2 + 176 >> 2] = HEAP32[HEAP32[$2 + 428 >> 2] + 148 >> 2]; + b2Dump_28char_20const__2c_20____29(15102, $2 + 176 | 0); + break label$2; + + case 3: + break label$3; + + default: + break label$1; + } + } + HEAP32[$2 + 420 >> 2] = HEAP32[$0 + 12 >> 2]; + b2Dump_28char_20const__2c_20____29(13394, 0); + HEAP32[$2 + 288 >> 2] = HEAP32[HEAP32[$2 + 420 >> 2] + 16 >> 2]; + b2Dump_28char_20const__2c_20____29(13749, $2 + 288 | 0); + HEAP32[$2 + 416 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 416 >> 2] < HEAP32[HEAP32[$2 + 420 >> 2] + 16 >> 2]) { + $0 = HEAP32[$2 + 416 >> 2]; + $1 = HEAP32[HEAP32[$2 + 420 >> 2] + 12 >> 2] + ($0 << 3) | 0; + $3 = HEAPF32[$1 >> 2]; + HEAPF64[$2 + 224 >> 3] = HEAPF32[$1 + 4 >> 2]; + HEAPF64[$2 + 216 >> 3] = $3; + HEAP32[$2 + 208 >> 2] = $0; + b2Dump_28char_20const__2c_20____29(14129, $2 + 208 | 0); + HEAP32[$2 + 416 >> 2] = HEAP32[$2 + 416 >> 2] + 1; + continue; + } + break; + } + HEAP32[$2 + 256 >> 2] = HEAP32[HEAP32[$2 + 420 >> 2] + 16 >> 2]; + b2Dump_28char_20const__2c_20____29(15126, $2 + 256 | 0); + $0 = HEAP32[$2 + 420 >> 2]; + $3 = HEAPF32[$0 + 24 >> 2]; + HEAPF64[$2 + 240 >> 3] = HEAPF32[$0 + 20 >> 2]; + HEAPF64[$2 + 248 >> 3] = $3; + b2Dump_28char_20const__2c_20____29(13947, $2 + 240 | 0); + $0 = HEAP32[$2 + 420 >> 2]; + $3 = HEAPF32[$0 + 28 >> 2]; + HEAPF64[$2 + 280 >> 3] = HEAPF32[$0 + 32 >> 2]; + HEAPF64[$2 + 272 >> 3] = $3; + b2Dump_28char_20const__2c_20____29(13988, $2 + 272 | 0); + } + b2Dump_28char_20const__2c_20____29(15365, 0); + b2Dump_28char_20const__2c_20____29(13343, 0); + b2Dump_28char_20const__2c_20____29(15365, 0); + HEAP32[$2 >> 2] = HEAP32[$2 + 440 >> 2]; + b2Dump_28char_20const__2c_20____29(14581, $2); + } + __stack_pointer = $2 + 448 | 0; +} + +function b2MotorJoint__SolveVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 192 | 0; + __stack_pointer = $2; + HEAP32[$2 + 188 >> 2] = $0; + HEAP32[$2 + 184 >> 2] = $1; + $3 = HEAP32[$2 + 188 >> 2]; + $1 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0; + $0 = HEAP32[$1 >> 2]; + $4 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 176 >> 2] = $0; + HEAP32[$2 + 180 >> 2] = $4; + HEAPF32[$2 + 172 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0) + 8 >> 2]; + $1 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0; + $4 = HEAP32[$1 >> 2]; + $0 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 160 >> 2] = $4; + HEAP32[$2 + 164 >> 2] = $0; + HEAPF32[$2 + 156 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$2 + 152 >> 2] = HEAPF32[$3 + 156 >> 2]; + HEAPF32[$2 + 148 >> 2] = HEAPF32[$3 + 160 >> 2]; + HEAPF32[$2 + 144 >> 2] = HEAPF32[$3 + 164 >> 2]; + HEAPF32[$2 + 140 >> 2] = HEAPF32[$3 + 168 >> 2]; + HEAPF32[$2 + 136 >> 2] = HEAPF32[HEAP32[$2 + 184 >> 2] >> 2]; + HEAPF32[$2 + 132 >> 2] = HEAPF32[HEAP32[$2 + 184 >> 2] + 4 >> 2]; + HEAPF32[$2 + 128 >> 2] = Math_fround(Math_fround(HEAPF32[$2 + 132 >> 2] * HEAPF32[$3 + 100 >> 2]) * HEAPF32[$3 + 152 >> 2]) + Math_fround(HEAPF32[$2 + 156 >> 2] - HEAPF32[$2 + 172 >> 2]); + HEAPF32[$2 + 124 >> 2] = Math_fround(-HEAPF32[$3 + 188 >> 2]) * HEAPF32[$2 + 128 >> 2]; + HEAPF32[$2 + 120 >> 2] = HEAPF32[$3 + 88 >> 2]; + HEAPF32[$2 + 116 >> 2] = HEAPF32[$2 + 136 >> 2] * HEAPF32[$3 + 96 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(Math_fround(HEAPF32[$3 + 88 >> 2] + HEAPF32[$2 + 124 >> 2]), Math_fround(-HEAPF32[$2 + 116 >> 2]), HEAPF32[$2 + 116 >> 2]), + HEAPF32[wasm2js_i32$0 + 88 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 124 >> 2] = HEAPF32[$3 + 88 >> 2] - HEAPF32[$2 + 120 >> 2]; + HEAPF32[$2 + 172 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 144 >> 2]) * HEAPF32[$2 + 124 >> 2]) + HEAPF32[$2 + 172 >> 2]; + HEAPF32[$2 + 156 >> 2] = Math_fround(HEAPF32[$2 + 140 >> 2] * HEAPF32[$2 + 124 >> 2]) + HEAPF32[$2 + 156 >> 2]; + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 76 | 0, HEAPF32[$2 + 156 >> 2], $3 + 120 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 84 | 0, $2 + 160 | 0, $2 + 76 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 92 | 0, $2 + 84 | 0, $2 + 176 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 68 | 0, HEAPF32[$2 + 172 >> 2], $3 + 112 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 100 | 0, $2 + 92 | 0, $2 + 68 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 60 | 0, Math_fround(HEAPF32[$2 + 132 >> 2] * HEAPF32[$3 + 100 >> 2]), $3 + 144 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 108 | 0, $2 + 100 | 0, $2 + 60 | 0); + b2Mul_28b2Mat22_20const__2c_20b2Vec2_20const__29($2 + 40 | 0, $3 + 172 | 0, $2 + 108 | 0); + b2Vec2__operator__28_29_20const($2 + 48 | 0, $2 + 40 | 0); + $4 = HEAP32[$3 + 84 >> 2]; + $0 = HEAP32[$3 + 80 >> 2]; + HEAP32[$2 + 32 >> 2] = $0; + HEAP32[$2 + 36 >> 2] = $4; + b2Vec2__operator___28b2Vec2_20const__29($3 + 80 | 0, $2 + 48 | 0); + HEAPF32[$2 + 28 >> 2] = HEAPF32[$2 + 136 >> 2] * HEAPF32[$3 + 92 >> 2]; + if (b2Vec2__LengthSquared_28_29_20const($3 + 80 | 0) > Math_fround(HEAPF32[$2 + 28 >> 2] * HEAPF32[$2 + 28 >> 2])) { + b2Vec2__Normalize_28_29($3 + 80 | 0); + b2Vec2__operator___28float_29($3 + 80 | 0, HEAPF32[$2 + 28 >> 2]); + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 20 | 0, $3 + 80 | 0, $2 + 32 | 0); + $0 = HEAP32[$2 + 24 >> 2]; + $4 = HEAP32[$2 + 20 >> 2]; + HEAP32[$2 + 48 >> 2] = $4; + HEAP32[$2 + 52 >> 2] = $0; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$2 + 152 >> 2], $2 + 48 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 176 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 144 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 112 | 0, $2 + 48 | 0)) + HEAPF32[$2 + 172 >> 2]), + HEAPF32[wasm2js_i32$0 + 172 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$2 + 148 >> 2], $2 + 48 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 160 | 0, $2 + 4 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 140 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 120 | 0, $2 + 48 | 0)) + HEAPF32[$2 + 156 >> 2]), + HEAPF32[wasm2js_i32$0 + 156 >> 2] = wasm2js_f32$0; + $4 = HEAP32[$2 + 180 >> 2]; + $0 = HEAP32[$2 + 176 >> 2]; + $1 = $0; + $0 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $4; + HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 172 >> 2]; + $0 = HEAP32[$2 + 164 >> 2]; + $4 = HEAP32[$2 + 160 >> 2]; + $1 = $4; + $4 = HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0; + HEAP32[$4 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 184 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 156 >> 2]; + __stack_pointer = $2 + 192 | 0; +} + +function b2Contact__Update_28b2ContactListener__29($0, $1) { + var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 128 | 0; + __stack_pointer = $2; + HEAP32[$2 + 124 >> 2] = $0; + HEAP32[$2 + 120 >> 2] = $1; + $1 = HEAP32[$2 + 124 >> 2]; + $3 = HEAP32[$1 + 120 >> 2]; + $0 = HEAP32[$1 + 124 >> 2]; + HEAP32[$2 + 112 >> 2] = $3; + HEAP32[$2 + 116 >> 2] = $0; + $3 = HEAP32[$1 + 116 >> 2]; + $0 = HEAP32[$1 + 112 >> 2]; + HEAP32[$2 + 104 >> 2] = $0; + HEAP32[$2 + 108 >> 2] = $3; + $0 = HEAP32[$1 + 108 >> 2]; + $3 = HEAP32[$1 + 104 >> 2]; + HEAP32[$2 + 96 >> 2] = $3; + HEAP32[$2 + 100 >> 2] = $0; + $3 = HEAP32[$1 + 100 >> 2]; + $0 = HEAP32[$1 + 96 >> 2]; + HEAP32[$2 + 88 >> 2] = $0; + HEAP32[$2 + 92 >> 2] = $3; + $0 = HEAP32[$1 + 92 >> 2]; + $3 = HEAP32[$1 + 88 >> 2]; + HEAP32[$2 + 80 >> 2] = $3; + HEAP32[$2 + 84 >> 2] = $0; + $3 = HEAP32[$1 + 84 >> 2]; + $0 = HEAP32[$1 + 80 >> 2]; + HEAP32[$2 + 72 >> 2] = $0; + HEAP32[$2 + 76 >> 2] = $3; + $0 = HEAP32[$1 + 76 >> 2]; + $3 = HEAP32[$1 + 72 >> 2]; + HEAP32[$2 + 64 >> 2] = $3; + HEAP32[$2 + 68 >> 2] = $0; + $3 = HEAP32[$1 + 68 >> 2]; + $0 = HEAP32[$1 + 64 >> 2]; + HEAP32[$2 + 56 >> 2] = $0; + HEAP32[$2 + 60 >> 2] = $3; + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] | 4; + HEAP8[$2 + 55 | 0] = 0; + HEAP8[$2 + 54 | 0] = (HEAP32[$1 + 4 >> 2] & 2) == 2; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__IsSensor_28_29_20const(HEAP32[$1 + 48 >> 2]) & 1, + HEAP8[wasm2js_i32$0 + 53 | 0] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__IsSensor_28_29_20const(HEAP32[$1 + 52 >> 2]) & 1, + HEAP8[wasm2js_i32$0 + 52 | 0] = wasm2js_i32$1; + $0 = 1; + $0 = HEAP8[$2 + 53 | 0] & 1 ? $0 : HEAPU8[$2 + 52 | 0]; + HEAP8[$2 + 51 | 0] = $0 & 1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$1 + 48 >> 2]), + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$1 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 40 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetTransform_28_29_20const(HEAP32[$2 + 44 >> 2]), + HEAP32[wasm2js_i32$0 + 36 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetTransform_28_29_20const(HEAP32[$2 + 40 >> 2]), + HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + label$2: { + if (HEAP8[$2 + 51 | 0] & 1) { + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$1 + 48 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$1 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2TestOverlap_28b2Shape_20const__2c_20int_2c_20b2Shape_20const__2c_20int_2c_20b2Transform_20const__2c_20b2Transform_20const__29(HEAP32[$2 + 28 >> 2], HEAP32[$1 + 56 >> 2], HEAP32[$2 + 24 >> 2], HEAP32[$1 + 60 >> 2], HEAP32[$2 + 36 >> 2], HEAP32[$2 + 32 >> 2]) & 1, + HEAP8[wasm2js_i32$0 + 55 | 0] = wasm2js_i32$1; + HEAP32[$1 + 124 >> 2] = 0; + break label$2; + } + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] >> 2]]($1, $1 - -64 | 0, HEAP32[$2 + 36 >> 2], HEAP32[$2 + 32 >> 2]); + HEAP8[$2 + 55 | 0] = HEAP32[$1 + 124 >> 2] > 0; + HEAP32[$2 + 20 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 20 >> 2] < HEAP32[$1 + 124 >> 2]) { + HEAP32[$2 + 16 >> 2] = ($1 - -64 | 0) + Math_imul(HEAP32[$2 + 20 >> 2], 20); + HEAPF32[HEAP32[$2 + 16 >> 2] + 8 >> 2] = 0; + HEAPF32[HEAP32[$2 + 16 >> 2] + 12 >> 2] = 0; + HEAP32[$2 + 12 >> 2] = HEAP32[HEAP32[$2 + 16 >> 2] + 16 >> 2]; + HEAP32[$2 + 8 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 8 >> 2] < HEAP32[$2 + 116 >> 2]) { + HEAP32[$2 + 4 >> 2] = ($2 + 56 | 0) + Math_imul(HEAP32[$2 + 8 >> 2], 20); + if (HEAP32[HEAP32[$2 + 4 >> 2] + 16 >> 2] == HEAP32[$2 + 12 >> 2]) { + HEAPF32[HEAP32[$2 + 16 >> 2] + 8 >> 2] = HEAPF32[HEAP32[$2 + 4 >> 2] + 8 >> 2]; + HEAPF32[HEAP32[$2 + 16 >> 2] + 12 >> 2] = HEAPF32[HEAP32[$2 + 4 >> 2] + 12 >> 2]; + } else { + HEAP32[$2 + 8 >> 2] = HEAP32[$2 + 8 >> 2] + 1; + continue; + } + } + break; + } + HEAP32[$2 + 20 >> 2] = HEAP32[$2 + 20 >> 2] + 1; + continue; + } + break; + } + if ((HEAP8[$2 + 55 | 0] & 1) != (HEAP8[$2 + 54 | 0] & 1)) { + b2Body__SetAwake_28bool_29(HEAP32[$2 + 44 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$2 + 40 >> 2], 1); + } + } + label$11: { + if (HEAP8[$2 + 55 | 0] & 1) { + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] | 2; + break label$11; + } + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] & -3; + } + if (!(!HEAP32[$2 + 120 >> 2] | (!(HEAP8[$2 + 55 | 0] & 1) | HEAP8[$2 + 54 | 0] & 1))) { + $0 = HEAP32[$2 + 120 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 8 >> 2]]($0, $1); + } + if (!(!HEAP32[$2 + 120 >> 2] | (!(HEAP8[$2 + 54 | 0] & 1) | HEAP8[$2 + 55 | 0] & 1))) { + $0 = HEAP32[$2 + 120 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 12 >> 2]]($0, $1); + } + if (!(!HEAP32[$2 + 120 >> 2] | (!(HEAP8[$2 + 55 | 0] & 1) | HEAP8[$2 + 51 | 0] & 1))) { + $0 = HEAP32[$2 + 120 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 16 >> 2]]($0, $1, $2 + 56 | 0); + } + __stack_pointer = $2 + 128 | 0; +} + +function b2FrictionJoint__SolveVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 176 | 0; + __stack_pointer = $2; + HEAP32[$2 + 172 >> 2] = $0; + HEAP32[$2 + 168 >> 2] = $1; + $3 = HEAP32[$2 + 172 >> 2]; + $1 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0; + $0 = HEAP32[$1 >> 2]; + $4 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 160 >> 2] = $0; + HEAP32[$2 + 164 >> 2] = $4; + HEAPF32[$2 + 156 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0) + 8 >> 2]; + $1 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0; + $4 = HEAP32[$1 >> 2]; + $0 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 144 >> 2] = $4; + HEAP32[$2 + 148 >> 2] = $0; + HEAPF32[$2 + 140 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0) + 8 >> 2]; + HEAPF32[$2 + 136 >> 2] = HEAPF32[$3 + 144 >> 2]; + HEAPF32[$2 + 132 >> 2] = HEAPF32[$3 + 148 >> 2]; + HEAPF32[$2 + 128 >> 2] = HEAPF32[$3 + 152 >> 2]; + HEAPF32[$2 + 124 >> 2] = HEAPF32[$3 + 156 >> 2]; + HEAPF32[$2 + 120 >> 2] = HEAPF32[HEAP32[$2 + 168 >> 2] >> 2]; + HEAPF32[$2 + 116 >> 2] = HEAPF32[$2 + 140 >> 2] - HEAPF32[$2 + 156 >> 2]; + HEAPF32[$2 + 112 >> 2] = Math_fround(-HEAPF32[$3 + 176 >> 2]) * HEAPF32[$2 + 116 >> 2]; + HEAPF32[$2 + 108 >> 2] = HEAPF32[$3 + 92 >> 2]; + HEAPF32[$2 + 104 >> 2] = HEAPF32[$2 + 120 >> 2] * HEAPF32[$3 + 100 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(Math_fround(HEAPF32[$3 + 92 >> 2] + HEAPF32[$2 + 112 >> 2]), Math_fround(-HEAPF32[$2 + 104 >> 2]), HEAPF32[$2 + 104 >> 2]), + HEAPF32[wasm2js_i32$0 + 92 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 112 >> 2] = HEAPF32[$3 + 92 >> 2] - HEAPF32[$2 + 108 >> 2]; + HEAPF32[$2 + 156 >> 2] = Math_fround(Math_fround(-HEAPF32[$2 + 128 >> 2]) * HEAPF32[$2 + 112 >> 2]) + HEAPF32[$2 + 156 >> 2]; + HEAPF32[$2 + 140 >> 2] = Math_fround(HEAPF32[$2 + 124 >> 2] * HEAPF32[$2 + 112 >> 2]) + HEAPF32[$2 + 140 >> 2]; + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 72 | 0, HEAPF32[$2 + 140 >> 2], $3 + 120 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 80 | 0, $2 + 144 | 0, $2 + 72 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 88 | 0, $2 + 80 | 0, $2 + 160 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($2 - -64 | 0, HEAPF32[$2 + 156 >> 2], $3 + 112 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 96 | 0, $2 + 88 | 0, $2 - -64 | 0); + b2Mul_28b2Mat22_20const__2c_20b2Vec2_20const__29($2 + 48 | 0, $3 + 160 | 0, $2 + 96 | 0); + b2Vec2__operator__28_29_20const($2 + 56 | 0, $2 + 48 | 0); + $4 = HEAP32[$3 + 88 >> 2]; + $0 = HEAP32[$3 + 84 >> 2]; + HEAP32[$2 + 40 >> 2] = $0; + HEAP32[$2 + 44 >> 2] = $4; + b2Vec2__operator___28b2Vec2_20const__29($3 + 84 | 0, $2 + 56 | 0); + HEAPF32[$2 + 36 >> 2] = HEAPF32[$2 + 120 >> 2] * HEAPF32[$3 + 96 >> 2]; + if (b2Vec2__LengthSquared_28_29_20const($3 + 84 | 0) > Math_fround(HEAPF32[$2 + 36 >> 2] * HEAPF32[$2 + 36 >> 2])) { + b2Vec2__Normalize_28_29($3 + 84 | 0); + b2Vec2__operator___28float_29($3 + 84 | 0, HEAPF32[$2 + 36 >> 2]); + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 28 | 0, $3 + 84 | 0, $2 + 40 | 0); + $0 = HEAP32[$2 + 32 >> 2]; + $4 = HEAP32[$2 + 28 >> 2]; + HEAP32[$2 + 56 >> 2] = $4; + HEAP32[$2 + 60 >> 2] = $0; + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, HEAPF32[$2 + 136 >> 2], $2 + 56 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 160 | 0, $2 + 20 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$2 + 128 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 112 | 0, $2 + 56 | 0)) + HEAPF32[$2 + 156 >> 2]), + HEAPF32[wasm2js_i32$0 + 156 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$2 + 132 >> 2], $2 + 56 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 144 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$2 + 124 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 120 | 0, $2 + 56 | 0)) + HEAPF32[$2 + 140 >> 2]), + HEAPF32[wasm2js_i32$0 + 140 >> 2] = wasm2js_f32$0; + $4 = HEAP32[$2 + 164 >> 2]; + $0 = HEAP32[$2 + 160 >> 2]; + $1 = $0; + $0 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $4; + HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 104 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 156 >> 2]; + $0 = HEAP32[$2 + 148 >> 2]; + $4 = HEAP32[$2 + 144 >> 2]; + $1 = $4; + $4 = HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0; + HEAP32[$4 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 168 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 140 >> 2]; + __stack_pointer = $2 + 176 | 0; +} + +function b2MouseJoint__InitVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 144 | 0; + __stack_pointer = $2; + HEAP32[$2 + 140 >> 2] = $0; + HEAP32[$2 + 136 >> 2] = $1; + $1 = HEAP32[$2 + 140 >> 2]; + HEAP32[$1 + 116 >> 2] = HEAP32[HEAP32[$1 + 52 >> 2] + 8 >> 2]; + $4 = HEAP32[$1 + 52 >> 2]; + $0 = HEAP32[$4 + 28 >> 2]; + $3 = HEAP32[$4 + 32 >> 2]; + HEAP32[$1 + 128 >> 2] = $0; + HEAP32[$1 + 132 >> 2] = $3; + HEAPF32[$1 + 136 >> 2] = HEAPF32[HEAP32[$1 + 52 >> 2] + 120 >> 2]; + HEAPF32[$1 + 140 >> 2] = HEAPF32[HEAP32[$1 + 52 >> 2] + 128 >> 2]; + $4 = HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 116 >> 2], 12) | 0; + $3 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 128 >> 2] = $3; + HEAP32[$2 + 132 >> 2] = $0; + HEAPF32[$2 + 124 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 116 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 116 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $3 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 112 >> 2] = $0; + HEAP32[$2 + 116 >> 2] = $3; + HEAPF32[$2 + 108 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 116 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 100 | 0, HEAPF32[$2 + 124 >> 2]); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Body__GetMass_28_29_20const(HEAP32[$1 + 52 >> 2]), + HEAPF32[wasm2js_i32$0 + 96 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 92 >> 2] = HEAPF32[$1 + 84 >> 2] * Math_fround(6.2831854820251465); + $5 = HEAPF32[$2 + 96 >> 2]; + HEAPF32[$2 + 88 >> 2] = Math_fround(Math_fround($5 + $5) * HEAPF32[$1 + 88 >> 2]) * HEAPF32[$2 + 92 >> 2]; + HEAPF32[$2 + 84 >> 2] = HEAPF32[$2 + 96 >> 2] * Math_fround(HEAPF32[$2 + 92 >> 2] * HEAPF32[$2 + 92 >> 2]); + HEAPF32[$2 + 80 >> 2] = HEAPF32[HEAP32[$2 + 136 >> 2] >> 2]; + HEAPF32[$1 + 108 >> 2] = HEAPF32[$2 + 80 >> 2] * Math_fround(Math_fround(HEAPF32[$2 + 80 >> 2] * HEAPF32[$2 + 84 >> 2]) + HEAPF32[$2 + 88 >> 2]); + if (HEAPF32[$1 + 108 >> 2] != Math_fround(0)) { + HEAPF32[$1 + 108 >> 2] = Math_fround(1) / HEAPF32[$1 + 108 >> 2]; + } + HEAPF32[$1 + 92 >> 2] = Math_fround(HEAPF32[$2 + 80 >> 2] * HEAPF32[$2 + 84 >> 2]) * HEAPF32[$1 + 108 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 - -64 | 0, $1 + 68 | 0, $1 + 128 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 72 | 0, $2 + 100 | 0, $2 - -64 | 0); + $0 = HEAP32[$2 + 76 >> 2]; + $3 = HEAP32[$2 + 72 >> 2]; + HEAP32[$1 + 120 >> 2] = $3; + HEAP32[$1 + 124 >> 2] = $0; + b2Mat22__b2Mat22_28_29($2 + 48 | 0); + HEAPF32[$2 + 48 >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 140 >> 2] * HEAPF32[$1 + 124 >> 2]) * HEAPF32[$1 + 124 >> 2]) + HEAPF32[$1 + 136 >> 2]) + HEAPF32[$1 + 108 >> 2]; + HEAPF32[$2 + 52 >> 2] = Math_fround(Math_fround(-HEAPF32[$1 + 140 >> 2]) * HEAPF32[$1 + 120 >> 2]) * HEAPF32[$1 + 124 >> 2]; + HEAPF32[$2 + 56 >> 2] = HEAPF32[$2 + 52 >> 2]; + HEAPF32[$2 + 60 >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[$1 + 140 >> 2] * HEAPF32[$1 + 120 >> 2]) * HEAPF32[$1 + 120 >> 2]) + HEAPF32[$1 + 136 >> 2]) + HEAPF32[$1 + 108 >> 2]; + b2Mat22__GetInverse_28_29_20const($2 + 32 | 0, $2 + 48 | 0); + $3 = HEAP32[$2 + 36 >> 2]; + $0 = HEAP32[$2 + 32 >> 2]; + HEAP32[$1 + 144 >> 2] = $0; + HEAP32[$1 + 148 >> 2] = $3; + $0 = HEAP32[$2 + 44 >> 2]; + $3 = HEAP32[$2 + 40 >> 2]; + HEAP32[$1 + 152 >> 2] = $3; + HEAP32[$1 + 156 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 16 | 0, $2 + 128 | 0, $1 + 120 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 24 | 0, $2 + 16 | 0, $1 + 76 | 0); + $3 = HEAP32[$2 + 28 >> 2]; + $0 = HEAP32[$2 + 24 >> 2]; + HEAP32[$1 + 160 >> 2] = $0; + HEAP32[$1 + 164 >> 2] = $3; + b2Vec2__operator___28float_29($1 + 160 | 0, HEAPF32[$1 + 92 >> 2]); + HEAPF32[$2 + 108 >> 2] = HEAPF32[$2 + 108 >> 2] * Math_fround(.9800000190734863); + label$2: { + if (HEAP8[HEAP32[$2 + 136 >> 2] + 20 | 0] & 1) { + b2Vec2__operator___28float_29($1 + 96 | 0, HEAPF32[HEAP32[$2 + 136 >> 2] + 8 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($2 + 8 | 0, HEAPF32[$1 + 136 >> 2], $1 + 96 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 112 | 0, $2 + 8 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 140 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 120 | 0, $1 + 96 | 0)) + HEAPF32[$2 + 108 >> 2]), + HEAPF32[wasm2js_i32$0 + 108 >> 2] = wasm2js_f32$0; + break label$2; + } + b2Vec2__SetZero_28_29($1 + 96 | 0); + } + $0 = HEAP32[$2 + 116 >> 2]; + $3 = HEAP32[$2 + 112 >> 2]; + $4 = $3; + $3 = HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 116 >> 2], 12) | 0; + HEAP32[$3 >> 2] = $4; + HEAP32[$3 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 116 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 108 >> 2]; + __stack_pointer = $2 + 144 | 0; +} + +function b2SeparationFunction__FindMinSeparation_28int__2c_20int__2c_20float_29_20const($0, $1, $2, $3) { + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 256 | 0; + __stack_pointer = $4; + HEAP32[$4 + 248 >> 2] = $0; + HEAP32[$4 + 244 >> 2] = $1; + HEAP32[$4 + 240 >> 2] = $2; + HEAPF32[$4 + 236 >> 2] = $3; + $2 = HEAP32[$4 + 248 >> 2]; + b2Transform__b2Transform_28_29($4 + 220 | 0); + b2Transform__b2Transform_28_29($4 + 204 | 0); + b2Sweep__GetTransform_28b2Transform__2c_20float_29_20const($2 + 8 | 0, $4 + 220 | 0, HEAPF32[$4 + 236 >> 2]); + b2Sweep__GetTransform_28b2Transform__2c_20float_29_20const($2 + 44 | 0, $4 + 204 | 0, HEAPF32[$4 + 236 >> 2]); + label$1: { + label$2: { + switch (HEAP32[$2 + 80 >> 2]) { + case 0: + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($4 + 196 | 0, $4 + 228 | 0, $2 + 92 | 0); + b2Vec2__operator__28_29_20const($4 + 180 | 0, $2 + 92 | 0); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($4 + 188 | 0, $4 + 212 | 0, $4 + 180 | 0); + $0 = b2DistanceProxy__GetSupport_28b2Vec2_20const__29_20const(HEAP32[$2 >> 2], $4 + 196 | 0); + HEAP32[HEAP32[$4 + 244 >> 2] >> 2] = $0; + $0 = b2DistanceProxy__GetSupport_28b2Vec2_20const__29_20const(HEAP32[$2 + 4 >> 2], $4 + 188 | 0); + HEAP32[HEAP32[$4 + 240 >> 2] >> 2] = $0; + $5 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 >> 2], HEAP32[HEAP32[$4 + 244 >> 2] >> 2]); + $1 = HEAP32[$5 >> 2]; + $0 = HEAP32[$5 + 4 >> 2]; + HEAP32[$4 + 168 >> 2] = $1; + HEAP32[$4 + 172 >> 2] = $0; + $5 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 + 4 >> 2], HEAP32[HEAP32[$4 + 240 >> 2] >> 2]); + $0 = HEAP32[$5 >> 2]; + $1 = HEAP32[$5 + 4 >> 2]; + HEAP32[$4 + 160 >> 2] = $0; + HEAP32[$4 + 164 >> 2] = $1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 152 | 0, $4 + 220 | 0, $4 + 168 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 144 | 0, $4 + 204 | 0, $4 + 160 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 132 | 0, $4 + 144 | 0, $4 + 152 | 0); + wasm2js_i32$0 = $4, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 132 | 0, $2 + 92 | 0), + HEAPF32[wasm2js_i32$0 + 140 >> 2] = wasm2js_f32$0; + HEAPF32[$4 + 252 >> 2] = HEAPF32[$4 + 140 >> 2]; + break label$1; + + case 1: + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($4 + 124 | 0, $4 + 228 | 0, $2 + 92 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 116 | 0, $4 + 220 | 0, $2 + 84 | 0); + b2Vec2__operator__28_29_20const($4 + 100 | 0, $4 + 124 | 0); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($4 + 108 | 0, $4 + 212 | 0, $4 + 100 | 0); + HEAP32[HEAP32[$4 + 244 >> 2] >> 2] = -1; + $0 = b2DistanceProxy__GetSupport_28b2Vec2_20const__29_20const(HEAP32[$2 + 4 >> 2], $4 + 108 | 0); + HEAP32[HEAP32[$4 + 240 >> 2] >> 2] = $0; + $5 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 + 4 >> 2], HEAP32[HEAP32[$4 + 240 >> 2] >> 2]); + $1 = HEAP32[$5 >> 2]; + $0 = HEAP32[$5 + 4 >> 2]; + HEAP32[$4 + 88 >> 2] = $1; + HEAP32[$4 + 92 >> 2] = $0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 80 | 0, $4 + 204 | 0, $4 + 88 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 68 | 0, $4 + 80 | 0, $4 + 116 | 0); + wasm2js_i32$0 = $4, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 68 | 0, $4 + 124 | 0), + HEAPF32[wasm2js_i32$0 + 76 >> 2] = wasm2js_f32$0; + HEAPF32[$4 + 252 >> 2] = HEAPF32[$4 + 76 >> 2]; + break label$1; + + case 2: + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($4 + 60 | 0, $4 + 212 | 0, $2 + 92 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 52 | 0, $4 + 204 | 0, $2 + 84 | 0); + b2Vec2__operator__28_29_20const($4 + 36 | 0, $4 + 60 | 0); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($4 + 44 | 0, $4 + 228 | 0, $4 + 36 | 0); + HEAP32[HEAP32[$4 + 240 >> 2] >> 2] = -1; + $0 = b2DistanceProxy__GetSupport_28b2Vec2_20const__29_20const(HEAP32[$2 >> 2], $4 + 44 | 0); + HEAP32[HEAP32[$4 + 244 >> 2] >> 2] = $0; + $5 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 >> 2], HEAP32[HEAP32[$4 + 244 >> 2] >> 2]); + $0 = HEAP32[$5 >> 2]; + $1 = HEAP32[$5 + 4 >> 2]; + HEAP32[$4 + 24 >> 2] = $0; + HEAP32[$4 + 28 >> 2] = $1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 16 | 0, $4 + 220 | 0, $4 + 24 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 4 | 0, $4 + 16 | 0, $4 + 52 | 0); + wasm2js_i32$0 = $4, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 4 | 0, $4 + 60 | 0), + HEAPF32[wasm2js_i32$0 + 12 >> 2] = wasm2js_f32$0; + HEAPF32[$4 + 252 >> 2] = HEAPF32[$4 + 12 >> 2]; + break label$1; + + default: + break label$2; + } + } + __assert_fail(9147, 5216, 190, 6665); + wasm2js_trap(); + } + __stack_pointer = $4 + 256 | 0; + return HEAPF32[$4 + 252 >> 2]; +} + +function b2Simplex__ReadCache_28b2SimplexCache_20const__2c_20b2DistanceProxy_20const__2c_20b2Transform_20const__2c_20b2DistanceProxy_20const__2c_20b2Transform_20const__29($0, $1, $2, $3, $4, $5) { + var $6 = 0, $7 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 144 | 0; + __stack_pointer = $6; + HEAP32[$6 + 140 >> 2] = $0; + HEAP32[$6 + 136 >> 2] = $1; + HEAP32[$6 + 132 >> 2] = $2; + HEAP32[$6 + 128 >> 2] = $3; + HEAP32[$6 + 124 >> 2] = $4; + HEAP32[$6 + 120 >> 2] = $5; + $3 = HEAP32[$6 + 140 >> 2]; + if (HEAPU16[HEAP32[$6 + 136 >> 2] + 4 >> 1] > 3) { + __assert_fail(12006, 6034, 112, 9742); + wasm2js_trap(); + } + HEAP32[$3 + 108 >> 2] = HEAPU16[HEAP32[$6 + 136 >> 2] + 4 >> 1]; + HEAP32[$6 + 116 >> 2] = $3; + HEAP32[$6 + 112 >> 2] = 0; + while (1) { + if (HEAP32[$6 + 112 >> 2] < HEAP32[$3 + 108 >> 2]) { + HEAP32[$6 + 108 >> 2] = HEAP32[$6 + 116 >> 2] + Math_imul(HEAP32[$6 + 112 >> 2], 36); + HEAP32[HEAP32[$6 + 108 >> 2] + 28 >> 2] = HEAPU8[HEAP32[$6 + 112 >> 2] + (HEAP32[$6 + 136 >> 2] + 6 | 0) | 0]; + HEAP32[HEAP32[$6 + 108 >> 2] + 32 >> 2] = HEAPU8[HEAP32[$6 + 112 >> 2] + (HEAP32[$6 + 136 >> 2] + 9 | 0) | 0]; + $2 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$6 + 132 >> 2], HEAP32[HEAP32[$6 + 108 >> 2] + 28 >> 2]); + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + HEAP32[$6 + 96 >> 2] = $0; + HEAP32[$6 + 100 >> 2] = $1; + $2 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$6 + 124 >> 2], HEAP32[HEAP32[$6 + 108 >> 2] + 32 >> 2]); + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + HEAP32[$6 + 88 >> 2] = $1; + HEAP32[$6 + 92 >> 2] = $0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6 + 80 | 0, HEAP32[$6 + 128 >> 2], $6 + 96 | 0); + $1 = HEAP32[$6 + 84 >> 2]; + $0 = HEAP32[$6 + 80 >> 2]; + $2 = $0; + $0 = HEAP32[$6 + 108 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6 + 72 | 0, HEAP32[$6 + 120 >> 2], $6 + 88 | 0); + $0 = HEAP32[$6 + 76 >> 2]; + $1 = HEAP32[$6 + 72 >> 2]; + $2 = $1; + $1 = HEAP32[$6 + 108 >> 2]; + HEAP32[$1 + 8 >> 2] = $2; + HEAP32[$1 + 12 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($6 - -64 | 0, HEAP32[$6 + 108 >> 2] + 8 | 0, HEAP32[$6 + 108 >> 2]); + $1 = HEAP32[$6 + 68 >> 2]; + $0 = HEAP32[$6 + 64 >> 2]; + $2 = $0; + $0 = HEAP32[$6 + 108 >> 2]; + HEAP32[$0 + 16 >> 2] = $2; + HEAP32[$0 + 20 >> 2] = $1; + HEAPF32[HEAP32[$6 + 108 >> 2] + 24 >> 2] = 0; + HEAP32[$6 + 112 >> 2] = HEAP32[$6 + 112 >> 2] + 1; + continue; + } + break; + } + if (HEAP32[$3 + 108 >> 2] > 1) { + HEAPF32[$6 + 60 >> 2] = HEAPF32[HEAP32[$6 + 136 >> 2] >> 2]; + wasm2js_i32$0 = $6, wasm2js_f32$0 = b2Simplex__GetMetric_28_29_20const($3), HEAPF32[wasm2js_i32$0 + 56 >> 2] = wasm2js_f32$0; + label$5: { + label$6: { + if (HEAPF32[$6 + 56 >> 2] < Math_fround(HEAPF32[$6 + 60 >> 2] * Math_fround(.5))) { + break label$6; + } + $7 = HEAPF32[$6 + 60 >> 2]; + if (HEAPF32[$6 + 56 >> 2] > Math_fround($7 + $7)) { + break label$6; + } + if (!(HEAPF32[$6 + 56 >> 2] < Math_fround(1.1920928955078125e-7))) { + break label$5; + } + } + HEAP32[$3 + 108 >> 2] = 0; + } + } + if (!HEAP32[$3 + 108 >> 2]) { + HEAP32[$6 + 52 >> 2] = HEAP32[$6 + 116 >> 2]; + HEAP32[HEAP32[$6 + 52 >> 2] + 28 >> 2] = 0; + HEAP32[HEAP32[$6 + 52 >> 2] + 32 >> 2] = 0; + $2 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$6 + 132 >> 2], 0); + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + HEAP32[$6 + 40 >> 2] = $1; + HEAP32[$6 + 44 >> 2] = $0; + $2 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$6 + 124 >> 2], 0); + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + HEAP32[$6 + 32 >> 2] = $0; + HEAP32[$6 + 36 >> 2] = $1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6 + 24 | 0, HEAP32[$6 + 128 >> 2], $6 + 40 | 0); + $0 = HEAP32[$6 + 28 >> 2]; + $1 = HEAP32[$6 + 24 >> 2]; + $2 = $1; + $1 = HEAP32[$6 + 52 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6 + 16 | 0, HEAP32[$6 + 120 >> 2], $6 + 32 | 0); + $1 = HEAP32[$6 + 20 >> 2]; + $0 = HEAP32[$6 + 16 >> 2]; + $2 = $0; + $0 = HEAP32[$6 + 52 >> 2]; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 8 | 0, HEAP32[$6 + 52 >> 2] + 8 | 0, HEAP32[$6 + 52 >> 2]); + $0 = HEAP32[$6 + 12 >> 2]; + $1 = HEAP32[$6 + 8 >> 2]; + $2 = $1; + $1 = HEAP32[$6 + 52 >> 2]; + HEAP32[$1 + 16 >> 2] = $2; + HEAP32[$1 + 20 >> 2] = $0; + HEAPF32[HEAP32[$6 + 52 >> 2] + 24 >> 2] = 1; + HEAP32[$3 + 108 >> 2] = 1; + } + __stack_pointer = $6 + 144 | 0; +} + +function b2RevoluteJoint__Draw_28b2Draw__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 224 | 0; + __stack_pointer = $2; + HEAP32[$2 + 220 >> 2] = $0; + HEAP32[$2 + 216 >> 2] = $1; + $0 = HEAP32[$2 + 220 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetTransform_28_29_20const(HEAP32[$0 + 48 >> 2]), + HEAP32[wasm2js_i32$0 + 212 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetTransform_28_29_20const(HEAP32[$0 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 208 >> 2] = wasm2js_i32$1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($2 + 200 | 0, HEAP32[$2 + 212 >> 2], $0 + 68 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($2 + 192 | 0, HEAP32[$2 + 208 >> 2], $0 + 76 | 0); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 176 | 0, Math_fround(.699999988079071), Math_fround(.699999988079071), Math_fround(.699999988079071), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 160 | 0, Math_fround(.30000001192092896), Math_fround(.8999999761581421), Math_fround(.30000001192092896), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 144 | 0, Math_fround(.8999999761581421), Math_fround(.30000001192092896), Math_fround(.30000001192092896), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 128 | 0, Math_fround(.30000001192092896), Math_fround(.30000001192092896), Math_fround(.8999999761581421), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 112 | 0, Math_fround(.4000000059604645), Math_fround(.4000000059604645), Math_fround(.4000000059604645), Math_fround(1)); + $1 = HEAP32[$2 + 216 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 32 >> 2]]($1, $2 + 200 | 0, Math_fround(5), $2 + 128 | 0); + $1 = HEAP32[$2 + 216 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 32 >> 2]]($1, $2 + 192 | 0, Math_fround(5), $2 + 112 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Body__GetAngle_28_29_20const(HEAP32[$0 + 48 >> 2]), + HEAPF32[wasm2js_i32$0 + 108 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Body__GetAngle_28_29_20const(HEAP32[$0 + 52 >> 2]), + HEAPF32[wasm2js_i32$0 + 104 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 100 >> 2] = Math_fround(HEAPF32[$2 + 104 >> 2] - HEAPF32[$2 + 108 >> 2]) - HEAPF32[$0 + 120 >> 2]; + HEAPF32[$2 + 96 >> 2] = .5; + b2Vec2__b2Vec2_28float_2c_20float_29($2 + 80 | 0, cosf(HEAPF32[$2 + 100 >> 2]), sinf(HEAPF32[$2 + 100 >> 2])); + operator__28float_2c_20b2Vec2_20const__29($2 + 88 | 0, Math_fround(.5), $2 + 80 | 0); + $1 = HEAP32[$2 + 216 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 72 | 0, $2 + 192 | 0, $2 + 88 | 0); + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 24 >> 2]]($1, $2 + 192 | 0, $2 + 72 | 0, $2 + 176 | 0); + $1 = HEAP32[$2 + 216 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 16 >> 2]]($1, $2 + 192 | 0, Math_fround(.5), $2 + 176 | 0); + if (HEAP8[$0 + 116 | 0] & 1) { + b2Vec2__b2Vec2_28float_2c_20float_29($2 + 56 | 0, cosf(HEAPF32[$0 + 124 >> 2]), sinf(HEAPF32[$0 + 124 >> 2])); + operator__28float_2c_20b2Vec2_20const__29($2 - -64 | 0, Math_fround(.5), $2 + 56 | 0); + b2Vec2__b2Vec2_28float_2c_20float_29($2 + 40 | 0, cosf(HEAPF32[$0 + 128 >> 2]), sinf(HEAPF32[$0 + 128 >> 2])); + operator__28float_2c_20b2Vec2_20const__29($2 + 48 | 0, Math_fround(.5), $2 + 40 | 0); + $0 = HEAP32[$2 + 216 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 32 | 0, $2 + 192 | 0, $2 - -64 | 0); + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 192 | 0, $2 + 32 | 0, $2 + 160 | 0); + $0 = HEAP32[$2 + 216 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 24 | 0, $2 + 192 | 0, $2 + 48 | 0); + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 192 | 0, $2 + 24 | 0, $2 + 144 | 0); + } + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 8 | 0, Math_fround(.5), Math_fround(.800000011920929), Math_fround(.800000011920929), Math_fround(1)); + $0 = HEAP32[$2 + 216 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, HEAP32[$2 + 212 >> 2], $2 + 200 | 0, $2 + 8 | 0); + $0 = HEAP32[$2 + 216 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 200 | 0, $2 + 192 | 0, $2 + 8 | 0); + $0 = HEAP32[$2 + 216 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, HEAP32[$2 + 208 >> 2], $2 + 192 | 0, $2 + 8 | 0); + __stack_pointer = $2 + 224 | 0; +} + +function b2World__DrawShape_28b2Fixture__2c_20b2Transform_20const__2c_20b2Color_20const__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 192 | 0; + __stack_pointer = $4; + HEAP32[$4 + 188 >> 2] = $0; + HEAP32[$4 + 184 >> 2] = $1; + HEAP32[$4 + 180 >> 2] = $2; + HEAP32[$4 + 176 >> 2] = $3; + $3 = HEAP32[$4 + 188 >> 2]; + label$1: { + label$2: { + switch (b2Fixture__GetType_28_29_20const(HEAP32[$4 + 184 >> 2]) | 0) { + case 0: + wasm2js_i32$0 = $4, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$4 + 184 >> 2]), + HEAP32[wasm2js_i32$0 + 172 >> 2] = wasm2js_i32$1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 164 | 0, HEAP32[$4 + 180 >> 2], HEAP32[$4 + 172 >> 2] + 12 | 0); + HEAPF32[$4 + 160 >> 2] = HEAPF32[HEAP32[$4 + 172 >> 2] + 8 >> 2]; + $0 = HEAP32[$4 + 180 >> 2]; + b2Vec2__b2Vec2_28float_2c_20float_29($4 + 144 | 0, Math_fround(1), Math_fround(0)); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($4 + 152 | 0, $0 + 8 | 0, $4 + 144 | 0); + $0 = HEAP32[$3 + 102980 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 20 >> 2]]($0, $4 + 164 | 0, HEAPF32[$4 + 160 >> 2], $4 + 152 | 0, HEAP32[$4 + 176 >> 2]); + break label$1; + + case 1: + wasm2js_i32$0 = $4, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$4 + 184 >> 2]), + HEAP32[wasm2js_i32$0 + 140 >> 2] = wasm2js_i32$1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 132 | 0, HEAP32[$4 + 180 >> 2], HEAP32[$4 + 140 >> 2] + 12 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 124 | 0, HEAP32[$4 + 180 >> 2], HEAP32[$4 + 140 >> 2] + 20 | 0); + $0 = HEAP32[$3 + 102980 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $4 + 132 | 0, $4 + 124 | 0, HEAP32[$4 + 176 >> 2]); + if (!(HEAP8[HEAP32[$4 + 140 >> 2] + 44 | 0] & 1)) { + $0 = HEAP32[$3 + 102980 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 32 >> 2]]($0, $4 + 132 | 0, Math_fround(4), HEAP32[$4 + 176 >> 2]); + $0 = HEAP32[$3 + 102980 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 32 >> 2]]($0, $4 + 124 | 0, Math_fround(4), HEAP32[$4 + 176 >> 2]); + } + break label$1; + + case 3: + wasm2js_i32$0 = $4, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$4 + 184 >> 2]), + HEAP32[wasm2js_i32$0 + 120 >> 2] = wasm2js_i32$1; + HEAP32[$4 + 116 >> 2] = HEAP32[HEAP32[$4 + 120 >> 2] + 16 >> 2]; + HEAP32[$4 + 112 >> 2] = HEAP32[HEAP32[$4 + 120 >> 2] + 12 >> 2]; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 104 | 0, HEAP32[$4 + 180 >> 2], HEAP32[$4 + 112 >> 2]); + HEAP32[$4 + 100 >> 2] = 1; + while (1) { + if (HEAP32[$4 + 100 >> 2] < HEAP32[$4 + 116 >> 2]) { + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 92 | 0, HEAP32[$4 + 180 >> 2], HEAP32[$4 + 112 >> 2] + (HEAP32[$4 + 100 >> 2] << 3) | 0); + $0 = HEAP32[$3 + 102980 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $4 + 104 | 0, $4 + 92 | 0, HEAP32[$4 + 176 >> 2]); + $1 = HEAP32[$4 + 96 >> 2]; + $0 = HEAP32[$4 + 92 >> 2]; + HEAP32[$4 + 104 >> 2] = $0; + HEAP32[$4 + 108 >> 2] = $1; + HEAP32[$4 + 100 >> 2] = HEAP32[$4 + 100 >> 2] + 1; + continue; + } + break; + } + ; + break label$1; + + case 2: + break label$2; + + default: + break label$1; + } + } + wasm2js_i32$0 = $4, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$4 + 184 >> 2]), + HEAP32[wasm2js_i32$0 + 88 >> 2] = wasm2js_i32$1; + HEAP32[$4 + 84 >> 2] = HEAP32[HEAP32[$4 + 88 >> 2] + 148 >> 2]; + if (HEAP32[$4 + 84 >> 2] > 8) { + __assert_fail(11970, 6161, 1090, 9300); + wasm2js_trap(); + } + $0 = $4 + 16 | 0; + $1 = $0 - -64 | 0; + while (1) { + b2Vec2__b2Vec2_28_29($0); + $0 = $0 + 8 | 0; + if (($1 | 0) != ($0 | 0)) { + continue; + } + break; + } + HEAP32[$4 + 12 >> 2] = 0; + while (1) { + if (HEAP32[$4 + 12 >> 2] < HEAP32[$4 + 84 >> 2]) { + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 4 | 0, HEAP32[$4 + 180 >> 2], (HEAP32[$4 + 88 >> 2] + 20 | 0) + (HEAP32[$4 + 12 >> 2] << 3) | 0); + $0 = HEAP32[$4 + 8 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + $2 = $1; + $1 = ($4 + 16 | 0) + (HEAP32[$4 + 12 >> 2] << 3) | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAP32[$4 + 12 >> 2] = HEAP32[$4 + 12 >> 2] + 1; + continue; + } + break; + } + $0 = HEAP32[$3 + 102980 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 12 >> 2]]($0, $4 + 16 | 0, HEAP32[$4 + 84 >> 2], HEAP32[$4 + 176 >> 2]); + } + __stack_pointer = $4 + 192 | 0; +} + +function b2PrismaticJoint__Draw_28b2Draw__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 256 | 0; + __stack_pointer = $2; + HEAP32[$2 + 252 >> 2] = $0; + HEAP32[$2 + 248 >> 2] = $1; + $0 = HEAP32[$2 + 252 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetTransform_28_29_20const(HEAP32[$0 + 48 >> 2]), + HEAP32[wasm2js_i32$0 + 244 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetTransform_28_29_20const(HEAP32[$0 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 240 >> 2] = wasm2js_i32$1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($2 + 232 | 0, HEAP32[$2 + 244 >> 2], $0 + 68 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($2 + 224 | 0, HEAP32[$2 + 240 >> 2], $0 + 76 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 216 | 0, HEAP32[$2 + 244 >> 2] + 8 | 0, $0 + 84 | 0); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 200 | 0, Math_fround(.699999988079071), Math_fround(.699999988079071), Math_fround(.699999988079071), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 184 | 0, Math_fround(.30000001192092896), Math_fround(.8999999761581421), Math_fround(.30000001192092896), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 168 | 0, Math_fround(.8999999761581421), Math_fround(.30000001192092896), Math_fround(.30000001192092896), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 152 | 0, Math_fround(.30000001192092896), Math_fround(.30000001192092896), Math_fround(.8999999761581421), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 136 | 0, Math_fround(.4000000059604645), Math_fround(.4000000059604645), Math_fround(.4000000059604645), Math_fround(1)); + $1 = HEAP32[$2 + 248 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 24 >> 2]]($1, $2 + 232 | 0, $2 + 224 | 0, $2 + 136 | 0); + label$1: { + if (HEAP8[$0 + 140 | 0] & 1) { + operator__28float_2c_20b2Vec2_20const__29($2 + 120 | 0, HEAPF32[$0 + 124 >> 2], $2 + 216 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 128 | 0, $2 + 232 | 0, $2 + 120 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 104 | 0, HEAPF32[$0 + 128 >> 2], $2 + 216 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 112 | 0, $2 + 232 | 0, $2 + 104 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 96 | 0, HEAP32[$2 + 244 >> 2] + 8 | 0, $0 + 92 | 0); + $0 = HEAP32[$2 + 248 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 128 | 0, $2 + 112 | 0, $2 + 200 | 0); + $0 = HEAP32[$2 + 248 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 80 | 0, Math_fround(.5), $2 + 96 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 88 | 0, $2 + 128 | 0, $2 + 80 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 - -64 | 0, Math_fround(.5), $2 + 96 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 72 | 0, $2 + 128 | 0, $2 - -64 | 0); + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 88 | 0, $2 + 72 | 0, $2 + 184 | 0); + $0 = HEAP32[$2 + 248 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 48 | 0, Math_fround(.5), $2 + 96 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 56 | 0, $2 + 112 | 0, $2 + 48 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 32 | 0, Math_fround(.5), $2 + 96 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 40 | 0, $2 + 112 | 0, $2 + 32 | 0); + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 56 | 0, $2 + 40 | 0, $2 + 168 | 0); + break label$1; + } + $0 = HEAP32[$2 + 248 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 16 | 0, Math_fround(1), $2 + 216 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 24 | 0, $2 + 232 | 0, $2 + 16 | 0); + operator__28float_2c_20b2Vec2_20const__29($2, Math_fround(1), $2 + 216 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 8 | 0, $2 + 232 | 0, $2); + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 24 | 0, $2 + 8 | 0, $2 + 200 | 0); + } + $0 = HEAP32[$2 + 248 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 32 >> 2]]($0, $2 + 232 | 0, Math_fround(5), $2 + 200 | 0); + $0 = HEAP32[$2 + 248 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 32 >> 2]]($0, $2 + 224 | 0, Math_fround(5), $2 + 152 | 0); + __stack_pointer = $2 + 256 | 0; +} + +function b2WheelJoint__Draw_28b2Draw__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 256 | 0; + __stack_pointer = $2; + HEAP32[$2 + 252 >> 2] = $0; + HEAP32[$2 + 248 >> 2] = $1; + $0 = HEAP32[$2 + 252 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetTransform_28_29_20const(HEAP32[$0 + 48 >> 2]), + HEAP32[wasm2js_i32$0 + 244 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetTransform_28_29_20const(HEAP32[$0 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 240 >> 2] = wasm2js_i32$1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($2 + 232 | 0, HEAP32[$2 + 244 >> 2], $0 + 68 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($2 + 224 | 0, HEAP32[$2 + 240 >> 2], $0 + 76 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 216 | 0, HEAP32[$2 + 244 >> 2] + 8 | 0, $0 + 84 | 0); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 200 | 0, Math_fround(.699999988079071), Math_fround(.699999988079071), Math_fround(.699999988079071), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 184 | 0, Math_fround(.30000001192092896), Math_fround(.8999999761581421), Math_fround(.30000001192092896), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 168 | 0, Math_fround(.8999999761581421), Math_fround(.30000001192092896), Math_fround(.30000001192092896), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 152 | 0, Math_fround(.30000001192092896), Math_fround(.30000001192092896), Math_fround(.8999999761581421), Math_fround(1)); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 136 | 0, Math_fround(.4000000059604645), Math_fround(.4000000059604645), Math_fround(.4000000059604645), Math_fround(1)); + $1 = HEAP32[$2 + 248 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 24 >> 2]]($1, $2 + 232 | 0, $2 + 224 | 0, $2 + 136 | 0); + label$1: { + if (HEAP8[$0 + 140 | 0] & 1) { + operator__28float_2c_20b2Vec2_20const__29($2 + 120 | 0, HEAPF32[$0 + 124 >> 2], $2 + 216 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 128 | 0, $2 + 232 | 0, $2 + 120 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 104 | 0, HEAPF32[$0 + 128 >> 2], $2 + 216 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 112 | 0, $2 + 232 | 0, $2 + 104 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 96 | 0, HEAP32[$2 + 244 >> 2] + 8 | 0, $0 + 92 | 0); + $0 = HEAP32[$2 + 248 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 128 | 0, $2 + 112 | 0, $2 + 200 | 0); + $0 = HEAP32[$2 + 248 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 80 | 0, Math_fround(.5), $2 + 96 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 88 | 0, $2 + 128 | 0, $2 + 80 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 - -64 | 0, Math_fround(.5), $2 + 96 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 72 | 0, $2 + 128 | 0, $2 - -64 | 0); + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 88 | 0, $2 + 72 | 0, $2 + 184 | 0); + $0 = HEAP32[$2 + 248 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 48 | 0, Math_fround(.5), $2 + 96 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 56 | 0, $2 + 112 | 0, $2 + 48 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 32 | 0, Math_fround(.5), $2 + 96 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 40 | 0, $2 + 112 | 0, $2 + 32 | 0); + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 56 | 0, $2 + 40 | 0, $2 + 168 | 0); + break label$1; + } + $0 = HEAP32[$2 + 248 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 16 | 0, Math_fround(1), $2 + 216 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 24 | 0, $2 + 232 | 0, $2 + 16 | 0); + operator__28float_2c_20b2Vec2_20const__29($2, Math_fround(1), $2 + 216 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 8 | 0, $2 + 232 | 0, $2); + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 24 | 0, $2 + 8 | 0, $2 + 200 | 0); + } + $0 = HEAP32[$2 + 248 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 32 >> 2]]($0, $2 + 232 | 0, Math_fround(5), $2 + 200 | 0); + $0 = HEAP32[$2 + 248 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 32 >> 2]]($0, $2 + 224 | 0, Math_fround(5), $2 + 152 | 0); + __stack_pointer = $2 + 256 | 0; +} + +function b2PositionSolverManifold__Initialize_28b2ContactPositionConstraint__2c_20b2Transform_20const__2c_20b2Transform_20const__2c_20int_29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 144 | 0; + __stack_pointer = $5; + HEAP32[$5 + 140 >> 2] = $0; + HEAP32[$5 + 136 >> 2] = $1; + HEAP32[$5 + 132 >> 2] = $2; + HEAP32[$5 + 128 >> 2] = $3; + HEAP32[$5 + 124 >> 2] = $4; + $1 = HEAP32[$5 + 140 >> 2]; + if (HEAP32[HEAP32[$5 + 136 >> 2] + 84 >> 2] <= 0) { + __assert_fail(12236, 5487, 627, 8606); + wasm2js_trap(); + } + label$2: { + label$3: { + switch (HEAP32[HEAP32[$5 + 136 >> 2] + 72 >> 2]) { + case 0: + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 116 | 0, HEAP32[$5 + 132 >> 2], HEAP32[$5 + 136 >> 2] + 24 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 108 | 0, HEAP32[$5 + 128 >> 2], HEAP32[$5 + 136 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 100 | 0, $5 + 108 | 0, $5 + 116 | 0); + $2 = HEAP32[$5 + 104 >> 2]; + $0 = HEAP32[$5 + 100 >> 2]; + $3 = $0; + $0 = $1; + HEAP32[$0 >> 2] = $3; + HEAP32[$0 + 4 >> 2] = $2; + b2Vec2__Normalize_28_29($0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($5 + 84 | 0, $5 + 116 | 0, $5 + 108 | 0); + operator__28float_2c_20b2Vec2_20const__29($5 + 92 | 0, Math_fround(.5), $5 + 84 | 0); + $0 = HEAP32[$5 + 96 >> 2]; + $2 = HEAP32[$5 + 92 >> 2]; + $3 = $2; + $2 = $1; + HEAP32[$2 + 8 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 76 | 0, $5 + 108 | 0, $5 + 116 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 76 | 0, $2) - HEAPF32[HEAP32[$5 + 136 >> 2] + 76 >> 2]) - HEAPF32[HEAP32[$5 + 136 >> 2] + 80 >> 2]), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + break label$2; + + case 1: + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 68 | 0, HEAP32[$5 + 132 >> 2] + 8 | 0, HEAP32[$5 + 136 >> 2] + 16 | 0); + $2 = HEAP32[$5 + 72 >> 2]; + $0 = HEAP32[$5 + 68 >> 2]; + $3 = $0; + $0 = $1; + HEAP32[$0 >> 2] = $3; + HEAP32[$0 + 4 >> 2] = $2; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 60 | 0, HEAP32[$5 + 132 >> 2], HEAP32[$5 + 136 >> 2] + 24 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 52 | 0, HEAP32[$5 + 128 >> 2], HEAP32[$5 + 136 >> 2] + (HEAP32[$5 + 124 >> 2] << 3) | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 44 | 0, $5 + 52 | 0, $5 + 60 | 0); + wasm2js_i32$0 = $0, wasm2js_f32$0 = Math_fround(Math_fround(b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 44 | 0, $0) - HEAPF32[HEAP32[$5 + 136 >> 2] + 76 >> 2]) - HEAPF32[HEAP32[$5 + 136 >> 2] + 80 >> 2]), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + $0 = HEAP32[$5 + 56 >> 2]; + $2 = HEAP32[$5 + 52 >> 2]; + $3 = $2; + $2 = $1; + HEAP32[$2 + 8 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = $0; + break label$2; + + case 2: + break label$3; + + default: + break label$2; + } + } + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 36 | 0, HEAP32[$5 + 128 >> 2] + 8 | 0, HEAP32[$5 + 136 >> 2] + 16 | 0); + $2 = HEAP32[$5 + 40 >> 2]; + $0 = HEAP32[$5 + 36 >> 2]; + $3 = $0; + $0 = $1; + HEAP32[$0 >> 2] = $3; + HEAP32[$0 + 4 >> 2] = $2; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 28 | 0, HEAP32[$5 + 128 >> 2], HEAP32[$5 + 136 >> 2] + 24 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 20 | 0, HEAP32[$5 + 132 >> 2], HEAP32[$5 + 136 >> 2] + (HEAP32[$5 + 124 >> 2] << 3) | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 12 | 0, $5 + 20 | 0, $5 + 28 | 0); + wasm2js_i32$0 = $0, wasm2js_f32$0 = Math_fround(Math_fround(b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 12 | 0, $0) - HEAPF32[HEAP32[$5 + 136 >> 2] + 76 >> 2]) - HEAPF32[HEAP32[$5 + 136 >> 2] + 80 >> 2]), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + $0 = HEAP32[$5 + 24 >> 2]; + $2 = HEAP32[$5 + 20 >> 2]; + $3 = $2; + $2 = $1; + HEAP32[$2 + 8 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = $0; + b2Vec2__operator__28_29_20const($5 + 4 | 0, $2); + $2 = HEAP32[$5 + 8 >> 2]; + $0 = HEAP32[$5 + 4 >> 2]; + $3 = $0; + $0 = $1; + HEAP32[$0 >> 2] = $3; + HEAP32[$0 + 4 >> 2] = $2; + } + __stack_pointer = $5 + 144 | 0; +} + +function b2DistanceJoint__SolvePositionConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $2 = __stack_pointer - 160 | 0; + __stack_pointer = $2; + HEAP32[$2 + 152 >> 2] = $0; + HEAP32[$2 + 148 >> 2] = $1; + $3 = HEAP32[$2 + 152 >> 2]; + label$1: { + if (HEAPF32[$3 + 68 >> 2] > Math_fround(0)) { + HEAP8[$2 + 159 | 0] = 1; + break label$1; + } + $4 = HEAP32[HEAP32[$2 + 148 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 136 >> 2] = $0; + HEAP32[$2 + 140 >> 2] = $1; + HEAPF32[$2 + 132 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 148 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 148 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 112 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 120 >> 2] = $1; + HEAP32[$2 + 124 >> 2] = $0; + HEAPF32[$2 + 116 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 148 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 112 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 108 | 0, HEAPF32[$2 + 132 >> 2]); + b2Rot__b2Rot_28float_29($2 + 100 | 0, HEAPF32[$2 + 116 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $3 + 80 | 0, $3 + 140 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 92 | 0, $2 + 108 | 0, $2 + 84 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 68 | 0, $3 + 88 | 0, $3 + 148 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 76 | 0, $2 + 100 | 0, $2 + 68 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 44 | 0, $2 + 120 | 0, $2 + 76 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 52 | 0, $2 + 44 | 0, $2 + 136 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 60 | 0, $2 + 52 | 0, $2 + 92 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Vec2__Normalize_28_29($2 + 60 | 0), HEAPF32[wasm2js_i32$0 + 40 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 36 >> 2] = HEAPF32[$2 + 40 >> 2] - HEAPF32[$3 + 104 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(HEAPF32[$2 + 36 >> 2], Math_fround(-.20000000298023224), Math_fround(.20000000298023224)), + HEAPF32[wasm2js_i32$0 + 36 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 32 >> 2] = Math_fround(-HEAPF32[$3 + 172 >> 2]) * HEAPF32[$2 + 36 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 24 | 0, HEAPF32[$2 + 32 >> 2], $2 + 60 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 16 | 0, HEAPF32[$3 + 156 >> 2], $2 + 24 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 136 | 0, $2 + 16 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$3 + 164 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 92 | 0, $2 + 24 | 0)) + HEAPF32[$2 + 132 >> 2]), + HEAPF32[wasm2js_i32$0 + 132 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 8 | 0, HEAPF32[$3 + 160 >> 2], $2 + 24 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 120 | 0, $2 + 8 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$3 + 168 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 76 | 0, $2 + 24 | 0)) + HEAPF32[$2 + 116 >> 2]), + HEAPF32[wasm2js_i32$0 + 116 >> 2] = wasm2js_f32$0; + $1 = HEAP32[$2 + 140 >> 2]; + $0 = HEAP32[$2 + 136 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 148 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 148 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 132 >> 2]; + $0 = HEAP32[$2 + 124 >> 2]; + $1 = HEAP32[$2 + 120 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 148 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 112 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 148 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 112 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 116 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = float_20b2Abs_float__28float_29(HEAPF32[$2 + 36 >> 2]) < Math_fround(.004999999888241291), + HEAP8[wasm2js_i32$0 + 159 | 0] = wasm2js_i32$1; + } + __stack_pointer = $2 + 160 | 0; + return HEAP8[$2 + 159 | 0] & 1; +} + +function b2EdgeShape__RayCast_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 192 | 0; + __stack_pointer = $5; + HEAP32[$5 + 184 >> 2] = $0; + HEAP32[$5 + 180 >> 2] = $1; + HEAP32[$5 + 176 >> 2] = $2; + HEAP32[$5 + 172 >> 2] = $3; + HEAP32[$5 + 168 >> 2] = $4; + $1 = HEAP32[$5 + 184 >> 2]; + $0 = HEAP32[$5 + 172 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 152 | 0, HEAP32[$5 + 176 >> 2], HEAP32[$5 + 172 >> 2]); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 160 | 0, $0 + 8 | 0, $5 + 152 | 0); + $0 = HEAP32[$5 + 172 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 136 | 0, HEAP32[$5 + 176 >> 2] + 8 | 0, HEAP32[$5 + 172 >> 2]); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 144 | 0, $0 + 8 | 0, $5 + 136 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 128 | 0, $5 + 144 | 0, $5 + 160 | 0); + $2 = HEAP32[$1 + 12 >> 2]; + $0 = HEAP32[$1 + 16 >> 2]; + HEAP32[$5 + 120 >> 2] = $2; + HEAP32[$5 + 124 >> 2] = $0; + $2 = HEAP32[$1 + 24 >> 2]; + $0 = HEAP32[$1 + 20 >> 2]; + HEAP32[$5 + 112 >> 2] = $0; + HEAP32[$5 + 116 >> 2] = $2; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 104 | 0, $5 + 112 | 0, $5 + 120 | 0); + b2Vec2__b2Vec2_28float_2c_20float_29($5 + 96 | 0, HEAPF32[$5 + 108 >> 2], Math_fround(-HEAPF32[$5 + 104 >> 2])); + b2Vec2__Normalize_28_29($5 + 96 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 84 | 0, $5 + 120 | 0, $5 + 160 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 96 | 0, $5 + 84 | 0), + HEAPF32[wasm2js_i32$0 + 92 >> 2] = wasm2js_f32$0; + label$1: { + if (!(!(HEAP8[$1 + 44 | 0] & 1) | !(HEAPF32[$5 + 92 >> 2] > Math_fround(0)))) { + HEAP8[$5 + 191 | 0] = 0; + break label$1; + } + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 96 | 0, $5 + 128 | 0), + HEAPF32[wasm2js_i32$0 + 80 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 80 >> 2] == Math_fround(0)) { + HEAP8[$5 + 191 | 0] = 0; + break label$1; + } + HEAPF32[$5 + 76 >> 2] = HEAPF32[$5 + 92 >> 2] / HEAPF32[$5 + 80 >> 2]; + if (HEAPF32[$5 + 76 >> 2] < Math_fround(0) | HEAPF32[HEAP32[$5 + 176 >> 2] + 16 >> 2] < HEAPF32[$5 + 76 >> 2]) { + HEAP8[$5 + 191 | 0] = 0; + break label$1; + } + operator__28float_2c_20b2Vec2_20const__29($5 + 60 | 0, HEAPF32[$5 + 76 >> 2], $5 + 128 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($5 + 68 | 0, $5 + 160 | 0, $5 + 60 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 52 | 0, $5 + 112 | 0, $5 + 120 | 0); + $0 = $5 + 52 | 0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $0), + HEAPF32[wasm2js_i32$0 + 48 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 48 >> 2] == Math_fround(0)) { + HEAP8[$5 + 191 | 0] = 0; + break label$1; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 36 | 0, $5 + 68 | 0, $5 + 120 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 36 | 0, $5 + 52 | 0) / HEAPF32[$5 + 48 >> 2]), + HEAPF32[wasm2js_i32$0 + 44 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 44 >> 2] < Math_fround(0) | HEAPF32[$5 + 44 >> 2] > Math_fround(1)) { + HEAP8[$5 + 191 | 0] = 0; + break label$1; + } + HEAPF32[HEAP32[$5 + 180 >> 2] + 8 >> 2] = HEAPF32[$5 + 76 >> 2]; + label$9: { + if (HEAPF32[$5 + 92 >> 2] > Math_fround(0)) { + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 20 | 0, HEAP32[$5 + 172 >> 2] + 8 | 0, $5 + 96 | 0); + b2Vec2__operator__28_29_20const($5 + 28 | 0, $5 + 20 | 0); + $0 = HEAP32[$5 + 32 >> 2]; + $2 = HEAP32[$5 + 28 >> 2]; + $1 = $2; + $2 = HEAP32[$5 + 180 >> 2]; + HEAP32[$2 >> 2] = $1; + HEAP32[$2 + 4 >> 2] = $0; + break label$9; + } + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 12 | 0, HEAP32[$5 + 172 >> 2] + 8 | 0, $5 + 96 | 0); + $2 = HEAP32[$5 + 16 >> 2]; + $0 = HEAP32[$5 + 12 >> 2]; + $1 = $0; + $0 = HEAP32[$5 + 180 >> 2]; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + } + HEAP8[$5 + 191 | 0] = 1; + } + __stack_pointer = $5 + 192 | 0; + return HEAP8[$5 + 191 | 0] & 1; +} + +function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E($0, $1, $2, $3) { + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + label$1: { + label$2: { + label$3: { + label$4: { + label$5: { + label$6: { + label$7: { + label$8: { + label$9: { + label$11: { + $10 = $1; + $7 = $10; + if ($7) { + $4 = $2; + if (!$4) { + break label$11; + } + $9 = $3; + if (!$9) { + break label$9; + } + $7 = Math_clz32($9) - Math_clz32($7) | 0; + if ($7 >>> 0 <= 31) { + break label$8; + } + break label$2; + } + $5 = $3; + if (($5 | 0) == 1 | $5 >>> 0 > 1) { + break label$2; + } + i64toi32_i32$HIGH_BITS = 0; + $7 = $0; + $4 = $2; + $7 = ($7 >>> 0) / ($4 >>> 0) | 0; + $5 = $7; + return $5; + } + $5 = $3; + $4 = $5; + if (!$0) { + break label$7; + } + if (!$4) { + break label$6; + } + $9 = $4 - 1 | 0; + if ($9 & $4) { + break label$6; + } + $5 = 0; + $6 = $7 >>> __wasm_ctz_i32($4) | 0; + i64toi32_i32$HIGH_BITS = 0; + return $6; + } + $9 = $4 - 1 | 0; + if (!($9 & $4)) { + break label$5; + } + $7 = (Math_clz32($4) + 33 | 0) - Math_clz32($7) | 0; + $4 = 0 - $7 | 0; + break label$3; + } + $4 = 63 - $7 | 0; + $7 = $7 + 1 | 0; + break label$3; + } + $9 = ($7 >>> 0) / ($4 >>> 0) | 0; + i64toi32_i32$HIGH_BITS = 0; + $5 = $9; + return $5; + } + $7 = Math_clz32($4) - Math_clz32($7) | 0; + if ($7 >>> 0 < 31) { + break label$4; + } + break label$2; + } + if (($4 | 0) == 1) { + break label$1; + } + $5 = $1; + $6 = $0; + $9 = 0; + $10 = __wasm_ctz_i32($4); + $8 = $10 & 31; + if (($10 & 63) >>> 0 >= 32) { + $6 = $5 >>> $8 | 0; + } else { + $9 = $5 >>> $8 | 0; + $6 = ((1 << $8) - 1 & $5) << 32 - $8 | $6 >>> $8; + } + i64toi32_i32$HIGH_BITS = $9; + return $6; + } + $4 = 63 - $7 | 0; + $7 = $7 + 1 | 0; + } + $6 = $1; + $5 = $0; + $9 = 0; + $10 = $7 & 63; + $8 = $10 & 31; + if (($10 & 63) >>> 0 >= 32) { + $11 = $6 >>> $8 | 0; + } else { + $9 = $6 >>> $8 | 0; + $11 = ((1 << $8) - 1 & $6) << 32 - $8 | $5 >>> $8; + } + $12 = $9; + $9 = $1; + $6 = $0; + $10 = $4 & 63; + $8 = $10 & 31; + if (($10 & 63) >>> 0 >= 32) { + $5 = $6 << $8; + $0 = 0; + } else { + $5 = (1 << $8) - 1 & $6 >>> 32 - $8 | $9 << $8; + $0 = $6 << $8; + } + $1 = $5; + if ($7) { + $5 = $3; + $4 = $5 - 1 | 0; + $9 = $2; + $8 = $9 - 1 | 0; + $4 = ($8 | 0) != -1 ? $4 + 1 | 0 : $4; + $15 = $8; + $16 = $4; + while (1) { + $4 = $12; + $5 = $11; + $9 = $4 << 1 | $5 >>> 31; + $6 = $5 << 1; + $5 = $9; + $4 = $17; + $4 = $5 | $4; + $12 = $4; + $10 = $1 >>> 31 | 0; + $9 = $6; + $11 = $10 | $9; + $5 = $15; + $10 = $11; + $4 = $16; + $9 = $12; + $8 = $9 + ($5 >>> 0 < $10 >>> 0) | 0; + $8 = $4 - $8 | 0; + $13 = $8 >> 31; + $5 = $8 >> 31; + $14 = $5; + $4 = $3; + $4 = $5 & $4; + $6 = $4; + $5 = $10; + $10 = $2; + $8 = $13; + $10 = $10 & $8; + $9 = $5 - $10 | 0; + $11 = $9; + $4 = $12; + $8 = $6; + $6 = $8 + ($5 >>> 0 < $10 >>> 0) | 0; + $6 = $4 - $6 | 0; + $12 = $6; + $6 = $1; + $4 = $0; + $5 = $6 << 1 | $4 >>> 31; + $10 = $18; + $6 = $4 << 1; + $0 = $10 | $6; + $4 = $17; + $4 = $4 | $5; + $1 = $4; + $6 = 0; + $14 = $6; + $5 = $13; + $13 = $5 & 1; + $18 = $13; + $7 = $7 - 1 | 0; + if ($7) { + continue; + } + break; + } + } + $6 = $1; + $4 = $0; + $5 = $6 << 1 | $4 >>> 31; + $4 = $14; + $4 = $5 | $4; + i64toi32_i32$HIGH_BITS = $4; + $10 = $13; + $6 = $0 << 1; + $6 = $10 | $6; + return $6; + } + $0 = 0; + $1 = 0; + } + $6 = $1; + i64toi32_i32$HIGH_BITS = $6; + $4 = $0; + return $4; +} + +function b2Joint__Create_28b2JointDef_20const__2c_20b2BlockAllocator__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer + -64 | 0; + __stack_pointer = $2; + HEAP32[$2 + 60 >> 2] = $0; + HEAP32[$2 + 56 >> 2] = $1; + HEAP32[$2 + 52 >> 2] = 0; + label$1: { + label$2: { + switch (HEAP32[HEAP32[$2 + 60 >> 2] >> 2] - 1 | 0) { + case 2: + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 56 >> 2], 176), + HEAP32[wasm2js_i32$0 + 48 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 48 >> 2]; + b2DistanceJoint__b2DistanceJoint_28b2DistanceJointDef_20const__29($0, HEAP32[$2 + 60 >> 2]); + HEAP32[$2 + 52 >> 2] = $0; + break label$1; + + case 4: + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 56 >> 2], 168), + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 44 >> 2]; + b2MouseJoint__b2MouseJoint_28b2MouseJointDef_20const__29($0, HEAP32[$2 + 60 >> 2]); + HEAP32[$2 + 52 >> 2] = $0; + break label$1; + + case 1: + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 56 >> 2], 240), + HEAP32[wasm2js_i32$0 + 40 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 40 >> 2]; + b2PrismaticJoint__b2PrismaticJoint_28b2PrismaticJointDef_20const__29($0, HEAP32[$2 + 60 >> 2]); + HEAP32[$2 + 52 >> 2] = $0; + break label$1; + + case 0: + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 56 >> 2], 212), + HEAP32[wasm2js_i32$0 + 36 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 36 >> 2]; + b2RevoluteJoint__b2RevoluteJoint_28b2RevoluteJointDef_20const__29($0, HEAP32[$2 + 60 >> 2]); + HEAP32[$2 + 52 >> 2] = $0; + break label$1; + + case 3: + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 56 >> 2], 196), + HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 32 >> 2]; + b2PulleyJoint__b2PulleyJoint_28b2PulleyJointDef_20const__29($0, HEAP32[$2 + 60 >> 2]); + HEAP32[$2 + 52 >> 2] = $0; + break label$1; + + case 5: + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 56 >> 2], 276), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 28 >> 2]; + b2GearJoint__b2GearJoint_28b2GearJointDef_20const__29($0, HEAP32[$2 + 60 >> 2]); + HEAP32[$2 + 52 >> 2] = $0; + break label$1; + + case 6: + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 56 >> 2], 248), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 24 >> 2]; + b2WheelJoint__b2WheelJoint_28b2WheelJointDef_20const__29($0, HEAP32[$2 + 60 >> 2]); + HEAP32[$2 + 52 >> 2] = $0; + break label$1; + + case 7: + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 56 >> 2], 208), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 20 >> 2]; + b2WeldJoint__b2WeldJoint_28b2WeldJointDef_20const__29($0, HEAP32[$2 + 60 >> 2]); + HEAP32[$2 + 52 >> 2] = $0; + break label$1; + + case 8: + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 56 >> 2], 180), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 16 >> 2]; + b2FrictionJoint__b2FrictionJoint_28b2FrictionJointDef_20const__29($0, HEAP32[$2 + 60 >> 2]); + HEAP32[$2 + 52 >> 2] = $0; + break label$1; + + case 9: + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 56 >> 2], 164), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 12 >> 2]; + b2RopeJoint__b2RopeJoint_28b2RopeJointDef_20const__29($0, HEAP32[$2 + 60 >> 2]); + HEAP32[$2 + 52 >> 2] = $0; + break label$1; + + case 10: + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 56 >> 2], 192), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 8 >> 2]; + b2MotorJoint__b2MotorJoint_28b2MotorJointDef_20const__29($0, HEAP32[$2 + 60 >> 2]); + HEAP32[$2 + 52 >> 2] = $0; + break label$1; + + default: + break label$2; + } + } + __assert_fail(9147, 4569, 175, 8936); + wasm2js_trap(); + } + __stack_pointer = $2 - -64 | 0; + return HEAP32[$2 + 52 >> 2]; +} + +function b2RopeJoint__SolvePositionConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 144 | 0; + __stack_pointer = $2; + HEAP32[$2 + 140 >> 2] = $0; + HEAP32[$2 + 136 >> 2] = $1; + $3 = HEAP32[$2 + 140 >> 2]; + $4 = HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 96 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 128 >> 2] = $0; + HEAP32[$2 + 132 >> 2] = $1; + HEAPF32[$2 + 124 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 96 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 100 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 112 >> 2] = $1; + HEAP32[$2 + 116 >> 2] = $0; + HEAPF32[$2 + 108 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 100 >> 2], 12) | 0) + 8 >> 2]; + b2Rot__b2Rot_28float_29($2 + 100 | 0, HEAPF32[$2 + 124 >> 2]); + b2Rot__b2Rot_28float_29($2 + 92 | 0, HEAPF32[$2 + 108 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 76 | 0, $3 + 68 | 0, $3 + 128 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $2 + 100 | 0, $2 + 76 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 60 | 0, $3 + 76 | 0, $3 + 136 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($2 + 68 | 0, $2 + 92 | 0, $2 + 60 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 36 | 0, $2 + 112 | 0, $2 + 68 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 44 | 0, $2 + 36 | 0, $2 + 128 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 52 | 0, $2 + 44 | 0, $2 + 84 | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Vec2__Normalize_28_29($2 + 52 | 0), HEAPF32[wasm2js_i32$0 + 88 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 32 >> 2] = HEAPF32[$3 + 88 >> 2] - HEAPF32[$3 + 84 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = float_20b2Clamp_float__28float_2c_20float_2c_20float_29(HEAPF32[$2 + 32 >> 2], Math_fround(0), Math_fround(.20000000298023224)), + HEAPF32[wasm2js_i32$0 + 32 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 28 >> 2] = Math_fround(-HEAPF32[$3 + 160 >> 2]) * HEAPF32[$2 + 32 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, HEAPF32[$2 + 28 >> 2], $2 + 52 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$3 + 144 >> 2], $2 + 20 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 128 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$3 + 152 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 84 | 0, $2 + 20 | 0)) + HEAPF32[$2 + 124 >> 2]), + HEAPF32[wasm2js_i32$0 + 124 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$3 + 148 >> 2], $2 + 20 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 112 | 0, $2 + 4 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$3 + 156 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 68 | 0, $2 + 20 | 0)) + HEAPF32[$2 + 108 >> 2]), + HEAPF32[wasm2js_i32$0 + 108 >> 2] = wasm2js_f32$0; + $1 = HEAP32[$2 + 132 >> 2]; + $0 = HEAP32[$2 + 128 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 96 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 96 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 124 >> 2]; + $0 = HEAP32[$2 + 116 >> 2]; + $1 = HEAP32[$2 + 112 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 100 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 136 >> 2] + 24 >> 2] + Math_imul(HEAP32[$3 + 100 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 108 >> 2]; + __stack_pointer = $2 + 144 | 0; + return Math_fround(HEAPF32[$3 + 88 >> 2] - HEAPF32[$3 + 84 >> 2]) < Math_fround(.004999999888241291) | 0; +} + +function b2PolygonShape__ComputeMass_28b2MassData__2c_20float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0, $5 = Math_fround(0), $6 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 128 | 0; + __stack_pointer = $3; + HEAP32[$3 + 124 >> 2] = $0; + HEAP32[$3 + 120 >> 2] = $1; + HEAPF32[$3 + 116 >> 2] = $2; + $4 = HEAP32[$3 + 124 >> 2]; + if (HEAP32[$4 + 148 >> 2] < 3) { + __assert_fail(11993, 5758, 383, 3436); + wasm2js_trap(); + } + b2Vec2__b2Vec2_28float_2c_20float_29($3 + 108 | 0, Math_fround(0), Math_fround(0)); + HEAPF32[$3 + 104 >> 2] = 0; + HEAPF32[$3 + 100 >> 2] = 0; + $1 = HEAP32[$4 + 24 >> 2]; + $0 = HEAP32[$4 + 20 >> 2]; + HEAP32[$3 + 88 >> 2] = $0; + HEAP32[$3 + 92 >> 2] = $1; + HEAPF32[$3 + 84 >> 2] = .3333333432674408; + HEAP32[$3 + 80 >> 2] = 0; + while (1) { + if (HEAP32[$3 + 80 >> 2] < HEAP32[$4 + 148 >> 2]) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 72 | 0, ($4 + 20 | 0) + (HEAP32[$3 + 80 >> 2] << 3) | 0, $3 + 88 | 0); + label$4: { + if (HEAP32[$4 + 148 >> 2] > (HEAP32[$3 + 80 >> 2] + 1 | 0)) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 - -64 | 0, ((HEAP32[$3 + 80 >> 2] << 3) + $4 | 0) + 28 | 0, $3 + 88 | 0); + break label$4; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 - -64 | 0, $4 + 20 | 0, $3 + 88 | 0); + } + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 72 | 0, $3 - -64 | 0), + HEAPF32[wasm2js_i32$0 + 60 >> 2] = wasm2js_f32$0; + HEAPF32[$3 + 56 >> 2] = HEAPF32[$3 + 60 >> 2] * Math_fround(.5); + HEAPF32[$3 + 104 >> 2] = HEAPF32[$3 + 104 >> 2] + HEAPF32[$3 + 56 >> 2]; + $2 = HEAPF32[$3 + 56 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 40 | 0, $3 + 72 | 0, $3 - -64 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 48 | 0, Math_fround($2 * Math_fround(.3333333432674408)), $3 + 40 | 0); + b2Vec2__operator___28b2Vec2_20const__29($3 + 108 | 0, $3 + 48 | 0); + HEAPF32[$3 + 36 >> 2] = HEAPF32[$3 + 72 >> 2]; + HEAPF32[$3 + 32 >> 2] = HEAPF32[$3 + 76 >> 2]; + HEAPF32[$3 + 28 >> 2] = HEAPF32[$3 + 64 >> 2]; + HEAPF32[$3 + 24 >> 2] = HEAPF32[$3 + 68 >> 2]; + HEAPF32[$3 + 20 >> 2] = Math_fround(HEAPF32[$3 + 28 >> 2] * HEAPF32[$3 + 28 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 36 >> 2] * HEAPF32[$3 + 36 >> 2]) + Math_fround(HEAPF32[$3 + 28 >> 2] * HEAPF32[$3 + 36 >> 2])); + HEAPF32[$3 + 16 >> 2] = Math_fround(HEAPF32[$3 + 24 >> 2] * HEAPF32[$3 + 24 >> 2]) + Math_fround(Math_fround(HEAPF32[$3 + 32 >> 2] * HEAPF32[$3 + 32 >> 2]) + Math_fround(HEAPF32[$3 + 24 >> 2] * HEAPF32[$3 + 32 >> 2])); + HEAPF32[$3 + 100 >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 60 >> 2] * Math_fround(.0833333358168602)) * Math_fround(HEAPF32[$3 + 20 >> 2] + HEAPF32[$3 + 16 >> 2])) + HEAPF32[$3 + 100 >> 2]; + HEAP32[$3 + 80 >> 2] = HEAP32[$3 + 80 >> 2] + 1; + continue; + } + break; + } + HEAPF32[HEAP32[$3 + 120 >> 2] >> 2] = HEAPF32[$3 + 116 >> 2] * HEAPF32[$3 + 104 >> 2]; + if (!(HEAPF32[$3 + 104 >> 2] > Math_fround(1.1920928955078125e-7))) { + __assert_fail(10884, 5758, 422, 3436); + wasm2js_trap(); + } + b2Vec2__operator___28float_29($3 + 108 | 0, Math_fround(Math_fround(1) / HEAPF32[$3 + 104 >> 2])); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 8 | 0, $3 + 108 | 0, $3 + 88 | 0); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$3 + 8 >> 2]; + $4 = $1; + $1 = HEAP32[$3 + 120 >> 2]; + HEAP32[$1 + 4 >> 2] = $4; + HEAP32[$1 + 8 >> 2] = $0; + HEAPF32[HEAP32[$3 + 120 >> 2] + 12 >> 2] = HEAPF32[$3 + 116 >> 2] * HEAPF32[$3 + 100 >> 2]; + $2 = HEAPF32[HEAP32[$3 + 120 >> 2] >> 2]; + $5 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$3 + 120 >> 2] + 4 | 0, HEAP32[$3 + 120 >> 2] + 4 | 0); + $0 = $3 + 108 | 0; + $6 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $0); + $0 = HEAP32[$3 + 120 >> 2]; + HEAPF32[$0 + 12 >> 2] = Math_fround($2 * Math_fround($5 - $6)) + HEAPF32[$0 + 12 >> 2]; + __stack_pointer = $3 + 128 | 0; +} + +function b2ContactSolver__WarmStart_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 144 | 0; + __stack_pointer = $1; + HEAP32[$1 + 140 >> 2] = $0; + $4 = HEAP32[$1 + 140 >> 2]; + HEAP32[$1 + 136 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 136 >> 2] < HEAP32[$4 + 48 >> 2]) { + HEAP32[$1 + 132 >> 2] = HEAP32[$4 + 40 >> 2] + Math_imul(HEAP32[$1 + 136 >> 2], 156); + HEAP32[$1 + 128 >> 2] = HEAP32[HEAP32[$1 + 132 >> 2] + 112 >> 2]; + HEAP32[$1 + 124 >> 2] = HEAP32[HEAP32[$1 + 132 >> 2] + 116 >> 2]; + HEAPF32[$1 + 120 >> 2] = HEAPF32[HEAP32[$1 + 132 >> 2] + 120 >> 2]; + HEAPF32[$1 + 116 >> 2] = HEAPF32[HEAP32[$1 + 132 >> 2] + 128 >> 2]; + HEAPF32[$1 + 112 >> 2] = HEAPF32[HEAP32[$1 + 132 >> 2] + 124 >> 2]; + HEAPF32[$1 + 108 >> 2] = HEAPF32[HEAP32[$1 + 132 >> 2] + 132 >> 2]; + HEAP32[$1 + 104 >> 2] = HEAP32[HEAP32[$1 + 132 >> 2] + 148 >> 2]; + $2 = HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 128 >> 2], 12) | 0; + $0 = HEAP32[$2 >> 2]; + $3 = HEAP32[$2 + 4 >> 2]; + HEAP32[$1 + 96 >> 2] = $0; + HEAP32[$1 + 100 >> 2] = $3; + HEAPF32[$1 + 92 >> 2] = HEAPF32[(HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 128 >> 2], 12) | 0) + 8 >> 2]; + $2 = HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 124 >> 2], 12) | 0; + $3 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + HEAP32[$1 + 80 >> 2] = $3; + HEAP32[$1 + 84 >> 2] = $0; + HEAPF32[$1 + 76 >> 2] = HEAPF32[(HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 124 >> 2], 12) | 0) + 8 >> 2]; + $2 = HEAP32[$1 + 132 >> 2]; + $0 = HEAP32[$2 + 72 >> 2]; + $3 = HEAP32[$2 + 76 >> 2]; + HEAP32[$1 + 64 >> 2] = $0; + HEAP32[$1 + 68 >> 2] = $3; + b2Cross_28b2Vec2_20const__2c_20float_29($1 + 56 | 0, $1 - -64 | 0, Math_fround(1)); + HEAP32[$1 + 52 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 52 >> 2] < HEAP32[$1 + 104 >> 2]) { + HEAP32[$1 + 48 >> 2] = HEAP32[$1 + 132 >> 2] + Math_imul(HEAP32[$1 + 52 >> 2], 36); + operator__28float_2c_20b2Vec2_20const__29($1 + 32 | 0, HEAPF32[HEAP32[$1 + 48 >> 2] + 16 >> 2], $1 - -64 | 0); + operator__28float_2c_20b2Vec2_20const__29($1 + 24 | 0, HEAPF32[HEAP32[$1 + 48 >> 2] + 20 >> 2], $1 + 56 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 40 | 0, $1 + 32 | 0, $1 + 24 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$1 + 116 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 48 >> 2], $1 + 40 | 0)) + HEAPF32[$1 + 92 >> 2]), + HEAPF32[wasm2js_i32$0 + 92 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($1 + 16 | 0, HEAPF32[$1 + 120 >> 2], $1 + 40 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($1 + 96 | 0, $1 + 16 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 108 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$1 + 48 >> 2] + 8 | 0, $1 + 40 | 0)) + HEAPF32[$1 + 76 >> 2]), + HEAPF32[wasm2js_i32$0 + 76 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($1 + 8 | 0, HEAPF32[$1 + 112 >> 2], $1 + 40 | 0); + b2Vec2__operator___28b2Vec2_20const__29($1 + 80 | 0, $1 + 8 | 0); + HEAP32[$1 + 52 >> 2] = HEAP32[$1 + 52 >> 2] + 1; + continue; + } + break; + } + $0 = HEAP32[$1 + 100 >> 2]; + $3 = HEAP32[$1 + 96 >> 2]; + $2 = $3; + $3 = HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 128 >> 2], 12) | 0; + HEAP32[$3 >> 2] = $2; + HEAP32[$3 + 4 >> 2] = $0; + HEAPF32[(HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 128 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$1 + 92 >> 2]; + $3 = HEAP32[$1 + 84 >> 2]; + $0 = HEAP32[$1 + 80 >> 2]; + $2 = $0; + $0 = HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 124 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $3; + HEAPF32[(HEAP32[$4 + 28 >> 2] + Math_imul(HEAP32[$1 + 124 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$1 + 76 >> 2]; + HEAP32[$1 + 136 >> 2] = HEAP32[$1 + 136 >> 2] + 1; + continue; + } + break; + } + __stack_pointer = $1 + 144 | 0; +} +function b2RopeJoint__SolveVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 128 | 0; + __stack_pointer = $2; + HEAP32[$2 + 124 >> 2] = $0; + HEAP32[$2 + 120 >> 2] = $1; + $3 = HEAP32[$2 + 124 >> 2]; + $4 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 96 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 112 >> 2] = $1; + HEAP32[$2 + 116 >> 2] = $0; + HEAPF32[$2 + 108 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 96 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 100 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 96 >> 2] = $0; + HEAP32[$2 + 100 >> 2] = $1; + HEAPF32[$2 + 92 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 100 >> 2], 12) | 0) + 8 >> 2]; + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 76 | 0, HEAPF32[$2 + 108 >> 2], $3 + 112 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 84 | 0, $2 + 112 | 0, $2 + 76 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 60 | 0, HEAPF32[$2 + 92 >> 2], $3 + 120 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 68 | 0, $2 + 96 | 0, $2 + 60 | 0); + HEAPF32[$2 + 56 >> 2] = HEAPF32[$3 + 88 >> 2] - HEAPF32[$3 + 84 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 44 | 0, $2 + 68 | 0, $2 + 84 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 104 | 0, $2 + 44 | 0), + HEAPF32[wasm2js_i32$0 + 52 >> 2] = wasm2js_f32$0; + if (HEAPF32[$2 + 56 >> 2] < Math_fround(0)) { + HEAPF32[$2 + 52 >> 2] = Math_fround(HEAPF32[HEAP32[$2 + 120 >> 2] + 4 >> 2] * HEAPF32[$2 + 56 >> 2]) + HEAPF32[$2 + 52 >> 2]; + } + HEAPF32[$2 + 40 >> 2] = Math_fround(-HEAPF32[$3 + 160 >> 2]) * HEAPF32[$2 + 52 >> 2]; + HEAPF32[$2 + 36 >> 2] = HEAPF32[$3 + 92 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Min_float__28float_2c_20float_29(Math_fround(0), Math_fround(HEAPF32[$3 + 92 >> 2] + HEAPF32[$2 + 40 >> 2])), + HEAPF32[wasm2js_i32$0 + 92 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 40 >> 2] = HEAPF32[$3 + 92 >> 2] - HEAPF32[$2 + 36 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 28 | 0, HEAPF32[$2 + 40 >> 2], $3 + 104 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, HEAPF32[$3 + 144 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 112 | 0, $2 + 20 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$3 + 152 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 112 | 0, $2 + 28 | 0)) + HEAPF32[$2 + 108 >> 2]), + HEAPF32[wasm2js_i32$0 + 108 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$3 + 148 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 96 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$3 + 156 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 120 | 0, $2 + 28 | 0)) + HEAPF32[$2 + 92 >> 2]), + HEAPF32[wasm2js_i32$0 + 92 >> 2] = wasm2js_f32$0; + $0 = HEAP32[$2 + 116 >> 2]; + $1 = HEAP32[$2 + 112 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 96 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 96 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 108 >> 2]; + $1 = HEAP32[$2 + 100 >> 2]; + $0 = HEAP32[$2 + 96 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 100 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 120 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 100 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 92 >> 2]; + __stack_pointer = $2 + 128 | 0; +} + +function __cxxabiv1____vmi_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0; + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 + 8 >> 2], $4)) { + __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($1, $1, $2, $3); + return; + } + label$2: { + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 >> 2], $4)) { + if (!(HEAP32[$1 + 16 >> 2] != ($2 | 0) & HEAP32[$1 + 20 >> 2] != ($2 | 0))) { + if (($3 | 0) != 1) { + break label$2; + } + HEAP32[$1 + 32 >> 2] = 1; + return; + } + HEAP32[$1 + 32 >> 2] = $3; + if (HEAP32[$1 + 44 >> 2] != 4) { + $5 = $0 + 16 | 0; + $3 = $5 + (HEAP32[$0 + 12 >> 2] << 3) | 0; + label$7: { + label$8: { + while (1) { + label$10: { + if ($3 >>> 0 <= $5 >>> 0) { + break label$10; + } + HEAP16[$1 + 52 >> 1] = 0; + __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($5, $1, $2, $2, 1, $4); + if (HEAPU8[$1 + 54 | 0]) { + break label$10; + } + label$11: { + if (!HEAPU8[$1 + 53 | 0]) { + break label$11; + } + if (HEAPU8[$1 + 52 | 0]) { + $6 = 1; + if (HEAP32[$1 + 24 >> 2] == 1) { + break label$8; + } + $7 = 1; + $8 = 1; + if (HEAPU8[$0 + 8 | 0] & 2) { + break label$11; + } + break label$8; + } + $7 = 1; + $6 = $8; + if (!(HEAP8[$0 + 8 | 0] & 1)) { + break label$8; + } + } + $5 = $5 + 8 | 0; + continue; + } + break; + } + $6 = $8; + $5 = 4; + if (!($7 & 1)) { + break label$7; + } + } + $5 = 3; + } + HEAP32[$1 + 44 >> 2] = $5; + if ($6 & 1) { + break label$2; + } + } + HEAP32[$1 + 20 >> 2] = $2; + HEAP32[$1 + 40 >> 2] = HEAP32[$1 + 40 >> 2] + 1; + if (HEAP32[$1 + 36 >> 2] != 1 | HEAP32[$1 + 24 >> 2] != 2) { + break label$2; + } + HEAP8[$1 + 54 | 0] = 1; + return; + } + $6 = HEAP32[$0 + 12 >> 2]; + $7 = $0 + 16 | 0; + __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($7, $1, $2, $3, $4); + $5 = $0 + 24 | 0; + $6 = ($6 << 3) + $7 | 0; + if ($5 >>> 0 >= $6 >>> 0) { + break label$2; + } + $0 = HEAP32[$0 + 8 >> 2]; + if (!(!($0 & 2) & HEAP32[$1 + 36 >> 2] != 1)) { + while (1) { + if (HEAPU8[$1 + 54 | 0]) { + break label$2; + } + __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($5, $1, $2, $3, $4); + $5 = $5 + 8 | 0; + if ($6 >>> 0 > $5 >>> 0) { + continue; + } + break; + } + break label$2; + } + if (!($0 & 1)) { + while (1) { + if (HEAPU8[$1 + 54 | 0] | HEAP32[$1 + 36 >> 2] == 1) { + break label$2; + } + __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($5, $1, $2, $3, $4); + $5 = $5 + 8 | 0; + if ($6 >>> 0 > $5 >>> 0) { + continue; + } + break label$2; + } + } + while (1) { + if (HEAPU8[$1 + 54 | 0] | HEAP32[$1 + 36 >> 2] == 1 & HEAP32[$1 + 24 >> 2] == 1) { + break label$2; + } + __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($5, $1, $2, $3, $4); + $5 = $5 + 8 | 0; + if ($6 >>> 0 > $5 >>> 0) { + continue; + } + break; + } + } +} + +function std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____20std____2____unwrap_and_dispatch_5babi_v160004_5d_std____2____overload_std____2____move_loop_std____2___ClassicAlgPolicy__2c_20std____2____move_trivial__2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_200__28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[$4 + 76 >> 2] = $1; + HEAP32[$4 + 72 >> 2] = $2; + HEAP32[$4 + 68 >> 2] = $3; + HEAP32[$4 + 56 >> 2] = HEAP32[$4 + 76 >> 2]; + HEAP32[$4 + 52 >> 2] = HEAP32[$4 + 72 >> 2]; + std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____20std____2____unwrap_range_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($4 + 60 | 0, HEAP32[$4 + 56 >> 2], HEAP32[$4 + 52 >> 2]); + HEAP32[$4 + 36 >> 2] = HEAP32[$4 + 60 >> 2]; + HEAP32[$4 + 32 >> 2] = HEAP32[($4 + 60 | 0) + 4 >> 2]; + HEAP32[$4 + 24 >> 2] = HEAP32[$4 + 68 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false_____unwrap_28std__declval_std____2__reverse_iterator_b2Vec2____28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false__2c_200__28std____2__reverse_iterator_b2Vec2___29(HEAP32[$4 + 24 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____20std____2____move_loop_std____2___ClassicAlgPolicy___operator_28_29_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29_20const($4 + 44 | 0, $4 + 43 | 0, HEAP32[$4 + 36 >> 2], HEAP32[$4 + 32 >> 2], HEAP32[$4 + 28 >> 2]); + HEAP32[$4 + 16 >> 2] = HEAP32[$4 + 76 >> 2]; + HEAP32[$4 + 12 >> 2] = HEAP32[$4 + 44 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__reverse_iterator_b2Vec2___20std____2____rewrap_range_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29(HEAP32[$4 + 16 >> 2], HEAP32[$4 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + HEAP32[$4 + 4 >> 2] = HEAP32[$4 + 68 >> 2]; + HEAP32[$4 >> 2] = HEAP32[($4 + 44 | 0) + 4 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__reverse_iterator_b2Vec2___20std____2____rewrap_iter_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false___28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29(HEAP32[$4 + 4 >> 2], HEAP32[$4 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + std____2__pair_std____2____unwrap_ref_decay_std____2__reverse_iterator_b2Vec2_____type_2c_20std____2____unwrap_ref_decay_std____2__reverse_iterator_b2Vec2_____type__20std____2__make_pair_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2_____2c_20std____2__reverse_iterator_b2Vec2_____29($0, $4 + 20 | 0, $4 + 8 | 0); + __stack_pointer = $4 + 80 | 0; +} + +function b2AABB__RayCast_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 80 | 0; + __stack_pointer = $3; + HEAP32[$3 + 72 >> 2] = $0; + HEAP32[$3 + 68 >> 2] = $1; + HEAP32[$3 + 64 >> 2] = $2; + $2 = HEAP32[$3 + 72 >> 2]; + HEAPF32[$3 + 60 >> 2] = -34028234663852886e22; + HEAPF32[$3 + 56 >> 2] = 34028234663852886e22; + $1 = HEAP32[$3 + 64 >> 2]; + $0 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$3 + 48 >> 2] = $0; + HEAP32[$3 + 52 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 40 | 0, HEAP32[$3 + 64 >> 2] + 8 | 0, HEAP32[$3 + 64 >> 2]); + b2Abs_28b2Vec2_20const__29($3 + 32 | 0, $3 + 40 | 0); + b2Vec2__b2Vec2_28_29($3 + 24 | 0); + HEAP32[$3 + 20 >> 2] = 0; + label$1: { + while (1) { + if (HEAP32[$3 + 20 >> 2] < 2) { + label$4: { + if (HEAPF32[b2Vec2__operator_28_29_28int_29($3 + 32 | 0, HEAP32[$3 + 20 >> 2]) >> 2] < Math_fround(1.1920928955078125e-7)) { + if (!(HEAPF32[b2Vec2__operator_28_29_28int_29($3 + 48 | 0, HEAP32[$3 + 20 >> 2]) >> 2] < b2Vec2__operator_28_29_28int_29_20const($2, HEAP32[$3 + 20 >> 2]))) { + if (!(b2Vec2__operator_28_29_28int_29_20const($2 + 8 | 0, HEAP32[$3 + 20 >> 2]) < HEAPF32[b2Vec2__operator_28_29_28int_29($3 + 48 | 0, HEAP32[$3 + 20 >> 2]) >> 2])) { + break label$4; + } + } + HEAP8[$3 + 79 | 0] = 0; + break label$1; + } + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(1) / HEAPF32[b2Vec2__operator_28_29_28int_29($3 + 40 | 0, HEAP32[$3 + 20 >> 2]) >> 2]), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(b2Vec2__operator_28_29_28int_29_20const($2, HEAP32[$3 + 20 >> 2]) - HEAPF32[b2Vec2__operator_28_29_28int_29($3 + 48 | 0, HEAP32[$3 + 20 >> 2]) >> 2]) * HEAPF32[$3 + 16 >> 2]), + HEAPF32[wasm2js_i32$0 + 12 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(b2Vec2__operator_28_29_28int_29_20const($2 + 8 | 0, HEAP32[$3 + 20 >> 2]) - HEAPF32[b2Vec2__operator_28_29_28int_29($3 + 48 | 0, HEAP32[$3 + 20 >> 2]) >> 2]) * HEAPF32[$3 + 16 >> 2]), + HEAPF32[wasm2js_i32$0 + 8 >> 2] = wasm2js_f32$0; + HEAPF32[$3 + 4 >> 2] = -1; + if (HEAPF32[$3 + 12 >> 2] > HEAPF32[$3 + 8 >> 2]) { + void_20b2Swap_float__28float__2c_20float__29($3 + 12 | 0, $3 + 8 | 0); + HEAPF32[$3 + 4 >> 2] = 1; + } + if (HEAPF32[$3 + 12 >> 2] > HEAPF32[$3 + 60 >> 2]) { + b2Vec2__SetZero_28_29($3 + 24 | 0); + $4 = HEAPF32[$3 + 4 >> 2]; + wasm2js_i32$0 = b2Vec2__operator_28_29_28int_29($3 + 24 | 0, HEAP32[$3 + 20 >> 2]), + wasm2js_f32$0 = $4, HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[$3 + 60 >> 2] = HEAPF32[$3 + 12 >> 2]; + } + wasm2js_i32$0 = $3, wasm2js_f32$0 = float_20b2Min_float__28float_2c_20float_29(HEAPF32[$3 + 56 >> 2], HEAPF32[$3 + 8 >> 2]), + HEAPF32[wasm2js_i32$0 + 56 >> 2] = wasm2js_f32$0; + if (HEAPF32[$3 + 60 >> 2] > HEAPF32[$3 + 56 >> 2]) { + HEAP8[$3 + 79 | 0] = 0; + break label$1; + } + } + HEAP32[$3 + 20 >> 2] = HEAP32[$3 + 20 >> 2] + 1; + continue; + } + break; + } + if (HEAPF32[$3 + 60 >> 2] < Math_fround(0) | HEAPF32[HEAP32[$3 + 64 >> 2] + 16 >> 2] < HEAPF32[$3 + 60 >> 2]) { + HEAP8[$3 + 79 | 0] = 0; + break label$1; + } + HEAPF32[HEAP32[$3 + 68 >> 2] + 8 >> 2] = HEAPF32[$3 + 60 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $1 = HEAP32[$3 + 24 >> 2]; + $2 = $1; + $1 = HEAP32[$3 + 68 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAP8[$3 + 79 | 0] = 1; + } + __stack_pointer = $3 + 80 | 0; + return HEAP8[$3 + 79 | 0] & 1; +} + +function b2Body__b2Body_28b2BodyDef_20const__2c_20b2World__29($0, $1, $2) { + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 8 >> 2] = $0; + HEAP32[$3 + 4 >> 2] = $1; + HEAP32[$3 >> 2] = $2; + $1 = HEAP32[$3 + 8 >> 2]; + HEAP32[$3 + 12 >> 2] = $1; + b2Transform__b2Transform_28_29($1 + 12 | 0); + b2Sweep__b2Sweep_28_29($1 + 28 | 0); + b2Vec2__b2Vec2_28_29($1 - -64 | 0); + b2Vec2__b2Vec2_28_29($1 + 76 | 0); + if (!(b2Vec2__IsValid_28_29_20const(HEAP32[$3 + 4 >> 2] + 4 | 0) & 1)) { + __assert_fail(12519, 4100, 33, 1702); + wasm2js_trap(); + } + if (!(b2Vec2__IsValid_28_29_20const(HEAP32[$3 + 4 >> 2] + 16 | 0) & 1)) { + __assert_fail(12468, 4100, 34, 1702); + wasm2js_trap(); + } + if (!(b2IsValid_28float_29(HEAPF32[HEAP32[$3 + 4 >> 2] + 12 >> 2]) & 1)) { + __assert_fail(12380, 4100, 35, 1702); + wasm2js_trap(); + } + if (!(b2IsValid_28float_29(HEAPF32[HEAP32[$3 + 4 >> 2] + 24 >> 2]) & 1)) { + __assert_fail(12342, 4100, 36, 1702); + wasm2js_trap(); + } + if (!(b2IsValid_28float_29(HEAPF32[HEAP32[$3 + 4 >> 2] + 32 >> 2]) & 1 & HEAPF32[HEAP32[$3 + 4 >> 2] + 32 >> 2] >= Math_fround(0))) { + __assert_fail(8333, 4100, 37, 1702); + wasm2js_trap(); + } + if (!(b2IsValid_28float_29(HEAPF32[HEAP32[$3 + 4 >> 2] + 28 >> 2]) & 1 & HEAPF32[HEAP32[$3 + 4 >> 2] + 28 >> 2] >= Math_fround(0))) { + __assert_fail(8393, 4100, 38, 1702); + wasm2js_trap(); + } + HEAP16[$1 + 4 >> 1] = 0; + if (HEAP8[HEAP32[$3 + 4 >> 2] + 39 | 0] & 1) { + HEAP16[$1 + 4 >> 1] = HEAPU16[$1 + 4 >> 1] | 8; + } + if (HEAP8[HEAP32[$3 + 4 >> 2] + 38 | 0] & 1) { + HEAP16[$1 + 4 >> 1] = HEAPU16[$1 + 4 >> 1] | 16; + } + if (HEAP8[HEAP32[$3 + 4 >> 2] + 36 | 0] & 1) { + HEAP16[$1 + 4 >> 1] = HEAPU16[$1 + 4 >> 1] | 4; + } + if (!(!(HEAP8[HEAP32[$3 + 4 >> 2] + 37 | 0] & 1) | !HEAP32[HEAP32[$3 + 4 >> 2] >> 2])) { + HEAP16[$1 + 4 >> 1] = HEAPU16[$1 + 4 >> 1] | 2; + } + if (HEAP8[HEAP32[$3 + 4 >> 2] + 40 | 0] & 1) { + HEAP16[$1 + 4 >> 1] = HEAPU16[$1 + 4 >> 1] | 32; + } + HEAP32[$1 + 88 >> 2] = HEAP32[$3 >> 2]; + $4 = HEAP32[$3 + 4 >> 2]; + $2 = HEAP32[$4 + 4 >> 2]; + $0 = HEAP32[$4 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $2; + HEAP32[$1 + 16 >> 2] = $0; + b2Rot__Set_28float_29($1 + 20 | 0, HEAPF32[HEAP32[$3 + 4 >> 2] + 12 >> 2]); + b2Vec2__SetZero_28_29($1 + 28 | 0); + $2 = HEAP32[$1 + 16 >> 2]; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$1 + 36 >> 2] = $0; + HEAP32[$1 + 40 >> 2] = $2; + $0 = HEAP32[$1 + 16 >> 2]; + $2 = HEAP32[$1 + 12 >> 2]; + HEAP32[$1 + 44 >> 2] = $2; + HEAP32[$1 + 48 >> 2] = $0; + HEAPF32[$1 + 52 >> 2] = HEAPF32[HEAP32[$3 + 4 >> 2] + 12 >> 2]; + HEAPF32[$1 + 56 >> 2] = HEAPF32[HEAP32[$3 + 4 >> 2] + 12 >> 2]; + HEAPF32[$1 + 60 >> 2] = 0; + HEAP32[$1 + 108 >> 2] = 0; + HEAP32[$1 + 112 >> 2] = 0; + HEAP32[$1 + 92 >> 2] = 0; + HEAP32[$1 + 96 >> 2] = 0; + $4 = HEAP32[$3 + 4 >> 2]; + $0 = HEAP32[$4 + 16 >> 2]; + $2 = HEAP32[$4 + 20 >> 2]; + HEAP32[$1 + 64 >> 2] = $0; + HEAP32[$1 + 68 >> 2] = $2; + HEAPF32[$1 + 72 >> 2] = HEAPF32[HEAP32[$3 + 4 >> 2] + 24 >> 2]; + HEAPF32[$1 + 132 >> 2] = HEAPF32[HEAP32[$3 + 4 >> 2] + 28 >> 2]; + HEAPF32[$1 + 136 >> 2] = HEAPF32[HEAP32[$3 + 4 >> 2] + 32 >> 2]; + HEAPF32[$1 + 140 >> 2] = HEAPF32[HEAP32[$3 + 4 >> 2] + 48 >> 2]; + b2Vec2__SetZero_28_29($1 + 76 | 0); + HEAPF32[$1 + 84 >> 2] = 0; + HEAPF32[$1 + 144 >> 2] = 0; + HEAP32[$1 >> 2] = HEAP32[HEAP32[$3 + 4 >> 2] >> 2]; + label$14: { + if (HEAP32[HEAP32[$3 + 4 >> 2] >> 2] == 2) { + HEAPF32[$1 + 116 >> 2] = 1; + HEAPF32[$1 + 120 >> 2] = 1; + break label$14; + } + HEAPF32[$1 + 116 >> 2] = 0; + HEAPF32[$1 + 120 >> 2] = 0; + } + HEAPF32[$1 + 124 >> 2] = 0; + HEAPF32[$1 + 128 >> 2] = 0; + HEAP32[$1 + 148 >> 2] = HEAP32[HEAP32[$3 + 4 >> 2] + 44 >> 2]; + HEAP32[$1 + 100 >> 2] = 0; + HEAP32[$1 + 104 >> 2] = 0; + __stack_pointer = $3 + 16 | 0; + return HEAP32[$3 + 12 >> 2]; +} + +function std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____20std____2____unwrap_and_dispatch_5babi_v160004_5d_std____2____overload_std____2____move_loop_std____2___ClassicAlgPolicy__2c_20std____2____move_trivial__2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_200__28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[$4 + 76 >> 2] = $1; + HEAP32[$4 + 72 >> 2] = $2; + HEAP32[$4 + 68 >> 2] = $3; + HEAP32[$4 + 56 >> 2] = HEAP32[$4 + 76 >> 2]; + HEAP32[$4 + 52 >> 2] = HEAP32[$4 + 72 >> 2]; + std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____20std____2____unwrap_range_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($4 + 60 | 0, HEAP32[$4 + 56 >> 2], HEAP32[$4 + 52 >> 2]); + HEAP32[$4 + 36 >> 2] = HEAP32[$4 + 60 >> 2]; + HEAP32[$4 + 32 >> 2] = HEAP32[($4 + 60 | 0) + 4 >> 2]; + HEAP32[$4 + 24 >> 2] = HEAP32[$4 + 68 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false_____unwrap_28std__declval_std____2__reverse_iterator_int____28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false__2c_200__28std____2__reverse_iterator_int___29(HEAP32[$4 + 24 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____20std____2____move_loop_std____2___ClassicAlgPolicy___operator_28_29_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29_20const($4 + 44 | 0, $4 + 43 | 0, HEAP32[$4 + 36 >> 2], HEAP32[$4 + 32 >> 2], HEAP32[$4 + 28 >> 2]); + HEAP32[$4 + 16 >> 2] = HEAP32[$4 + 76 >> 2]; + HEAP32[$4 + 12 >> 2] = HEAP32[$4 + 44 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__reverse_iterator_int___20std____2____rewrap_range_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29(HEAP32[$4 + 16 >> 2], HEAP32[$4 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + HEAP32[$4 + 4 >> 2] = HEAP32[$4 + 68 >> 2]; + HEAP32[$4 >> 2] = HEAP32[($4 + 44 | 0) + 4 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__reverse_iterator_int___20std____2____rewrap_iter_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false___28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29(HEAP32[$4 + 4 >> 2], HEAP32[$4 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + std____2__pair_std____2____unwrap_ref_decay_std____2__reverse_iterator_int_____type_2c_20std____2____unwrap_ref_decay_std____2__reverse_iterator_int_____type__20std____2__make_pair_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int_____2c_20std____2__reverse_iterator_int_____29($0, $4 + 20 | 0, $4 + 8 | 0); + __stack_pointer = $4 + 80 | 0; +} + +function b2PulleyJoint__SolveVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 112 | 0; + __stack_pointer = $2; + HEAP32[$2 + 108 >> 2] = $0; + HEAP32[$2 + 104 >> 2] = $1; + $3 = HEAP32[$2 + 108 >> 2]; + $4 = HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 96 >> 2] = $0; + HEAP32[$2 + 100 >> 2] = $1; + HEAPF32[$2 + 92 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 124 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 80 >> 2] = $1; + HEAP32[$2 + 84 >> 2] = $0; + HEAPF32[$2 + 76 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 124 >> 2], 12) | 0) + 8 >> 2]; + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 60 | 0, HEAPF32[$2 + 92 >> 2], $3 + 144 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 68 | 0, $2 + 96 | 0, $2 + 60 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 44 | 0, HEAPF32[$2 + 76 >> 2], $3 + 152 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 52 | 0, $2 + 80 | 0, $2 + 44 | 0); + $5 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 128 | 0, $2 + 68 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$3 + 112 >> 2]) * b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 136 | 0, $2 + 52 | 0)) - $5), + HEAPF32[wasm2js_i32$0 + 40 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 36 >> 2] = Math_fround(-HEAPF32[$3 + 192 >> 2]) * HEAPF32[$2 + 40 >> 2]; + HEAPF32[$3 + 116 >> 2] = HEAPF32[$3 + 116 >> 2] + HEAPF32[$2 + 36 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 28 | 0, Math_fround(-HEAPF32[$2 + 36 >> 2]), $3 + 128 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, Math_fround(Math_fround(-HEAPF32[$3 + 112 >> 2]) * HEAPF32[$2 + 36 >> 2]), $3 + 136 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$3 + 176 >> 2], $2 + 28 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 96 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$3 + 184 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 144 | 0, $2 + 28 | 0)) + HEAPF32[$2 + 92 >> 2]), + HEAPF32[wasm2js_i32$0 + 92 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$3 + 180 >> 2], $2 + 20 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 80 | 0, $2 + 4 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$3 + 188 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 152 | 0, $2 + 20 | 0)) + HEAPF32[$2 + 76 >> 2]), + HEAPF32[wasm2js_i32$0 + 76 >> 2] = wasm2js_f32$0; + $1 = HEAP32[$2 + 100 >> 2]; + $0 = HEAP32[$2 + 96 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 120 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 92 >> 2]; + $0 = HEAP32[$2 + 84 >> 2]; + $1 = HEAP32[$2 + 80 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 124 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 124 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 76 >> 2]; + __stack_pointer = $2 + 112 | 0; +} + +function b2SeparationFunction__Evaluate_28int_2c_20int_2c_20float_29_20const($0, $1, $2, $3) { + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 208 | 0; + __stack_pointer = $4; + HEAP32[$4 + 200 >> 2] = $0; + HEAP32[$4 + 196 >> 2] = $1; + HEAP32[$4 + 192 >> 2] = $2; + HEAPF32[$4 + 188 >> 2] = $3; + $2 = HEAP32[$4 + 200 >> 2]; + b2Transform__b2Transform_28_29($4 + 172 | 0); + b2Transform__b2Transform_28_29($4 + 156 | 0); + b2Sweep__GetTransform_28b2Transform__2c_20float_29_20const($2 + 8 | 0, $4 + 172 | 0, HEAPF32[$4 + 188 >> 2]); + b2Sweep__GetTransform_28b2Transform__2c_20float_29_20const($2 + 44 | 0, $4 + 156 | 0, HEAPF32[$4 + 188 >> 2]); + label$1: { + label$2: { + switch (HEAP32[$2 + 80 >> 2]) { + case 0: + $5 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 >> 2], HEAP32[$4 + 196 >> 2]); + $1 = HEAP32[$5 >> 2]; + $0 = HEAP32[$5 + 4 >> 2]; + HEAP32[$4 + 144 >> 2] = $1; + HEAP32[$4 + 148 >> 2] = $0; + $5 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 + 4 >> 2], HEAP32[$4 + 192 >> 2]); + $0 = HEAP32[$5 >> 2]; + $1 = HEAP32[$5 + 4 >> 2]; + HEAP32[$4 + 136 >> 2] = $0; + HEAP32[$4 + 140 >> 2] = $1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 128 | 0, $4 + 172 | 0, $4 + 144 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 120 | 0, $4 + 156 | 0, $4 + 136 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 108 | 0, $4 + 120 | 0, $4 + 128 | 0); + wasm2js_i32$0 = $4, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 108 | 0, $2 + 92 | 0), + HEAPF32[wasm2js_i32$0 + 116 >> 2] = wasm2js_f32$0; + HEAPF32[$4 + 204 >> 2] = HEAPF32[$4 + 116 >> 2]; + break label$1; + + case 1: + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($4 + 100 | 0, $4 + 180 | 0, $2 + 92 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 92 | 0, $4 + 172 | 0, $2 + 84 | 0); + $5 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 + 4 >> 2], HEAP32[$4 + 192 >> 2]); + $1 = HEAP32[$5 >> 2]; + $0 = HEAP32[$5 + 4 >> 2]; + HEAP32[$4 + 80 >> 2] = $1; + HEAP32[$4 + 84 >> 2] = $0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 72 | 0, $4 + 156 | 0, $4 + 80 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 60 | 0, $4 + 72 | 0, $4 + 92 | 0); + wasm2js_i32$0 = $4, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 60 | 0, $4 + 100 | 0), + HEAPF32[wasm2js_i32$0 + 68 >> 2] = wasm2js_f32$0; + HEAPF32[$4 + 204 >> 2] = HEAPF32[$4 + 68 >> 2]; + break label$1; + + case 2: + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($4 + 52 | 0, $4 + 164 | 0, $2 + 92 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 44 | 0, $4 + 156 | 0, $2 + 84 | 0); + $5 = b2DistanceProxy__GetVertex_28int_29_20const(HEAP32[$2 >> 2], HEAP32[$4 + 196 >> 2]); + $0 = HEAP32[$5 >> 2]; + $1 = HEAP32[$5 + 4 >> 2]; + HEAP32[$4 + 32 >> 2] = $0; + HEAP32[$4 + 36 >> 2] = $1; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 24 | 0, $4 + 172 | 0, $4 + 32 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 12 | 0, $4 + 24 | 0, $4 + 44 | 0); + wasm2js_i32$0 = $4, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 12 | 0, $4 + 52 | 0), + HEAPF32[wasm2js_i32$0 + 20 >> 2] = wasm2js_f32$0; + HEAPF32[$4 + 204 >> 2] = HEAPF32[$4 + 20 >> 2]; + break label$1; + + default: + break label$2; + } + } + __assert_fail(9147, 5216, 243, 8927); + wasm2js_trap(); + } + __stack_pointer = $4 + 208 | 0; + return HEAPF32[$4 + 204 >> 2]; +} + +function b2PolygonShape__RayCast_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 112 | 0; + __stack_pointer = $5; + HEAP32[$5 + 104 >> 2] = $0; + HEAP32[$5 + 100 >> 2] = $1; + HEAP32[$5 + 96 >> 2] = $2; + HEAP32[$5 + 92 >> 2] = $3; + HEAP32[$5 + 88 >> 2] = $4; + $0 = HEAP32[$5 + 104 >> 2]; + $1 = HEAP32[$5 + 92 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 72 | 0, HEAP32[$5 + 96 >> 2], HEAP32[$5 + 92 >> 2]); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 80 | 0, $1 + 8 | 0, $5 + 72 | 0); + $1 = HEAP32[$5 + 92 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 56 | 0, HEAP32[$5 + 96 >> 2] + 8 | 0, HEAP32[$5 + 92 >> 2]); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($5 - -64 | 0, $1 + 8 | 0, $5 + 56 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 48 | 0, $5 - -64 | 0, $5 + 80 | 0); + HEAPF32[$5 + 44 >> 2] = 0; + HEAPF32[$5 + 40 >> 2] = HEAPF32[HEAP32[$5 + 96 >> 2] + 16 >> 2]; + HEAP32[$5 + 36 >> 2] = -1; + HEAP32[$5 + 32 >> 2] = 0; + label$1: { + while (1) { + if (HEAP32[$5 + 32 >> 2] < HEAP32[$0 + 148 >> 2]) { + $1 = HEAP32[$5 + 32 >> 2] << 3; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 20 | 0, ($0 + 20 | 0) + (HEAP32[$5 + 32 >> 2] << 3) | 0, $5 + 80 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + ($0 + 84 | 0) | 0, $5 + 20 | 0), + HEAPF32[wasm2js_i32$0 + 28 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29(($0 + 84 | 0) + (HEAP32[$5 + 32 >> 2] << 3) | 0, $5 + 48 | 0), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + label$4: { + if (HEAPF32[$5 + 16 >> 2] == Math_fround(0)) { + if (HEAPF32[$5 + 28 >> 2] < Math_fround(0)) { + HEAP8[$5 + 111 | 0] = 0; + break label$1; + } + break label$4; + } + label$7: { + if (!(!(HEAPF32[$5 + 16 >> 2] < Math_fround(0)) | !(HEAPF32[$5 + 28 >> 2] < Math_fround(HEAPF32[$5 + 44 >> 2] * HEAPF32[$5 + 16 >> 2])))) { + HEAPF32[$5 + 44 >> 2] = HEAPF32[$5 + 28 >> 2] / HEAPF32[$5 + 16 >> 2]; + HEAP32[$5 + 36 >> 2] = HEAP32[$5 + 32 >> 2]; + break label$7; + } + if (!(!(HEAPF32[$5 + 16 >> 2] > Math_fround(0)) | !(HEAPF32[$5 + 28 >> 2] < Math_fround(HEAPF32[$5 + 40 >> 2] * HEAPF32[$5 + 16 >> 2])))) { + HEAPF32[$5 + 40 >> 2] = HEAPF32[$5 + 28 >> 2] / HEAPF32[$5 + 16 >> 2]; + } + } + } + if (HEAPF32[$5 + 40 >> 2] < HEAPF32[$5 + 44 >> 2]) { + HEAP8[$5 + 111 | 0] = 0; + break label$1; + } else { + HEAP32[$5 + 32 >> 2] = HEAP32[$5 + 32 >> 2] + 1; + continue; + } + } + break; + } + if (!(HEAPF32[$5 + 44 >> 2] <= HEAPF32[HEAP32[$5 + 96 >> 2] + 16 >> 2] & HEAPF32[$5 + 44 >> 2] >= Math_fround(0))) { + __assert_fail(6574, 5758, 326, 1866); + wasm2js_trap(); + } + if (HEAP32[$5 + 36 >> 2] >= 0) { + HEAPF32[HEAP32[$5 + 100 >> 2] + 8 >> 2] = HEAPF32[$5 + 44 >> 2]; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 8 | 0, HEAP32[$5 + 92 >> 2] + 8 | 0, ($0 + 84 | 0) + (HEAP32[$5 + 36 >> 2] << 3) | 0); + $2 = HEAP32[$5 + 12 >> 2]; + $0 = HEAP32[$5 + 8 >> 2]; + $1 = $0; + $0 = HEAP32[$5 + 100 >> 2]; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + HEAP8[$5 + 111 | 0] = 1; + break label$1; + } + HEAP8[$5 + 111 | 0] = 0; + } + __stack_pointer = $5 + 112 | 0; + return HEAP8[$5 + 111 | 0] & 1; +} + +function b2DynamicTree__MoveProxy_28int_2c_20b2AABB_20const__2c_20b2Vec2_20const__29($0, $1, $2, $3) { + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 128 | 0; + __stack_pointer = $4; + HEAP32[$4 + 120 >> 2] = $0; + HEAP32[$4 + 116 >> 2] = $1; + HEAP32[$4 + 112 >> 2] = $2; + HEAP32[$4 + 108 >> 2] = $3; + $5 = HEAP32[$4 + 120 >> 2]; + if (!(HEAP32[$4 + 116 >> 2] < HEAP32[$5 + 12 >> 2] & HEAP32[$4 + 116 >> 2] >= 0)) { + __assert_fail(1341, 5965, 137, 1049); + wasm2js_trap(); + } + if (!(b2TreeNode__IsLeaf_28_29_20const(HEAP32[$5 + 4 >> 2] + Math_imul(HEAP32[$4 + 116 >> 2], 40) | 0) & 1)) { + __assert_fail(12442, 5965, 139, 1049); + wasm2js_trap(); + } + b2AABB__b2AABB_28_29($4 + 92 | 0); + b2Vec2__b2Vec2_28float_2c_20float_29($4 + 84 | 0, Math_fround(.10000000149011612), Math_fround(.10000000149011612)); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 76 | 0, HEAP32[$4 + 112 >> 2], $4 + 84 | 0); + $0 = HEAP32[$4 + 80 >> 2]; + $1 = HEAP32[$4 + 76 >> 2]; + $2 = $1; + $1 = $4 + 92 | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($4 + 68 | 0, HEAP32[$4 + 112 >> 2] + 8 | 0, $4 + 84 | 0); + $1 = HEAP32[$4 + 72 >> 2]; + $0 = HEAP32[$4 + 68 >> 2]; + $2 = $0; + $0 = $4 + 92 | 0; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + operator__28float_2c_20b2Vec2_20const__29($4 + 60 | 0, Math_fround(4), HEAP32[$4 + 108 >> 2]); + label$4: { + if (HEAPF32[$4 + 60 >> 2] < Math_fround(0)) { + HEAPF32[$4 + 92 >> 2] = HEAPF32[$4 + 92 >> 2] + HEAPF32[$4 + 60 >> 2]; + break label$4; + } + HEAPF32[$4 + 100 >> 2] = HEAPF32[$4 + 100 >> 2] + HEAPF32[$4 + 60 >> 2]; + } + label$6: { + if (HEAPF32[$4 + 64 >> 2] < Math_fround(0)) { + HEAPF32[$4 + 96 >> 2] = HEAPF32[$4 + 96 >> 2] + HEAPF32[$4 + 64 >> 2]; + break label$6; + } + HEAPF32[$4 + 104 >> 2] = HEAPF32[$4 + 104 >> 2] + HEAPF32[$4 + 64 >> 2]; + } + HEAP32[$4 + 56 >> 2] = HEAP32[$5 + 4 >> 2] + Math_imul(HEAP32[$4 + 116 >> 2], 40); + label$8: { + if (b2AABB__Contains_28b2AABB_20const__29_20const(HEAP32[$4 + 56 >> 2], HEAP32[$4 + 112 >> 2]) & 1) { + b2AABB__b2AABB_28_29($4 + 40 | 0); + operator__28float_2c_20b2Vec2_20const__29($4 + 24 | 0, Math_fround(4), $4 + 84 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 32 | 0, $4 + 92 | 0, $4 + 24 | 0); + $0 = HEAP32[$4 + 36 >> 2]; + $1 = HEAP32[$4 + 32 >> 2]; + $2 = $1; + $1 = $4 + 40 | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + operator__28float_2c_20b2Vec2_20const__29($4 + 8 | 0, Math_fround(4), $4 + 84 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($4 + 16 | 0, $4 + 100 | 0, $4 + 8 | 0); + $1 = HEAP32[$4 + 20 >> 2]; + $0 = HEAP32[$4 + 16 >> 2]; + $2 = $0; + $0 = $4 + 40 | 0; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + if (b2AABB__Contains_28b2AABB_20const__29_20const($4 + 40 | 0, HEAP32[$4 + 56 >> 2]) & 1) { + HEAP8[$4 + 127 | 0] = 0; + break label$8; + } + } + b2DynamicTree__RemoveLeaf_28int_29($5, HEAP32[$4 + 116 >> 2]); + $0 = HEAP32[$4 + 96 >> 2]; + $1 = HEAP32[$4 + 92 >> 2]; + $3 = $1; + $2 = HEAP32[$5 + 4 >> 2] + Math_imul(HEAP32[$4 + 116 >> 2], 40) | 0; + $1 = $2; + HEAP32[$1 >> 2] = $3; + HEAP32[$1 + 4 >> 2] = $0; + $1 = HEAP32[$4 + 104 >> 2]; + $0 = HEAP32[$4 + 100 >> 2]; + $3 = $0; + $0 = $2; + HEAP32[$0 + 8 >> 2] = $3; + HEAP32[$0 + 12 >> 2] = $1; + b2DynamicTree__InsertLeaf_28int_29($5, HEAP32[$4 + 116 >> 2]); + HEAP8[(HEAP32[$5 + 4 >> 2] + Math_imul(HEAP32[$4 + 116 >> 2], 40) | 0) + 36 | 0] = 1; + HEAP8[$4 + 127 | 0] = 1; + } + __stack_pointer = $4 + 128 | 0; + return HEAP8[$4 + 127 | 0] & 1; +} + +function b2DistanceJoint__SolveVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 112 | 0; + __stack_pointer = $2; + HEAP32[$2 + 108 >> 2] = $0; + HEAP32[$2 + 104 >> 2] = $1; + $3 = HEAP32[$2 + 108 >> 2]; + $4 = HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 96 >> 2] = $0; + HEAP32[$2 + 100 >> 2] = $1; + HEAPF32[$2 + 92 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0) + 8 >> 2]; + $4 = HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 112 >> 2], 12) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$2 + 80 >> 2] = $1; + HEAP32[$2 + 84 >> 2] = $0; + HEAPF32[$2 + 76 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 112 >> 2], 12) | 0) + 8 >> 2]; + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 60 | 0, HEAPF32[$2 + 92 >> 2], $3 + 124 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 68 | 0, $2 + 96 | 0, $2 + 60 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 44 | 0, HEAPF32[$2 + 76 >> 2], $3 + 132 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 52 | 0, $2 + 80 | 0, $2 + 44 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 32 | 0, $2 + 52 | 0, $2 + 68 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 116 | 0, $2 + 32 | 0), + HEAPF32[wasm2js_i32$0 + 40 >> 2] = wasm2js_f32$0; + HEAPF32[$2 + 28 >> 2] = Math_fround(-HEAPF32[$3 + 172 >> 2]) * Math_fround(Math_fround(HEAPF32[$3 + 96 >> 2] * HEAPF32[$3 + 100 >> 2]) + Math_fround(HEAPF32[$2 + 40 >> 2] + HEAPF32[$3 + 76 >> 2])); + HEAPF32[$3 + 100 >> 2] = HEAPF32[$3 + 100 >> 2] + HEAPF32[$2 + 28 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 20 | 0, HEAPF32[$2 + 28 >> 2], $3 + 116 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, HEAPF32[$3 + 156 >> 2], $2 + 20 | 0); + b2Vec2__operator___28b2Vec2_20const__29_1($2 + 96 | 0, $2 + 12 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$3 + 164 >> 2]) * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 124 | 0, $2 + 20 | 0)) + HEAPF32[$2 + 92 >> 2]), + HEAPF32[wasm2js_i32$0 + 92 >> 2] = wasm2js_f32$0; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$3 + 160 >> 2], $2 + 20 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 80 | 0, $2 + 4 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$3 + 168 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 132 | 0, $2 + 20 | 0)) + HEAPF32[$2 + 76 >> 2]), + HEAPF32[wasm2js_i32$0 + 76 >> 2] = wasm2js_f32$0; + $1 = HEAP32[$2 + 100 >> 2]; + $0 = HEAP32[$2 + 96 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $1; + HEAPF32[(HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 108 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 92 >> 2]; + $0 = HEAP32[$2 + 84 >> 2]; + $1 = HEAP32[$2 + 80 >> 2]; + $4 = $1; + $1 = HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 112 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + HEAPF32[(HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$3 + 112 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 76 >> 2]; + __stack_pointer = $2 + 112 | 0; +} + +function b2ContactManager__Collide_28_29($0) { + var $1 = 0, $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer + -64 | 0; + __stack_pointer = $1; + HEAP32[$1 + 60 >> 2] = $0; + $0 = HEAP32[$1 + 60 >> 2]; + HEAP32[$1 + 56 >> 2] = HEAP32[$0 + 60 >> 2]; + while (1) { + if (HEAP32[$1 + 56 >> 2]) { + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetFixtureA_28_29(HEAP32[$1 + 56 >> 2]), + HEAP32[wasm2js_i32$0 + 52 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetFixtureB_28_29(HEAP32[$1 + 56 >> 2]), + HEAP32[wasm2js_i32$0 + 48 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetChildIndexA_28_29_20const(HEAP32[$1 + 56 >> 2]), + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetChildIndexB_28_29_20const(HEAP32[$1 + 56 >> 2]), + HEAP32[wasm2js_i32$0 + 40 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$1 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 36 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$1 + 48 >> 2]), + HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + if (HEAP32[HEAP32[$1 + 56 >> 2] + 4 >> 2] & 8) { + label$4: { + if (!HEAP32[$0 + 68 >> 2]) { + break label$4; + } + $2 = HEAP32[$0 + 68 >> 2]; + if (FUNCTION_TABLE[HEAP32[HEAP32[$2 >> 2] + 8 >> 2]]($2, HEAP32[$1 + 52 >> 2], HEAP32[$1 + 48 >> 2]) & 1) { + break label$4; + } + HEAP32[$1 + 28 >> 2] = HEAP32[$1 + 56 >> 2]; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetNext_28_29(HEAP32[$1 + 28 >> 2]), + HEAP32[wasm2js_i32$0 + 56 >> 2] = wasm2js_i32$1; + b2ContactManager__Destroy_28b2Contact__29($0, HEAP32[$1 + 28 >> 2]); + continue; + } + $2 = HEAP32[$1 + 56 >> 2]; + HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] & -9; + } + $2 = 0; + if (b2Body__IsAwake_28_29_20const(HEAP32[$1 + 36 >> 2]) & 1) { + $2 = HEAP32[HEAP32[$1 + 36 >> 2] >> 2] != 0; + } + HEAP8[$1 + 27 | 0] = $2; + $2 = 0; + if (b2Body__IsAwake_28_29_20const(HEAP32[$1 + 32 >> 2]) & 1) { + $2 = HEAP32[HEAP32[$1 + 32 >> 2] >> 2] != 0; + } + HEAP8[$1 + 26 | 0] = $2; + if (!(HEAP8[$1 + 27 | 0] & 1 | HEAP8[$1 + 26 | 0] & 1)) { + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetNext_28_29(HEAP32[$1 + 56 >> 2]), + HEAP32[wasm2js_i32$0 + 56 >> 2] = wasm2js_i32$1; + continue; + } + HEAP32[$1 + 20 >> 2] = HEAP32[(HEAP32[HEAP32[$1 + 52 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 44 >> 2], 28) | 0) + 24 >> 2]; + HEAP32[$1 + 16 >> 2] = HEAP32[(HEAP32[HEAP32[$1 + 48 >> 2] + 24 >> 2] + Math_imul(HEAP32[$1 + 40 >> 2], 28) | 0) + 24 >> 2]; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2BroadPhase__TestOverlap_28int_2c_20int_29_20const($0, HEAP32[$1 + 20 >> 2], HEAP32[$1 + 16 >> 2]) & 1, + HEAP8[wasm2js_i32$0 + 15 | 0] = wasm2js_i32$1; + if (HEAP8[$1 + 15 | 0] & 1) { + b2Contact__Update_28b2ContactListener__29(HEAP32[$1 + 56 >> 2], HEAP32[$0 + 72 >> 2]); + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetNext_28_29(HEAP32[$1 + 56 >> 2]), + HEAP32[wasm2js_i32$0 + 56 >> 2] = wasm2js_i32$1; + } else { + HEAP32[$1 + 8 >> 2] = HEAP32[$1 + 56 >> 2]; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetNext_28_29(HEAP32[$1 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 56 >> 2] = wasm2js_i32$1; + b2ContactManager__Destroy_28b2Contact__29($0, HEAP32[$1 + 8 >> 2]); + } + continue; + } + break; + } + __stack_pointer = $1 - -64 | 0; +} + +function __trunctfdf2($0, $1, $2, $3) { + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0; + $12 = __stack_pointer - 32 | 0; + __stack_pointer = $12; + $6 = $3; + $8 = $6 & 2147483647; + $9 = $8; + $4 = $2; + $2 = $4; + $6 = $4; + $5 = $6; + $7 = 1006698496; + $7 = $8 - $7 | 0; + $6 = $7; + $7 = $8; + $5 = 1140785152; + $5 = $7 - $5 | 0; + $8 = $5; + $5 = $6; + label$1: { + if (($8 | 0) == ($5 | 0) & $4 >>> 0 < $4 >>> 0 | $5 >>> 0 < $8 >>> 0) { + $7 = $3; + $5 = $7 << 4 | $2 >>> 28; + $4 = $5; + $5 = $1; + $8 = $5 >>> 28 | 0; + $5 = $2 << 4; + $2 = $8 | $5; + $7 = $10; + $7 = $4 | $7; + $9 = $7; + $7 = $1; + $5 = $7 & 268435455; + $1 = $5; + $7 = $0; + if (($5 | 0) == 134217728 & ($7 | 0) != 0 | $5 >>> 0 > 134217728) { + $7 = $9; + $4 = $7 + 1073741824 | 0; + $8 = $2; + $6 = $8 + 1 | 0; + $4 = $6 ? $4 : $4 + 1 | 0; + $11 = $6; + $10 = $4; + break label$1; + } + $7 = $2; + $5 = $7; + $11 = $5; + $4 = $9; + $6 = -1073741824; + $6 = $4 - $6 | 0; + $10 = $6; + $4 = $0; + $6 = $1; + if ($4 | ($6 | 0) != 134217728) { + break label$1; + } + $4 = $11; + $7 = $2 & 1; + $8 = $4 + $7 | 0; + $6 = $10; + $4 = $13; + $5 = $6 + $4 | 0; + $11 = $8; + $5 = $7 >>> 0 > $8 >>> 0 ? $5 + 1 | 0 : $5; + $10 = $5; + break label$1; + } + $5 = $1; + $4 = !($5 | $0); + $5 = $9; + $5 = $5 >>> 0 < 2147418112; + $6 = $9; + if (!(!$2 & ($6 | 0) == 2147418112 ? $4 : $5)) { + $7 = $3; + $4 = $2; + $6 = $7 << 4 | $4 >>> 28; + $0 = $4 << 4; + $4 = $6; + $6 = $1; + $5 = $6 >>> 28 | 0; + $7 = $10; + $7 = $4 | $7; + $6 = $0; + $4 = $6 | $5; + $6 = $7 & 524287; + $11 = $4; + $4 = $6 | 2146959360; + $10 = $4; + break label$1; + } + $10 = 2146435072; + $4 = $9; + if ($4 >>> 0 > 1140785151) { + break label$1; + } + $10 = 0; + $6 = $9; + $7 = $6 >>> 16 | 0; + if ($7 >>> 0 < 15249) { + break label$1; + } + $4 = $3; + $5 = $4 & 65535; + $6 = $2; + $6 = $5 | 65536; + $9 = $6; + $6 = $1; + $4 = $9; + __ashlti3($12 + 16 | 0, $0, $6, $2, $4, $7 - 15233 | 0); + $4 = $6; + $6 = $9; + __lshrti3($12, $0, $4, $2, $6, 15361 - $7 | 0); + $5 = $12; + $6 = HEAP32[$5 + 8 >> 2]; + $4 = HEAP32[$5 + 12 >> 2]; + $1 = $6 << 4; + $6 = $4 << 4 | $6 >>> 28; + $0 = $6; + $4 = $12; + $6 = HEAP32[$4 >> 2]; + $5 = HEAP32[$4 + 4 >> 2]; + $9 = $5; + $2 = $6; + $7 = $5 >>> 28 | 0; + $5 = $1; + $11 = $5 | $7; + $6 = $0; + $4 = $13; + $4 = $6 | $4; + $10 = $4; + $6 = $12; + $4 = HEAP32[$6 + 16 >> 2]; + $0 = $4; + $5 = HEAP32[$6 + 20 >> 2]; + $1 = $5; + $5 = HEAP32[$6 + 24 >> 2]; + $7 = $5; + $4 = HEAP32[$6 + 28 >> 2]; + $5 = $4; + $4 = $1; + $5 = $4 | $5; + $6 = $0; + $4 = $6 | $7; + $0 = ($5 | $4) != 0; + $4 = $9; + $5 = $4 & 268435455; + $7 = $2; + $6 = $7; + $4 = $0; + $2 = $6 | $4; + $7 = $5; + $9 = $5; + $5 = $2; + if (($7 | 0) == 134217728 & ($5 | 0) != 0 | $7 >>> 0 > 134217728) { + $5 = $10; + $6 = $11; + $4 = $6 + 1 | 0; + $8 = $4 ? $5 : $5 + 1 | 0; + $11 = $4; + $10 = $8; + break label$1; + } + $8 = $9; + if ($2 | ($8 | 0) != 134217728) { + break label$1; + } + $4 = $11; + $6 = $4; + $5 = $6 & 1; + $7 = $6 + $5 | 0; + $8 = 0; + $4 = $10; + $4 = $8 + $4 | 0; + $11 = $7; + $4 = $7 >>> 0 < $6 >>> 0 ? $4 + 1 | 0 : $4; + $10 = $4; + } + __stack_pointer = $12 + 32 | 0; + $4 = $3; + $5 = $4 & -2147483648; + $6 = 0; + $4 = $11; + wasm2js_scratch_store_i32(0, $6 | $4); + $8 = $5; + $5 = $10; + $8 = $8 | $5; + wasm2js_scratch_store_i32(1, $8 | 0); + return +wasm2js_scratch_load_f64(); +} + +function b2Body__ResetMassData_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 80 | 0; + __stack_pointer = $2; + HEAP32[$2 + 76 >> 2] = $0; + $1 = HEAP32[$2 + 76 >> 2]; + HEAPF32[$1 + 116 >> 2] = 0; + HEAPF32[$1 + 120 >> 2] = 0; + HEAPF32[$1 + 124 >> 2] = 0; + HEAPF32[$1 + 128 >> 2] = 0; + b2Vec2__SetZero_28_29($1 + 28 | 0); + label$1: { + if (!(HEAP32[$1 >> 2] != 1 ? HEAP32[$1 >> 2] : 0)) { + $3 = HEAP32[$1 + 16 >> 2]; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$1 + 36 >> 2] = $0; + HEAP32[$1 + 40 >> 2] = $3; + $0 = HEAP32[$1 + 16 >> 2]; + $3 = HEAP32[$1 + 12 >> 2]; + HEAP32[$1 + 44 >> 2] = $3; + HEAP32[$1 + 48 >> 2] = $0; + HEAPF32[$1 + 52 >> 2] = HEAPF32[$1 + 56 >> 2]; + break label$1; + } + if (HEAP32[$1 >> 2] != 2) { + __assert_fail(1677, 4100, 307, 10425); + wasm2js_trap(); + } + $3 = HEAP32[7691]; + $0 = HEAP32[7690]; + HEAP32[$2 + 64 >> 2] = $0; + HEAP32[$2 + 68 >> 2] = $3; + HEAP32[$2 + 60 >> 2] = HEAP32[$1 + 100 >> 2]; + while (1) { + if (HEAP32[$2 + 60 >> 2]) { + if (HEAPF32[HEAP32[$2 + 60 >> 2] >> 2] != Math_fround(0)) { + b2MassData__b2MassData_28_29($2 + 44 | 0); + b2Fixture__GetMassData_28b2MassData__29_20const(HEAP32[$2 + 60 >> 2], $2 + 44 | 0); + HEAPF32[$1 + 116 >> 2] = HEAPF32[$1 + 116 >> 2] + HEAPF32[$2 + 44 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($2 + 36 | 0, HEAPF32[$2 + 44 >> 2], $2 + 48 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 - -64 | 0, $2 + 36 | 0); + HEAPF32[$1 + 124 >> 2] = HEAPF32[$1 + 124 >> 2] + HEAPF32[$2 + 56 >> 2]; + } + HEAP32[$2 + 60 >> 2] = HEAP32[HEAP32[$2 + 60 >> 2] + 4 >> 2]; + continue; + } + break; + } + if (HEAPF32[$1 + 116 >> 2] > Math_fround(0)) { + HEAPF32[$1 + 120 >> 2] = Math_fround(1) / HEAPF32[$1 + 116 >> 2]; + b2Vec2__operator___28float_29($2 - -64 | 0, HEAPF32[$1 + 120 >> 2]); + } + label$9: { + if (!(!(HEAPF32[$1 + 124 >> 2] > Math_fround(0)) | HEAPU16[$1 + 4 >> 1] & 16)) { + $0 = $2 - -64 | 0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$1 + 116 >> 2]) * b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $0)) + HEAPF32[$1 + 124 >> 2]), + HEAPF32[wasm2js_i32$0 + 124 >> 2] = wasm2js_f32$0; + if (!(HEAPF32[$1 + 124 >> 2] > Math_fround(0))) { + __assert_fail(8118, 4100, 336, 10425); + wasm2js_trap(); + } + HEAPF32[$1 + 128 >> 2] = Math_fround(1) / HEAPF32[$1 + 124 >> 2]; + break label$9; + } + HEAPF32[$1 + 124 >> 2] = 0; + HEAPF32[$1 + 128 >> 2] = 0; + } + $0 = HEAP32[$1 + 48 >> 2]; + $3 = HEAP32[$1 + 44 >> 2]; + HEAP32[$2 + 24 >> 2] = $3; + HEAP32[$2 + 28 >> 2] = $0; + $3 = HEAP32[$2 + 68 >> 2]; + $0 = HEAP32[$2 + 64 >> 2]; + HEAP32[$1 + 28 >> 2] = $0; + HEAP32[$1 + 32 >> 2] = $3; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($2 + 16 | 0, $1 + 12 | 0, $1 + 28 | 0); + $0 = HEAP32[$2 + 20 >> 2]; + $3 = HEAP32[$2 + 16 >> 2]; + HEAP32[$1 + 44 >> 2] = $3; + HEAP32[$1 + 48 >> 2] = $0; + $3 = HEAP32[$1 + 48 >> 2]; + $0 = HEAP32[$1 + 44 >> 2]; + HEAP32[$1 + 36 >> 2] = $0; + HEAP32[$1 + 40 >> 2] = $3; + $4 = HEAPF32[$1 + 72 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2, $1 + 44 | 0, $2 + 24 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 8 | 0, $4, $2); + b2Vec2__operator___28b2Vec2_20const__29($1 - -64 | 0, $2 + 8 | 0); + } + __stack_pointer = $2 + 80 | 0; +} +function b2Joint__Draw_28b2Draw__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 112 | 0; + __stack_pointer = $2; + HEAP32[$2 + 108 >> 2] = $0; + HEAP32[$2 + 104 >> 2] = $1; + $1 = HEAP32[$2 + 108 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetTransform_28_29_20const(HEAP32[$1 + 48 >> 2]), + HEAP32[wasm2js_i32$0 + 100 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetTransform_28_29_20const(HEAP32[$1 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 96 >> 2] = wasm2js_i32$1; + $3 = HEAP32[$2 + 100 >> 2]; + $4 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + HEAP32[$2 + 88 >> 2] = $4; + HEAP32[$2 + 92 >> 2] = $0; + $3 = HEAP32[$2 + 96 >> 2]; + $0 = HEAP32[$3 >> 2]; + $4 = HEAP32[$3 + 4 >> 2]; + HEAP32[$2 + 80 >> 2] = $0; + HEAP32[$2 + 84 >> 2] = $4; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] >> 2]]($2 + 72 | 0, $1); + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 4 >> 2]]($2 - -64 | 0, $1); + b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($2 + 48 | 0, Math_fround(.5), Math_fround(.800000011920929), Math_fround(.800000011920929), Math_fround(1)); + label$1: { + label$2: { + switch (HEAP32[$1 + 4 >> 2] - 3 | 0) { + case 0: + $0 = HEAP32[$2 + 104 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 72 | 0, $2 - -64 | 0, $2 + 48 | 0); + break label$1; + + case 1: + HEAP32[$2 + 44 >> 2] = $1; + b2PulleyJoint__GetGroundAnchorA_28_29_20const($2 + 36 | 0, HEAP32[$2 + 44 >> 2]); + b2PulleyJoint__GetGroundAnchorB_28_29_20const($2 + 28 | 0, HEAP32[$2 + 44 >> 2]); + $0 = HEAP32[$2 + 104 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 36 | 0, $2 + 72 | 0, $2 + 48 | 0); + $0 = HEAP32[$2 + 104 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 28 | 0, $2 - -64 | 0, $2 + 48 | 0); + $0 = HEAP32[$2 + 104 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 36 | 0, $2 + 28 | 0, $2 + 48 | 0); + break label$1; + + case 2: + b2Color__b2Color_28_29($2 + 12 | 0); + b2Color__Set_28float_2c_20float_2c_20float_2c_20float_29($2 + 12 | 0, Math_fround(0), Math_fround(1), Math_fround(0), Math_fround(1)); + $0 = HEAP32[$2 + 104 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 32 >> 2]]($0, $2 + 72 | 0, Math_fround(4), $2 + 12 | 0); + $0 = HEAP32[$2 + 104 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 32 >> 2]]($0, $2 - -64 | 0, Math_fround(4), $2 + 12 | 0); + b2Color__Set_28float_2c_20float_2c_20float_2c_20float_29($2 + 12 | 0, Math_fround(.800000011920929), Math_fround(.800000011920929), Math_fround(.800000011920929), Math_fround(1)); + $0 = HEAP32[$2 + 104 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 72 | 0, $2 - -64 | 0, $2 + 12 | 0); + break label$1; + + default: + break label$2; + } + } + $0 = HEAP32[$2 + 104 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 88 | 0, $2 + 72 | 0, $2 + 48 | 0); + $0 = HEAP32[$2 + 104 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 72 | 0, $2 - -64 | 0, $2 + 48 | 0); + $0 = HEAP32[$2 + 104 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $2 + 80 | 0, $2 - -64 | 0, $2 + 48 | 0); + } + __stack_pointer = $2 + 112 | 0; +} + +function std____2__pair_std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool__20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______emplace_unique_key_args_b2Fixture__2c_20b2Fixture__20const___28b2Fixture__20const__2c_20b2Fixture__20const__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[$4 + 44 >> 2] = $1; + HEAP32[$4 + 40 >> 2] = $2; + HEAP32[$4 + 36 >> 2] = $3; + $1 = HEAP32[$4 + 44 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2____tree_node_base_void_____20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______find_equal_b2Fixture___28std____2____tree_end_node_std____2____tree_node_base_void_______2c_20b2Fixture__20const__29($1, $4 + 32 | 0, HEAP32[$4 + 40 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + HEAP32[$4 + 24 >> 2] = HEAP32[HEAP32[$4 + 28 >> 2] >> 2]; + HEAP8[$4 + 23 | 0] = 0; + if (!HEAP32[HEAP32[$4 + 28 >> 2] >> 2]) { + std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______construct_node_b2Fixture__20const___28b2Fixture__20const__29($4 + 8 | 0, $1, HEAP32[$4 + 36 >> 2]); + std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______insert_node_at_28std____2____tree_end_node_std____2____tree_node_base_void______2c_20std____2____tree_node_base_void_____2c_20std____2____tree_node_base_void____29($1, HEAP32[$4 + 32 >> 2], HEAP32[$4 + 28 >> 2], std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______get_5babi_v160004_5d_28_29_20const($4 + 8 | 0)); + wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______release_5babi_v160004_5d_28_29($4 + 8 | 0), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + HEAP8[$4 + 23 | 0] = 1; + std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void________unique_ptr_5babi_v160004_5d_28_29($4 + 8 | 0); + } + std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____tree_iterator_5babi_v160004_5d_28std____2____tree_node_b2Fixture__2c_20void____29($4 + 4 | 0, HEAP32[$4 + 24 >> 2]); + std____2__pair_std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool___pair_5babi_v160004_5d_std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool__2c_20_28void__290__28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long____2c_20bool__29($0, $4 + 4 | 0, $4 + 23 | 0); + __stack_pointer = $4 + 48 | 0; +} + +function b2World__DestroyJoint_28b2Joint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + if (b2World__IsLocked_28_29_20const($0) & 1) { + __assert_fail(9133, 6161, 282, 2511); + wasm2js_trap(); + } + label$2: { + if (b2World__IsLocked_28_29_20const($0) & 1) { + break label$2; + } + HEAP8[$2 + 23 | 0] = HEAP8[HEAP32[$2 + 24 >> 2] + 61 | 0] & 1; + if (HEAP32[HEAP32[$2 + 24 >> 2] + 8 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 8 >> 2] + 12 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 12 >> 2]; + } + if (HEAP32[HEAP32[$2 + 24 >> 2] + 12 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 12 >> 2] + 8 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 8 >> 2]; + } + if (HEAP32[$2 + 24 >> 2] == HEAP32[$0 + 102952 >> 2]) { + HEAP32[$0 + 102952 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 12 >> 2]; + } + HEAP32[$2 + 16 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 48 >> 2]; + HEAP32[$2 + 12 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 52 >> 2]; + b2Body__SetAwake_28bool_29(HEAP32[$2 + 16 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$2 + 12 >> 2], 1); + if (HEAP32[HEAP32[$2 + 24 >> 2] + 24 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 24 >> 2] + 12 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 28 >> 2]; + } + if (HEAP32[HEAP32[$2 + 24 >> 2] + 28 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 28 >> 2] + 8 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 24 >> 2]; + } + if (HEAP32[HEAP32[$2 + 16 >> 2] + 108 >> 2] == (HEAP32[$2 + 24 >> 2] + 16 | 0)) { + HEAP32[HEAP32[$2 + 16 >> 2] + 108 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 28 >> 2]; + } + HEAP32[HEAP32[$2 + 24 >> 2] + 24 >> 2] = 0; + HEAP32[HEAP32[$2 + 24 >> 2] + 28 >> 2] = 0; + if (HEAP32[HEAP32[$2 + 24 >> 2] + 40 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 40 >> 2] + 12 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 44 >> 2]; + } + if (HEAP32[HEAP32[$2 + 24 >> 2] + 44 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 44 >> 2] + 8 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 40 >> 2]; + } + if (HEAP32[HEAP32[$2 + 12 >> 2] + 108 >> 2] == (HEAP32[$2 + 24 >> 2] + 32 | 0)) { + HEAP32[HEAP32[$2 + 12 >> 2] + 108 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 44 >> 2]; + } + HEAP32[HEAP32[$2 + 24 >> 2] + 40 >> 2] = 0; + HEAP32[HEAP32[$2 + 24 >> 2] + 44 >> 2] = 0; + b2Joint__Destroy_28b2Joint__2c_20b2BlockAllocator__29(HEAP32[$2 + 24 >> 2], $0); + if (HEAP32[$0 + 102960 >> 2] <= 0) { + __assert_fail(12255, 6161, 354, 2511); + wasm2js_trap(); + } + HEAP32[$0 + 102960 >> 2] = HEAP32[$0 + 102960 >> 2] - 1; + if (HEAP8[$2 + 23 | 0] & 1) { + break label$2; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetContactList_28_29(HEAP32[$2 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + while (1) { + if (HEAP32[$2 + 8 >> 2]) { + if (HEAP32[HEAP32[$2 + 8 >> 2] >> 2] == HEAP32[$2 + 16 >> 2]) { + b2Contact__FlagForFiltering_28_29(HEAP32[HEAP32[$2 + 8 >> 2] + 4 >> 2]); + } + HEAP32[$2 + 8 >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] + 12 >> 2]; + continue; + } + break; + } + } + __stack_pointer = $2 + 32 | 0; +} + +function b2World__DestroyBody_28b2Body__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + if (HEAP32[$0 + 102956 >> 2] <= 0) { + __assert_fail(12195, 6161, 141, 1615); + wasm2js_trap(); + } + if (b2World__IsLocked_28_29_20const($0) & 1) { + __assert_fail(9133, 6161, 142, 1615); + wasm2js_trap(); + } + if (!(b2World__IsLocked_28_29_20const($0) & 1)) { + HEAP32[$2 + 20 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 108 >> 2]; + while (1) { + if (HEAP32[$2 + 20 >> 2]) { + HEAP32[$2 + 16 >> 2] = HEAP32[$2 + 20 >> 2]; + HEAP32[$2 + 20 >> 2] = HEAP32[HEAP32[$2 + 20 >> 2] + 12 >> 2]; + if (HEAP32[$0 + 102976 >> 2]) { + $1 = HEAP32[$0 + 102976 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 8 >> 2]]($1, HEAP32[HEAP32[$2 + 16 >> 2] + 4 >> 2]); + } + b2World__DestroyJoint_28b2Joint__29($0, HEAP32[HEAP32[$2 + 16 >> 2] + 4 >> 2]); + HEAP32[HEAP32[$2 + 24 >> 2] + 108 >> 2] = HEAP32[$2 + 20 >> 2]; + continue; + } + break; + } + HEAP32[HEAP32[$2 + 24 >> 2] + 108 >> 2] = 0; + HEAP32[$2 + 12 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 112 >> 2]; + while (1) { + if (HEAP32[$2 + 12 >> 2]) { + HEAP32[$2 + 8 >> 2] = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 12 >> 2] = HEAP32[HEAP32[$2 + 12 >> 2] + 12 >> 2]; + b2ContactManager__Destroy_28b2Contact__29($0 + 102868 | 0, HEAP32[HEAP32[$2 + 8 >> 2] + 4 >> 2]); + continue; + } + break; + } + HEAP32[HEAP32[$2 + 24 >> 2] + 112 >> 2] = 0; + HEAP32[$2 + 4 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 100 >> 2]; + while (1) { + if (HEAP32[$2 + 4 >> 2]) { + HEAP32[$2 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$2 + 4 >> 2] = HEAP32[HEAP32[$2 + 4 >> 2] + 4 >> 2]; + if (HEAP32[$0 + 102976 >> 2]) { + $1 = HEAP32[$0 + 102976 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 12 >> 2]]($1, HEAP32[$2 >> 2]); + } + b2Fixture__DestroyProxies_28b2BroadPhase__29(HEAP32[$2 >> 2], $0 + 102868 | 0); + b2Fixture__Destroy_28b2BlockAllocator__29(HEAP32[$2 >> 2], $0); + b2BlockAllocator__Free_28void__2c_20int_29($0, HEAP32[$2 >> 2], 44); + HEAP32[HEAP32[$2 + 24 >> 2] + 100 >> 2] = HEAP32[$2 + 4 >> 2]; + $1 = HEAP32[$2 + 24 >> 2]; + HEAP32[$1 + 104 >> 2] = HEAP32[$1 + 104 >> 2] - 1; + continue; + } + break; + } + HEAP32[HEAP32[$2 + 24 >> 2] + 100 >> 2] = 0; + HEAP32[HEAP32[$2 + 24 >> 2] + 104 >> 2] = 0; + if (HEAP32[HEAP32[$2 + 24 >> 2] + 92 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 92 >> 2] + 96 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 96 >> 2]; + } + if (HEAP32[HEAP32[$2 + 24 >> 2] + 96 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 96 >> 2] + 92 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 92 >> 2]; + } + if (HEAP32[$2 + 24 >> 2] == HEAP32[$0 + 102948 >> 2]) { + HEAP32[$0 + 102948 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 96 >> 2]; + } + HEAP32[$0 + 102956 >> 2] = HEAP32[$0 + 102956 >> 2] - 1; + b2Body___b2Body_28_29(HEAP32[$2 + 24 >> 2]); + b2BlockAllocator__Free_28void__2c_20int_29($0, HEAP32[$2 + 24 >> 2], 152); + } + __stack_pointer = $2 + 32 | 0; +} + +function b2BlockAllocator__Allocate_28int_29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer + -64 | 0; + __stack_pointer = $2; + HEAP32[$2 + 56 >> 2] = $0; + HEAP32[$2 + 52 >> 2] = $1; + $0 = HEAP32[$2 + 56 >> 2]; + label$1: { + if (!HEAP32[$2 + 52 >> 2]) { + HEAP32[$2 + 60 >> 2] = 0; + break label$1; + } + if (HEAP32[$2 + 52 >> 2] <= 0) { + __assert_fail(8597, 5349, 118, 8952); + wasm2js_trap(); + } + if (HEAP32[$2 + 52 >> 2] > 640) { + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Alloc_28int_29(HEAP32[$2 + 52 >> 2]), HEAP32[wasm2js_i32$0 + 60 >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[$2 + 48 >> 2] = HEAPU8[HEAP32[$2 + 52 >> 2] + 30116 | 0]; + if (!(HEAP32[$2 + 48 >> 2] < 14 & HEAP32[$2 + 48 >> 2] >= 0)) { + __assert_fail(2135, 5349, 126, 8952); + wasm2js_trap(); + } + if (HEAP32[($0 + 12 | 0) + (HEAP32[$2 + 48 >> 2] << 2) >> 2]) { + HEAP32[$2 + 44 >> 2] = HEAP32[($0 + 12 | 0) + (HEAP32[$2 + 48 >> 2] << 2) >> 2]; + HEAP32[($0 + 12 | 0) + (HEAP32[$2 + 48 >> 2] << 2) >> 2] = HEAP32[HEAP32[$2 + 44 >> 2] >> 2]; + HEAP32[$2 + 60 >> 2] = HEAP32[$2 + 44 >> 2]; + break label$1; + } + if (HEAP32[$0 + 4 >> 2] == HEAP32[$0 + 8 >> 2]) { + HEAP32[$2 + 40 >> 2] = HEAP32[$0 >> 2]; + HEAP32[$0 + 8 >> 2] = HEAP32[$0 + 8 >> 2] + 128; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Alloc_28int_29(HEAP32[$0 + 8 >> 2] << 3), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __memcpy(HEAP32[$0 >> 2], HEAP32[$2 + 40 >> 2], HEAP32[$0 + 4 >> 2] << 3); + __memset(HEAP32[$0 >> 2] + (HEAP32[$0 + 4 >> 2] << 3) | 0, 0, 1024); + b2Free_28void__29(HEAP32[$2 + 40 >> 2]); + } + HEAP32[$2 + 36 >> 2] = HEAP32[$0 >> 2] + (HEAP32[$0 + 4 >> 2] << 3); + $1 = b2Alloc_28int_29(16384); + HEAP32[HEAP32[$2 + 36 >> 2] + 4 >> 2] = $1; + HEAP32[$2 + 32 >> 2] = HEAP32[(HEAP32[$2 + 48 >> 2] << 2) + 18128 >> 2]; + HEAP32[HEAP32[$2 + 36 >> 2] >> 2] = HEAP32[$2 + 32 >> 2]; + HEAP32[$2 + 28 >> 2] = 16384 / HEAP32[$2 + 32 >> 2]; + if ((Math_imul(HEAP32[$2 + 28 >> 2], HEAP32[$2 + 32 >> 2]) | 0) > 16384) { + __assert_fail(8617, 5349, 154, 8952); + wasm2js_trap(); + } + HEAP32[$2 + 24 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 24 >> 2] < (HEAP32[$2 + 28 >> 2] - 1 | 0)) { + HEAP32[$2 + 20 >> 2] = HEAP32[HEAP32[$2 + 36 >> 2] + 4 >> 2] + Math_imul(HEAP32[$2 + 32 >> 2], HEAP32[$2 + 24 >> 2]); + HEAP32[$2 + 16 >> 2] = HEAP32[HEAP32[$2 + 36 >> 2] + 4 >> 2] + Math_imul(HEAP32[$2 + 32 >> 2], HEAP32[$2 + 24 >> 2] + 1 | 0); + HEAP32[HEAP32[$2 + 20 >> 2] >> 2] = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 24 >> 2] = HEAP32[$2 + 24 >> 2] + 1; + continue; + } + break; + } + HEAP32[$2 + 12 >> 2] = HEAP32[HEAP32[$2 + 36 >> 2] + 4 >> 2] + Math_imul(HEAP32[$2 + 32 >> 2], HEAP32[$2 + 28 >> 2] - 1 | 0); + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] = 0; + HEAP32[($0 + 12 | 0) + (HEAP32[$2 + 48 >> 2] << 2) >> 2] = HEAP32[HEAP32[HEAP32[$2 + 36 >> 2] + 4 >> 2] >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] + 1; + HEAP32[$2 + 60 >> 2] = HEAP32[HEAP32[$2 + 36 >> 2] + 4 >> 2]; + } + __stack_pointer = $2 - -64 | 0; + return HEAP32[$2 + 60 >> 2]; +} + +function std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______construct_node_b2Fixture__20const___28b2Fixture__20const__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $1; + HEAP32[$3 + 24 >> 2] = $2; + wasm2js_i32$0 = $3, wasm2js_i32$1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______node_alloc_5babi_v160004_5d_28_29(HEAP32[$3 + 28 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + HEAP8[$3 + 19 | 0] = 0; + $1 = std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______allocate_5babi_v160004_5d_28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20unsigned_20long_29(HEAP32[$3 + 20 >> 2], 1); + std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void________tree_node_destructor_5babi_v160004_5d_28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20bool_29($3 + 8 | 0, HEAP32[$3 + 20 >> 2], 0); + std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______unique_ptr_5babi_v160004_5d_true_2c_20void__28std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____dependent_type_std____2____unique_ptr_deleter_sfinae_std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______2c_20true_____good_rval_ref_type_29($0, $1, $3 + 8 | 0); + void_20std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______construct_5babi_v160004_5d_b2Fixture__2c_20b2Fixture__20const__2c_20void__28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20b2Fixture___2c_20b2Fixture__20const__29(HEAP32[$3 + 20 >> 2], std____2____tree_key_value_types_b2Fixture______get_ptr_5babi_v160004_5d_28b2Fixture___29(std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______operator___5babi_v160004_5d_28_29_20const($0) + 16 | 0), HEAP32[$3 + 24 >> 2]); + wasm2js_i32$0 = std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______get_deleter_5babi_v160004_5d_28_29($0), + wasm2js_i32$1 = 1, HEAP8[wasm2js_i32$0 + 4 | 0] = wasm2js_i32$1; + HEAP8[$3 + 19 | 0] = 1; + if (!(HEAP8[$3 + 19 | 0] & 1)) { + std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void________unique_ptr_5babi_v160004_5d_28_29($0); + } + __stack_pointer = $3 + 32 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______swap_out_circular_buffer_28std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_____29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______annotate_delete_5babi_v160004_5d_28_29_20const($0); + $1 = std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______alloc_5babi_v160004_5d_28_29($0); + std____2__reverse_iterator_b2Vec2____reverse_iterator_5babi_v160004_5d_28b2Vec2__29($2 + 16 | 0, HEAP32[$0 + 4 >> 2]); + std____2__reverse_iterator_b2Vec2____reverse_iterator_5babi_v160004_5d_28b2Vec2__29($2 + 12 | 0, HEAP32[$0 >> 2]); + std____2__reverse_iterator_b2Vec2____reverse_iterator_5babi_v160004_5d_28b2Vec2__29($2 + 8 | 0, HEAP32[HEAP32[$2 + 24 >> 2] + 4 >> 2]); + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__reverse_iterator_b2Vec2___20std____2____uninitialized_allocator_move_if_noexcept_5babi_v160004_5d_std____2__allocator_b2Vec2__2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20b2Vec2_2c_20void__28std____2__allocator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($1, HEAP32[$2 + 16 >> 2], HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + $1 = std____2__reverse_iterator_b2Vec2____base_5babi_v160004_5d_28_29_20const($2 + 20 | 0); + HEAP32[HEAP32[$2 + 24 >> 2] + 4 >> 2] = $1; + std____2__enable_if_is_move_constructible_b2Vec2____value_20___20is_move_assignable_b2Vec2____value_2c_20void___type_20std____2__swap_5babi_v160004_5d_b2Vec2___28b2Vec2___2c_20b2Vec2___29($0, HEAP32[$2 + 24 >> 2] + 4 | 0); + std____2__enable_if_is_move_constructible_b2Vec2____value_20___20is_move_assignable_b2Vec2____value_2c_20void___type_20std____2__swap_5babi_v160004_5d_b2Vec2___28b2Vec2___2c_20b2Vec2___29($0 + 4 | 0, HEAP32[$2 + 24 >> 2] + 8 | 0); + std____2__enable_if_is_move_constructible_b2Vec2____value_20___20is_move_assignable_b2Vec2____value_2c_20void___type_20std____2__swap_5babi_v160004_5d_b2Vec2___28b2Vec2___2c_20b2Vec2___29(std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______end_cap_5babi_v160004_5d_28_29($0), std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______end_cap_5babi_v160004_5d_28_29(HEAP32[$2 + 24 >> 2])); + HEAP32[HEAP32[$2 + 24 >> 2] >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 4 >> 2]; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______annotate_new_5babi_v160004_5d_28unsigned_20long_29_20const($0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const($0)); + void_20std____2____debug_db_invalidate_all_5babi_v160004_5d_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($0); + __stack_pointer = $2 + 32 | 0; +} + +function b2ClipSegmentToLine_28b2ClipVertex__2c_20b2ClipVertex_20const__2c_20b2Vec2_20const__2c_20float_2c_20int_29($0, $1, $2, $3, $4) { + var $5 = 0, $6 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer + -64 | 0; + __stack_pointer = $5; + HEAP32[$5 + 60 >> 2] = $0; + HEAP32[$5 + 56 >> 2] = $1; + HEAP32[$5 + 52 >> 2] = $2; + HEAPF32[$5 + 48 >> 2] = $3; + HEAP32[$5 + 44 >> 2] = $4; + HEAP32[$5 + 40 >> 2] = 0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$5 + 52 >> 2], HEAP32[$5 + 56 >> 2]) - HEAPF32[$5 + 48 >> 2]), + HEAPF32[wasm2js_i32$0 + 36 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$5 + 52 >> 2], HEAP32[$5 + 56 >> 2] + 12 | 0) - HEAPF32[$5 + 48 >> 2]), + HEAPF32[wasm2js_i32$0 + 32 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 36 >> 2] <= Math_fround(0)) { + $0 = HEAP32[$5 + 56 >> 2]; + $7 = HEAP32[$5 + 60 >> 2]; + $6 = HEAP32[$5 + 40 >> 2]; + HEAP32[$5 + 40 >> 2] = $6 + 1; + $1 = HEAP32[$0 >> 2]; + $2 = HEAP32[$0 + 4 >> 2]; + $4 = $1; + $1 = Math_imul($6, 12) + $7 | 0; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $2; + HEAP32[$1 + 8 >> 2] = HEAP32[$0 + 8 >> 2]; + } + if (HEAPF32[$5 + 32 >> 2] <= Math_fround(0)) { + $0 = HEAP32[$5 + 56 >> 2]; + $7 = HEAP32[$5 + 60 >> 2]; + $6 = HEAP32[$5 + 40 >> 2]; + HEAP32[$5 + 40 >> 2] = $6 + 1; + $2 = HEAP32[$0 + 12 >> 2]; + $1 = HEAP32[$0 + 16 >> 2]; + $4 = $2; + $2 = Math_imul($6, 12) + $7 | 0; + HEAP32[$2 >> 2] = $4; + HEAP32[$2 + 4 >> 2] = $1; + HEAP32[$2 + 8 >> 2] = HEAP32[$0 + 20 >> 2]; + } + if (Math_fround(HEAPF32[$5 + 36 >> 2] * HEAPF32[$5 + 32 >> 2]) < Math_fround(0)) { + HEAPF32[$5 + 28 >> 2] = HEAPF32[$5 + 36 >> 2] / Math_fround(HEAPF32[$5 + 36 >> 2] - HEAPF32[$5 + 32 >> 2]); + $0 = HEAP32[$5 + 56 >> 2]; + $3 = HEAPF32[$5 + 28 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 4 | 0, HEAP32[$5 + 56 >> 2] + 12 | 0, HEAP32[$5 + 56 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($5 + 12 | 0, $3, $5 + 4 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($5 + 20 | 0, $0, $5 + 12 | 0); + $2 = HEAP32[$5 + 24 >> 2]; + $1 = HEAP32[$5 + 20 >> 2]; + $0 = $1; + $1 = HEAP32[$5 + 60 >> 2] + Math_imul(HEAP32[$5 + 40 >> 2], 12) | 0; + HEAP32[$1 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = $2; + HEAP8[(HEAP32[$5 + 60 >> 2] + Math_imul(HEAP32[$5 + 40 >> 2], 12) | 0) + 8 | 0] = HEAP32[$5 + 44 >> 2]; + HEAP8[(HEAP32[$5 + 60 >> 2] + Math_imul(HEAP32[$5 + 40 >> 2], 12) | 0) + 9 | 0] = HEAPU8[HEAP32[$5 + 56 >> 2] + 9 | 0]; + HEAP8[(HEAP32[$5 + 60 >> 2] + Math_imul(HEAP32[$5 + 40 >> 2], 12) | 0) + 10 | 0] = 0; + HEAP8[(HEAP32[$5 + 60 >> 2] + Math_imul(HEAP32[$5 + 40 >> 2], 12) | 0) + 11 | 0] = 1; + HEAP32[$5 + 40 >> 2] = HEAP32[$5 + 40 >> 2] + 1; + if (HEAP32[$5 + 40 >> 2] != 2) { + __assert_fail(12083, 5557, 233, 9400); + wasm2js_trap(); + } + } + __stack_pointer = $5 - -64 | 0; + return HEAP32[$5 + 40 >> 2]; +} + +function b2FindIncidentEdge_28b2ClipVertex__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__2c_20int_2c_20b2PolygonShape_20const__2c_20b2Transform_20const__29($0, $1, $2, $3, $4, $5) { + var $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 96 | 0; + __stack_pointer = $6; + HEAP32[$6 + 92 >> 2] = $0; + HEAP32[$6 + 88 >> 2] = $1; + HEAP32[$6 + 84 >> 2] = $2; + HEAP32[$6 + 80 >> 2] = $3; + HEAP32[$6 + 76 >> 2] = $4; + HEAP32[$6 + 72 >> 2] = $5; + HEAP32[$6 + 68 >> 2] = HEAP32[$6 + 88 >> 2] + 84; + HEAP32[$6 + 64 >> 2] = HEAP32[HEAP32[$6 + 76 >> 2] + 148 >> 2]; + HEAP32[$6 + 60 >> 2] = HEAP32[$6 + 76 >> 2] + 20; + HEAP32[$6 + 56 >> 2] = HEAP32[$6 + 76 >> 2] + 84; + if (!(HEAP32[$6 + 80 >> 2] < HEAP32[HEAP32[$6 + 88 >> 2] + 148 >> 2] & HEAP32[$6 + 80 >> 2] >= 0)) { + __assert_fail(1930, 5623, 78, 9793); + wasm2js_trap(); + } + $0 = HEAP32[$6 + 72 >> 2]; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($6 + 40 | 0, HEAP32[$6 + 84 >> 2] + 8 | 0, HEAP32[$6 + 68 >> 2] + (HEAP32[$6 + 80 >> 2] << 3) | 0); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($6 + 48 | 0, $0 + 8 | 0, $6 + 40 | 0); + HEAP32[$6 + 36 >> 2] = 0; + HEAPF32[$6 + 32 >> 2] = 34028234663852886e22; + HEAP32[$6 + 28 >> 2] = 0; + while (1) { + if (HEAP32[$6 + 28 >> 2] < HEAP32[$6 + 64 >> 2]) { + wasm2js_i32$0 = $6, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($6 + 48 | 0, HEAP32[$6 + 56 >> 2] + (HEAP32[$6 + 28 >> 2] << 3) | 0), + HEAPF32[wasm2js_i32$0 + 24 >> 2] = wasm2js_f32$0; + if (HEAPF32[$6 + 24 >> 2] < HEAPF32[$6 + 32 >> 2]) { + HEAPF32[$6 + 32 >> 2] = HEAPF32[$6 + 24 >> 2]; + HEAP32[$6 + 36 >> 2] = HEAP32[$6 + 28 >> 2]; + } + HEAP32[$6 + 28 >> 2] = HEAP32[$6 + 28 >> 2] + 1; + continue; + } + break; + } + HEAP32[$6 + 20 >> 2] = HEAP32[$6 + 36 >> 2]; + if (HEAP32[$6 + 64 >> 2] > (HEAP32[$6 + 20 >> 2] + 1 | 0)) { + $0 = HEAP32[$6 + 20 >> 2] + 1 | 0; + } else { + $0 = 0; + } + HEAP32[$6 + 16 >> 2] = $0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6 + 8 | 0, HEAP32[$6 + 72 >> 2], HEAP32[$6 + 60 >> 2] + (HEAP32[$6 + 20 >> 2] << 3) | 0); + $0 = HEAP32[$6 + 12 >> 2]; + $1 = HEAP32[$6 + 8 >> 2]; + $2 = $1; + $1 = HEAP32[$6 + 92 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAP8[HEAP32[$6 + 92 >> 2] + 8 | 0] = HEAP32[$6 + 80 >> 2]; + HEAP8[HEAP32[$6 + 92 >> 2] + 9 | 0] = HEAP32[$6 + 20 >> 2]; + HEAP8[HEAP32[$6 + 92 >> 2] + 10 | 0] = 1; + HEAP8[HEAP32[$6 + 92 >> 2] + 11 | 0] = 0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($6, HEAP32[$6 + 72 >> 2], HEAP32[$6 + 60 >> 2] + (HEAP32[$6 + 16 >> 2] << 3) | 0); + $1 = HEAP32[$6 + 4 >> 2]; + $0 = HEAP32[$6 >> 2]; + $2 = $0; + $0 = HEAP32[$6 + 92 >> 2]; + HEAP32[$0 + 12 >> 2] = $2; + HEAP32[$0 + 16 >> 2] = $1; + HEAP8[HEAP32[$6 + 92 >> 2] + 20 | 0] = HEAP32[$6 + 80 >> 2]; + HEAP8[HEAP32[$6 + 92 >> 2] + 21 | 0] = HEAP32[$6 + 16 >> 2]; + HEAP8[HEAP32[$6 + 92 >> 2] + 22 | 0] = 1; + HEAP8[HEAP32[$6 + 92 >> 2] + 23 | 0] = 0; + __stack_pointer = $6 + 96 | 0; +} + +function b2DynamicTree__RemoveLeaf_28int_29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + label$1: { + if (HEAP32[$2 + 24 >> 2] == HEAP32[$0 >> 2]) { + HEAP32[$0 >> 2] = -1; + break label$1; + } + HEAP32[$2 + 20 >> 2] = HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 24 >> 2], 40) | 0) + 20 >> 2]; + HEAP32[$2 + 16 >> 2] = HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 20 >> 2], 40) | 0) + 20 >> 2]; + label$3: { + if (HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 20 >> 2], 40) | 0) + 24 >> 2] == HEAP32[$2 + 24 >> 2]) { + HEAP32[$2 + 12 >> 2] = HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 20 >> 2], 40) | 0) + 28 >> 2]; + break label$3; + } + HEAP32[$2 + 12 >> 2] = HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 20 >> 2], 40) | 0) + 24 >> 2]; + } + if (HEAP32[$2 + 16 >> 2] != -1) { + label$6: { + if (HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 16 >> 2], 40) | 0) + 24 >> 2] == HEAP32[$2 + 20 >> 2]) { + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 16 >> 2], 40) | 0) + 24 >> 2] = HEAP32[$2 + 12 >> 2]; + break label$6; + } + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 16 >> 2], 40) | 0) + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + } + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 12 >> 2], 40) | 0) + 20 >> 2] = HEAP32[$2 + 16 >> 2]; + b2DynamicTree__FreeNode_28int_29($0, HEAP32[$2 + 20 >> 2]); + HEAP32[$2 + 8 >> 2] = HEAP32[$2 + 16 >> 2]; + while (1) { + if (HEAP32[$2 + 8 >> 2] != -1) { + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2DynamicTree__Balance_28int_29($0, HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + HEAP32[$2 + 4 >> 2] = HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 24 >> 2]; + HEAP32[$2 >> 2] = HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 28 >> 2]; + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0, HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 4 >> 2], 40) | 0, HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 >> 2], 40) | 0); + $1 = int_20b2Max_int__28int_2c_20int_29(HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 4 >> 2], 40) | 0) + 32 >> 2], HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 >> 2], 40) | 0) + 32 >> 2]); + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 32 >> 2] = $1 + 1; + HEAP32[$2 + 8 >> 2] = HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 20 >> 2]; + continue; + } + break; + } + break label$1; + } + HEAP32[$0 >> 2] = HEAP32[$2 + 12 >> 2]; + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 12 >> 2], 40) | 0) + 20 >> 2] = -1; + b2DynamicTree__FreeNode_28int_29($0, HEAP32[$2 + 20 >> 2]); + } + __stack_pointer = $2 + 32 | 0; +} + +function b2Simplex__GetWitnessPoints_28b2Vec2__2c_20b2Vec2__29_20const($0, $1, $2) { + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 112 | 0; + __stack_pointer = $3; + HEAP32[$3 + 108 >> 2] = $0; + HEAP32[$3 + 104 >> 2] = $1; + HEAP32[$3 + 100 >> 2] = $2; + label$1: { + label$2: { + label$3: { + label$4: { + label$5: { + label$6: { + $2 = HEAP32[$3 + 108 >> 2]; + switch (HEAP32[$2 + 108 >> 2]) { + case 3: + break label$3; + + case 2: + break label$4; + + case 1: + break label$5; + + case 0: + break label$6; + + default: + break label$2; + } + } + __assert_fail(9147, 6034, 228, 3272); + wasm2js_trap(); + } + $0 = HEAP32[$2 + 4 >> 2]; + $1 = HEAP32[$2 >> 2]; + $4 = $1; + $1 = HEAP32[$3 + 104 >> 2]; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + $1 = HEAP32[$2 + 12 >> 2]; + $0 = HEAP32[$2 + 8 >> 2]; + $2 = $0; + $0 = HEAP32[$3 + 100 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + break label$1; + } + operator__28float_2c_20b2Vec2_20const__29($3 + 84 | 0, HEAPF32[$2 + 24 >> 2], $2); + operator__28float_2c_20b2Vec2_20const__29($3 + 76 | 0, HEAPF32[$2 + 60 >> 2], $2 + 36 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 92 | 0, $3 + 84 | 0, $3 + 76 | 0); + $0 = HEAP32[$3 + 96 >> 2]; + $1 = HEAP32[$3 + 92 >> 2]; + $4 = $1; + $1 = HEAP32[$3 + 104 >> 2]; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + operator__28float_2c_20b2Vec2_20const__29($3 + 60 | 0, HEAPF32[$2 + 24 >> 2], $2 + 8 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 52 | 0, HEAPF32[$2 + 60 >> 2], $2 + 44 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 68 | 0, $3 + 60 | 0, $3 + 52 | 0); + $1 = HEAP32[$3 + 72 >> 2]; + $0 = HEAP32[$3 + 68 >> 2]; + $2 = $0; + $0 = HEAP32[$3 + 100 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + break label$1; + } + operator__28float_2c_20b2Vec2_20const__29($3 + 28 | 0, HEAPF32[$2 + 24 >> 2], $2); + operator__28float_2c_20b2Vec2_20const__29($3 + 20 | 0, HEAPF32[$2 + 60 >> 2], $2 + 36 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 36 | 0, $3 + 28 | 0, $3 + 20 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 12 | 0, HEAPF32[$2 + 96 >> 2], $2 + 72 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 44 | 0, $3 + 36 | 0, $3 + 12 | 0); + $0 = HEAP32[$3 + 48 >> 2]; + $1 = HEAP32[$3 + 44 >> 2]; + $2 = $1; + $1 = HEAP32[$3 + 104 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + $1 = HEAP32[$3 + 104 >> 2]; + $0 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + $2 = $0; + $0 = HEAP32[$3 + 100 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + break label$1; + } + __assert_fail(9147, 6034, 247, 3272); + wasm2js_trap(); + } + __stack_pointer = $3 + 112 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______swap_out_circular_buffer_28std____2____split_buffer_int_2c_20std____2__allocator_int_____29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + std____2__vector_int_2c_20std____2__allocator_int______annotate_delete_5babi_v160004_5d_28_29_20const($0); + $1 = std____2__vector_int_2c_20std____2__allocator_int______alloc_5babi_v160004_5d_28_29($0); + std____2__reverse_iterator_int____reverse_iterator_5babi_v160004_5d_28int__29($2 + 16 | 0, HEAP32[$0 + 4 >> 2]); + std____2__reverse_iterator_int____reverse_iterator_5babi_v160004_5d_28int__29($2 + 12 | 0, HEAP32[$0 >> 2]); + std____2__reverse_iterator_int____reverse_iterator_5babi_v160004_5d_28int__29($2 + 8 | 0, HEAP32[HEAP32[$2 + 24 >> 2] + 4 >> 2]); + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__reverse_iterator_int___20std____2____uninitialized_allocator_move_if_noexcept_5babi_v160004_5d_std____2__allocator_int__2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20int_2c_20void__28std____2__allocator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($1, HEAP32[$2 + 16 >> 2], HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + $1 = std____2__reverse_iterator_int____base_5babi_v160004_5d_28_29_20const($2 + 20 | 0); + HEAP32[HEAP32[$2 + 24 >> 2] + 4 >> 2] = $1; + std____2__enable_if_is_move_constructible_int____value_20___20is_move_assignable_int____value_2c_20void___type_20std____2__swap_5babi_v160004_5d_int___28int___2c_20int___29($0, HEAP32[$2 + 24 >> 2] + 4 | 0); + std____2__enable_if_is_move_constructible_int____value_20___20is_move_assignable_int____value_2c_20void___type_20std____2__swap_5babi_v160004_5d_int___28int___2c_20int___29($0 + 4 | 0, HEAP32[$2 + 24 >> 2] + 8 | 0); + std____2__enable_if_is_move_constructible_int____value_20___20is_move_assignable_int____value_2c_20void___type_20std____2__swap_5babi_v160004_5d_int___28int___2c_20int___29(std____2__vector_int_2c_20std____2__allocator_int______end_cap_5babi_v160004_5d_28_29($0), std____2____split_buffer_int_2c_20std____2__allocator_int_______end_cap_5babi_v160004_5d_28_29(HEAP32[$2 + 24 >> 2])); + HEAP32[HEAP32[$2 + 24 >> 2] >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 4 >> 2]; + std____2__vector_int_2c_20std____2__allocator_int______annotate_new_5babi_v160004_5d_28unsigned_20long_29_20const($0, std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const($0)); + void_20std____2____debug_db_invalidate_all_5babi_v160004_5d_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____29($0); + __stack_pointer = $2 + 32 | 0; +} + +function b2World__CreateJoint_28b2JointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + $0 = HEAP32[$2 + 24 >> 2]; + if (b2World__IsLocked_28_29_20const($0) & 1) { + __assert_fail(9133, 6161, 222, 2586); + wasm2js_trap(); + } + label$2: { + if (b2World__IsLocked_28_29_20const($0) & 1) { + HEAP32[$2 + 28 >> 2] = 0; + break label$2; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Joint__Create_28b2JointDef_20const__2c_20b2BlockAllocator__29(HEAP32[$2 + 20 >> 2], $0), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + HEAP32[HEAP32[$2 + 16 >> 2] + 8 >> 2] = 0; + HEAP32[HEAP32[$2 + 16 >> 2] + 12 >> 2] = HEAP32[$0 + 102952 >> 2]; + if (HEAP32[$0 + 102952 >> 2]) { + HEAP32[HEAP32[$0 + 102952 >> 2] + 8 >> 2] = HEAP32[$2 + 16 >> 2]; + } + HEAP32[$0 + 102952 >> 2] = HEAP32[$2 + 16 >> 2]; + HEAP32[$0 + 102960 >> 2] = HEAP32[$0 + 102960 >> 2] + 1; + HEAP32[HEAP32[$2 + 16 >> 2] + 20 >> 2] = HEAP32[$2 + 16 >> 2]; + HEAP32[HEAP32[$2 + 16 >> 2] + 16 >> 2] = HEAP32[HEAP32[$2 + 16 >> 2] + 52 >> 2]; + HEAP32[HEAP32[$2 + 16 >> 2] + 24 >> 2] = 0; + HEAP32[HEAP32[$2 + 16 >> 2] + 28 >> 2] = HEAP32[HEAP32[HEAP32[$2 + 16 >> 2] + 48 >> 2] + 108 >> 2]; + if (HEAP32[HEAP32[HEAP32[$2 + 16 >> 2] + 48 >> 2] + 108 >> 2]) { + HEAP32[HEAP32[HEAP32[HEAP32[$2 + 16 >> 2] + 48 >> 2] + 108 >> 2] + 8 >> 2] = HEAP32[$2 + 16 >> 2] + 16; + } + HEAP32[HEAP32[HEAP32[$2 + 16 >> 2] + 48 >> 2] + 108 >> 2] = HEAP32[$2 + 16 >> 2] + 16; + HEAP32[HEAP32[$2 + 16 >> 2] + 36 >> 2] = HEAP32[$2 + 16 >> 2]; + HEAP32[HEAP32[$2 + 16 >> 2] + 32 >> 2] = HEAP32[HEAP32[$2 + 16 >> 2] + 48 >> 2]; + HEAP32[HEAP32[$2 + 16 >> 2] + 40 >> 2] = 0; + HEAP32[HEAP32[$2 + 16 >> 2] + 44 >> 2] = HEAP32[HEAP32[HEAP32[$2 + 16 >> 2] + 52 >> 2] + 108 >> 2]; + if (HEAP32[HEAP32[HEAP32[$2 + 16 >> 2] + 52 >> 2] + 108 >> 2]) { + HEAP32[HEAP32[HEAP32[HEAP32[$2 + 16 >> 2] + 52 >> 2] + 108 >> 2] + 8 >> 2] = HEAP32[$2 + 16 >> 2] + 32; + } + HEAP32[HEAP32[HEAP32[$2 + 16 >> 2] + 52 >> 2] + 108 >> 2] = HEAP32[$2 + 16 >> 2] + 32; + HEAP32[$2 + 12 >> 2] = HEAP32[HEAP32[$2 + 20 >> 2] + 8 >> 2]; + HEAP32[$2 + 8 >> 2] = HEAP32[HEAP32[$2 + 20 >> 2] + 12 >> 2]; + if (!(HEAP8[HEAP32[$2 + 20 >> 2] + 16 | 0] & 1)) { + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Body__GetContactList_28_29(HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + while (1) { + if (HEAP32[$2 + 4 >> 2]) { + if (HEAP32[HEAP32[$2 + 4 >> 2] >> 2] == HEAP32[$2 + 12 >> 2]) { + b2Contact__FlagForFiltering_28_29(HEAP32[HEAP32[$2 + 4 >> 2] + 4 >> 2]); + } + HEAP32[$2 + 4 >> 2] = HEAP32[HEAP32[$2 + 4 >> 2] + 12 >> 2]; + continue; + } + break; + } + } + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 16 >> 2]; + } + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function ComputeCentroid_28b2Vec2_20const__2c_20int_29($0, $1, $2) { + var $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 128 | 0; + __stack_pointer = $3; + HEAP32[$3 + 124 >> 2] = $1; + HEAP32[$3 + 120 >> 2] = $2; + if (HEAP32[$3 + 120 >> 2] < 3) { + __assert_fail(11995, 5758, 82, 10113); + wasm2js_trap(); + } + b2Vec2__b2Vec2_28float_2c_20float_29($0, Math_fround(0), Math_fround(0)); + HEAPF32[$3 + 116 >> 2] = 0; + $2 = HEAP32[$3 + 124 >> 2]; + $1 = HEAP32[$2 >> 2]; + $2 = HEAP32[$2 + 4 >> 2]; + HEAP32[$3 + 104 >> 2] = $1; + HEAP32[$3 + 108 >> 2] = $2; + HEAPF32[$3 + 100 >> 2] = .3333333432674408; + HEAP32[$3 + 96 >> 2] = 0; + while (1) { + if (HEAP32[$3 + 96 >> 2] < HEAP32[$3 + 120 >> 2]) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 88 | 0, HEAP32[$3 + 124 >> 2], $3 + 104 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 80 | 0, HEAP32[$3 + 124 >> 2] + (HEAP32[$3 + 96 >> 2] << 3) | 0, $3 + 104 | 0); + label$4: { + if (HEAP32[$3 + 120 >> 2] > (HEAP32[$3 + 96 >> 2] + 1 | 0)) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 72 | 0, HEAP32[$3 + 124 >> 2] + (HEAP32[$3 + 96 >> 2] + 1 << 3) | 0, $3 + 104 | 0); + break label$4; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 72 | 0, HEAP32[$3 + 124 >> 2], $3 + 104 | 0); + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 - -64 | 0, $3 + 80 | 0, $3 + 88 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 56 | 0, $3 + 72 | 0, $3 + 88 | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 - -64 | 0, $3 + 56 | 0), + HEAPF32[wasm2js_i32$0 + 52 >> 2] = wasm2js_f32$0; + HEAPF32[$3 + 48 >> 2] = HEAPF32[$3 + 52 >> 2] * Math_fround(.5); + HEAPF32[$3 + 116 >> 2] = HEAPF32[$3 + 116 >> 2] + HEAPF32[$3 + 48 >> 2]; + $4 = HEAPF32[$3 + 48 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 24 | 0, $3 + 88 | 0, $3 + 80 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 32 | 0, $3 + 24 | 0, $3 + 72 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 40 | 0, Math_fround($4 * Math_fround(.3333333432674408)), $3 + 32 | 0); + b2Vec2__operator___28b2Vec2_20const__29($0, $3 + 40 | 0); + HEAP32[$3 + 96 >> 2] = HEAP32[$3 + 96 >> 2] + 1; + continue; + } + break; + } + if (!(HEAPF32[$3 + 116 >> 2] > Math_fround(1.1920928955078125e-7))) { + __assert_fail(10884, 5758, 113, 10113); + wasm2js_trap(); + } + operator__28float_2c_20b2Vec2_20const__29($3 + 8 | 0, Math_fround(Math_fround(1) / HEAPF32[$3 + 116 >> 2]), $0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 16 | 0, $3 + 8 | 0, $3 + 104 | 0); + $1 = HEAP32[$3 + 20 >> 2]; + $2 = HEAP32[$3 + 16 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + __stack_pointer = $3 + 128 | 0; +} + +function __cxxabiv1____pointer_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0; + $3 = __stack_pointer + -64 | 0; + __stack_pointer = $3; + label$1: { + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($1, 24288, 0)) { + HEAP32[$2 >> 2] = 0; + $5 = 1; + break label$1; + } + if (__cxxabiv1____pbase_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $1)) { + $5 = 1; + $1 = HEAP32[$2 >> 2]; + if (!$1) { + break label$1; + } + HEAP32[$2 >> 2] = HEAP32[$1 >> 2]; + break label$1; + } + label$4: { + if (!$1) { + break label$4; + } + $1 = __dynamic_cast($1, 23924, 24068, 0); + if (!$1) { + break label$1; + } + $4 = HEAP32[$2 >> 2]; + if ($4) { + HEAP32[$2 >> 2] = HEAP32[$4 >> 2]; + } + $4 = HEAP32[$1 + 8 >> 2]; + $6 = HEAP32[$0 + 8 >> 2]; + if ($4 & ($6 ^ -1) & 7 | ($4 ^ -1) & $6 & 96) { + break label$1; + } + $5 = 1; + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[$0 + 12 >> 2], HEAP32[$1 + 12 >> 2], 0)) { + break label$1; + } + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[$0 + 12 >> 2], 24276, 0)) { + $1 = HEAP32[$1 + 12 >> 2]; + if (!$1) { + break label$1; + } + $5 = !__dynamic_cast($1, 23924, 24120, 0); + break label$1; + } + $4 = HEAP32[$0 + 12 >> 2]; + if (!$4) { + break label$4; + } + $5 = 0; + $6 = __dynamic_cast($4, 23924, 24068, 0); + if ($6) { + if (!(HEAP8[$0 + 8 | 0] & 1)) { + break label$1; + } + $5 = __cxxabiv1____pointer_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($6, HEAP32[$1 + 12 >> 2]); + break label$1; + } + $6 = __dynamic_cast($4, 23924, 24180, 0); + if ($6) { + if (!(HEAP8[$0 + 8 | 0] & 1)) { + break label$1; + } + $5 = __cxxabiv1____pointer_to_member_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($6, HEAP32[$1 + 12 >> 2]); + break label$1; + } + $0 = __dynamic_cast($4, 23924, 23972, 0); + if (!$0) { + break label$1; + } + $1 = HEAP32[$1 + 12 >> 2]; + if (!$1) { + break label$1; + } + $1 = __dynamic_cast($1, 23924, 23972, 0); + if (!$1) { + break label$1; + } + __memset($3 + 12 | 0, 0, 52); + HEAP32[$3 + 56 >> 2] = 1; + HEAP32[$3 + 20 >> 2] = -1; + HEAP32[$3 + 16 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 28 >> 2]]($1, $3 + 8 | 0, HEAP32[$2 >> 2], 1); + $1 = HEAP32[$3 + 32 >> 2]; + if (!(!HEAP32[$2 >> 2] | ($1 | 0) != 1)) { + HEAP32[$2 >> 2] = HEAP32[$3 + 24 >> 2]; + } + $5 = ($1 | 0) == 1; + break label$1; + } + $5 = 0; + } + __stack_pointer = $3 - -64 | 0; + return $5 | 0; +} + +function std____2____tree_node_base_void_____20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______find_equal_b2Fixture___28std____2____tree_end_node_std____2____tree_node_base_void_______2c_20b2Fixture__20const__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 24 >> 2] = $0; + HEAP32[$3 + 20 >> 2] = $1; + HEAP32[$3 + 16 >> 2] = $2; + $0 = HEAP32[$3 + 24 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______root_5babi_v160004_5d_28_29_20const($0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______root_ptr_28_29_20const($0), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + label$1: { + if (HEAP32[$3 + 12 >> 2]) { + while (1) { + if (std____2__less_b2Fixture____operator_28_29_5babi_v160004_5d_28b2Fixture__20const__2c_20b2Fixture__20const__29_20const(std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____value_comp_5babi_v160004_5d_28_29($0), HEAP32[$3 + 16 >> 2], HEAP32[$3 + 12 >> 2] + 16 | 0) & 1) { + if (HEAP32[HEAP32[$3 + 12 >> 2] >> 2]) { + HEAP32[$3 + 8 >> 2] = HEAP32[$3 + 12 >> 2]; + HEAP32[$3 + 12 >> 2] = HEAP32[HEAP32[$3 + 12 >> 2] >> 2]; + continue; + } + HEAP32[HEAP32[$3 + 20 >> 2] >> 2] = HEAP32[$3 + 12 >> 2]; + HEAP32[$3 + 28 >> 2] = HEAP32[HEAP32[$3 + 20 >> 2] >> 2]; + break label$1; + } + label$6: { + if (std____2__less_b2Fixture____operator_28_29_5babi_v160004_5d_28b2Fixture__20const__2c_20b2Fixture__20const__29_20const(std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____value_comp_5babi_v160004_5d_28_29($0), HEAP32[$3 + 12 >> 2] + 16 | 0, HEAP32[$3 + 16 >> 2]) & 1) { + if (HEAP32[HEAP32[$3 + 12 >> 2] + 4 >> 2]) { + HEAP32[$3 + 8 >> 2] = HEAP32[$3 + 12 >> 2] + 4; + HEAP32[$3 + 12 >> 2] = HEAP32[HEAP32[$3 + 12 >> 2] + 4 >> 2]; + break label$6; + } + HEAP32[HEAP32[$3 + 20 >> 2] >> 2] = HEAP32[$3 + 12 >> 2]; + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 12 >> 2] + 4; + break label$1; + } + HEAP32[HEAP32[$3 + 20 >> 2] >> 2] = HEAP32[$3 + 12 >> 2]; + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 8 >> 2]; + break label$1; + } + continue; + } + } + $0 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______end_node_5babi_v160004_5d_28_29($0); + HEAP32[HEAP32[$3 + 20 >> 2] >> 2] = $0; + HEAP32[$3 + 28 >> 2] = HEAP32[HEAP32[$3 + 20 >> 2] >> 2]; + } + __stack_pointer = $3 + 32 | 0; + return HEAP32[$3 + 28 >> 2]; +} + +function b2MouseJoint__SolveVelocityConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 112 | 0; + __stack_pointer = $2; + HEAP32[$2 + 108 >> 2] = $0; + HEAP32[$2 + 104 >> 2] = $1; + $1 = HEAP32[$2 + 108 >> 2]; + $0 = HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 116 >> 2], 12) | 0; + $3 = HEAP32[$0 >> 2]; + $0 = HEAP32[$0 + 4 >> 2]; + HEAP32[$2 + 96 >> 2] = $3; + HEAP32[$2 + 100 >> 2] = $0; + HEAPF32[$2 + 92 >> 2] = HEAPF32[(HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 116 >> 2], 12) | 0) + 8 >> 2]; + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 76 | 0, HEAPF32[$2 + 92 >> 2], $1 + 120 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 84 | 0, $2 + 96 | 0, $2 + 76 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 40 | 0, $2 + 84 | 0, $1 + 160 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 32 | 0, HEAPF32[$1 + 108 >> 2], $1 + 96 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 48 | 0, $2 + 40 | 0, $2 + 32 | 0); + b2Vec2__operator__28_29_20const($2 + 56 | 0, $2 + 48 | 0); + b2Mul_28b2Mat22_20const__2c_20b2Vec2_20const__29($2 - -64 | 0, $1 + 144 | 0, $2 + 56 | 0); + $3 = HEAP32[$1 + 100 >> 2]; + $0 = HEAP32[$1 + 96 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 28 >> 2] = $3; + b2Vec2__operator___28b2Vec2_20const__29($1 + 96 | 0, $2 - -64 | 0); + HEAPF32[$2 + 20 >> 2] = HEAPF32[HEAP32[$2 + 104 >> 2] >> 2] * HEAPF32[$1 + 104 >> 2]; + if (b2Vec2__LengthSquared_28_29_20const($1 + 96 | 0) > Math_fround(HEAPF32[$2 + 20 >> 2] * HEAPF32[$2 + 20 >> 2])) { + b2Vec2__operator___28float_29($1 + 96 | 0, Math_fround(HEAPF32[$2 + 20 >> 2] / b2Vec2__Length_28_29_20const($1 + 96 | 0))); + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 12 | 0, $1 + 96 | 0, $2 + 24 | 0); + $0 = HEAP32[$2 + 16 >> 2]; + $3 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 64 >> 2] = $3; + HEAP32[$2 + 68 >> 2] = $0; + operator__28float_2c_20b2Vec2_20const__29($2 + 4 | 0, HEAPF32[$1 + 136 >> 2], $2 - -64 | 0); + b2Vec2__operator___28b2Vec2_20const__29($2 + 96 | 0, $2 + 4 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[$1 + 140 >> 2] * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 120 | 0, $2 - -64 | 0)) + HEAPF32[$2 + 92 >> 2]), + HEAPF32[wasm2js_i32$0 + 92 >> 2] = wasm2js_f32$0; + $3 = HEAP32[$2 + 100 >> 2]; + $0 = HEAP32[$2 + 96 >> 2]; + $4 = $0; + $0 = HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 116 >> 2], 12) | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $3; + HEAPF32[(HEAP32[HEAP32[$2 + 104 >> 2] + 28 >> 2] + Math_imul(HEAP32[$1 + 116 >> 2], 12) | 0) + 8 >> 2] = HEAPF32[$2 + 92 >> 2]; + __stack_pointer = $2 + 112 | 0; +} + +function b2CircleShape__RayCast_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, $6 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 96 | 0; + __stack_pointer = $5; + HEAP32[$5 + 88 >> 2] = $0; + HEAP32[$5 + 84 >> 2] = $1; + HEAP32[$5 + 80 >> 2] = $2; + HEAP32[$5 + 76 >> 2] = $3; + HEAP32[$5 + 72 >> 2] = $4; + $1 = HEAP32[$5 + 76 >> 2]; + $0 = HEAP32[$5 + 88 >> 2]; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 56 | 0, HEAP32[$5 + 76 >> 2] + 8 | 0, $0 + 12 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($5 - -64 | 0, $1, $5 + 56 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 48 | 0, HEAP32[$5 + 80 >> 2], $5 - -64 | 0); + $1 = $5 + 48 | 0; + $6 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1, $1); + HEAPF32[$5 + 44 >> 2] = Math_fround(Math_fround(-HEAPF32[$0 + 8 >> 2]) * HEAPF32[$0 + 8 >> 2]) + $6; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 36 | 0, HEAP32[$5 + 80 >> 2] + 8 | 0, HEAP32[$5 + 80 >> 2]); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 48 | 0, $5 + 36 | 0), + HEAPF32[wasm2js_i32$0 + 32 >> 2] = wasm2js_f32$0; + $0 = $5 + 36 | 0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $0), + HEAPF32[wasm2js_i32$0 + 28 >> 2] = wasm2js_f32$0; + HEAPF32[$5 + 24 >> 2] = Math_fround(HEAPF32[$5 + 32 >> 2] * HEAPF32[$5 + 32 >> 2]) - Math_fround(HEAPF32[$5 + 28 >> 2] * HEAPF32[$5 + 44 >> 2]); + label$1: { + if (HEAPF32[$5 + 24 >> 2] < Math_fround(0) | HEAPF32[$5 + 28 >> 2] < Math_fround(1.1920928955078125e-7)) { + HEAP8[$5 + 95 | 0] = 0; + break label$1; + } + HEAPF32[$5 + 20 >> 2] = -Math_fround(HEAPF32[$5 + 32 >> 2] + Math_fround(Math_sqrt(HEAPF32[$5 + 24 >> 2]))); + if (!(!(HEAPF32[$5 + 20 >> 2] >= Math_fround(0)) | !(HEAPF32[$5 + 20 >> 2] <= Math_fround(HEAPF32[HEAP32[$5 + 80 >> 2] + 16 >> 2] * HEAPF32[$5 + 28 >> 2])))) { + HEAPF32[$5 + 20 >> 2] = HEAPF32[$5 + 20 >> 2] / HEAPF32[$5 + 28 >> 2]; + HEAPF32[HEAP32[$5 + 84 >> 2] + 8 >> 2] = HEAPF32[$5 + 20 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($5 + 4 | 0, HEAPF32[$5 + 20 >> 2], $5 + 36 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($5 + 12 | 0, $5 + 48 | 0, $5 + 4 | 0); + $2 = HEAP32[$5 + 16 >> 2]; + $0 = HEAP32[$5 + 12 >> 2]; + $1 = $0; + $0 = HEAP32[$5 + 84 >> 2]; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + b2Vec2__Normalize_28_29(HEAP32[$5 + 84 >> 2]); + HEAP8[$5 + 95 | 0] = 1; + break label$1; + } + HEAP8[$5 + 95 | 0] = 0; + } + __stack_pointer = $5 + 96 | 0; + return HEAP8[$5 + 95 | 0] & 1; +} + +function b2Body__DestroyFixture_28b2Fixture__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 48 | 0; + __stack_pointer = $2; + HEAP32[$2 + 44 >> 2] = $0; + HEAP32[$2 + 40 >> 2] = $1; + $0 = HEAP32[$2 + 44 >> 2]; + label$1: { + if (!HEAP32[$2 + 40 >> 2]) { + break label$1; + } + if (b2World__IsLocked_28_29_20const(HEAP32[$0 + 88 >> 2]) & 1) { + __assert_fail(9124, 4100, 224, 9153); + wasm2js_trap(); + } + if (b2World__IsLocked_28_29_20const(HEAP32[$0 + 88 >> 2]) & 1) { + break label$1; + } + if (HEAP32[HEAP32[$2 + 40 >> 2] + 8 >> 2] != ($0 | 0)) { + __assert_fail(3457, 4100, 230, 9153); + wasm2js_trap(); + } + if (HEAP32[$0 + 104 >> 2] <= 0) { + __assert_fail(12272, 4100, 233, 9153); + wasm2js_trap(); + } + HEAP32[$2 + 36 >> 2] = $0 + 100; + HEAP8[$2 + 35 | 0] = 0; + while (1) { + if (HEAP32[HEAP32[$2 + 36 >> 2] >> 2]) { + if (HEAP32[HEAP32[$2 + 36 >> 2] >> 2] == HEAP32[$2 + 40 >> 2]) { + HEAP32[HEAP32[$2 + 36 >> 2] >> 2] = HEAP32[HEAP32[$2 + 40 >> 2] + 4 >> 2]; + HEAP8[$2 + 35 | 0] = 1; + } else { + HEAP32[$2 + 36 >> 2] = HEAP32[HEAP32[$2 + 36 >> 2] >> 2] + 4; + continue; + } + } + break; + } + if (!(HEAP8[$2 + 35 | 0] & 1)) { + __assert_fail(10021, 4100, 249, 9153); + wasm2js_trap(); + } + HEAP32[$2 + 28 >> 2] = HEAP32[$0 + 112 >> 2]; + while (1) { + if (HEAP32[$2 + 28 >> 2]) { + HEAP32[$2 + 24 >> 2] = HEAP32[HEAP32[$2 + 28 >> 2] + 4 >> 2]; + HEAP32[$2 + 28 >> 2] = HEAP32[HEAP32[$2 + 28 >> 2] + 12 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Contact__GetFixtureA_28_29(HEAP32[$2 + 24 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Contact__GetFixtureB_28_29(HEAP32[$2 + 24 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + if (!(HEAP32[$2 + 40 >> 2] != HEAP32[$2 + 20 >> 2] & HEAP32[$2 + 40 >> 2] != HEAP32[$2 + 16 >> 2])) { + b2ContactManager__Destroy_28b2Contact__29(HEAP32[$0 + 88 >> 2] + 102868 | 0, HEAP32[$2 + 24 >> 2]); + } + continue; + } + break; + } + HEAP32[$2 + 12 >> 2] = HEAP32[$0 + 88 >> 2]; + if (HEAPU16[$0 + 4 >> 1] & 32) { + HEAP32[$2 + 8 >> 2] = HEAP32[$0 + 88 >> 2] + 102868; + b2Fixture__DestroyProxies_28b2BroadPhase__29(HEAP32[$2 + 40 >> 2], HEAP32[$2 + 8 >> 2]); + } + HEAP32[HEAP32[$2 + 40 >> 2] + 8 >> 2] = 0; + HEAP32[HEAP32[$2 + 40 >> 2] + 4 >> 2] = 0; + b2Fixture__Destroy_28b2BlockAllocator__29(HEAP32[$2 + 40 >> 2], HEAP32[$2 + 12 >> 2]); + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 40 >> 2], 44); + HEAP32[$0 + 104 >> 2] = HEAP32[$0 + 104 >> 2] - 1; + b2Body__ResetMassData_28_29($0); + } + __stack_pointer = $2 + 48 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______init_28char_20const__2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + if (std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____max_size_5babi_v160004_5d_28_29_20const($0) >>> 0 >= $2 >>> 0) { + label$2: { + if (std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______fits_in_sso_5babi_v160004_5d_28unsigned_20long_29($2)) { + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_short_size_5babi_v160004_5d_28unsigned_20long_29($0, $2); + $4 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29($0); + break label$2; + } + std____2____allocation_result_std____2__allocator_traits_std____2__allocator_char____pointer__20std____2____allocate_at_least_5babi_v160004_5d_std____2__allocator_char___28std____2__allocator_char___2c_20unsigned_20long_29($3 + 8 | 0, std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29($0), std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______recommend_5babi_v160004_5d_28unsigned_20long_29($2) + 1 | 0); + $4 = HEAP32[$3 + 8 >> 2]; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______begin_lifetime_5babi_v160004_5d_28char__2c_20unsigned_20long_29($4, HEAP32[$3 + 12 >> 2]); + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_pointer_5babi_v160004_5d_28char__29($0, $4); + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_cap_5babi_v160004_5d_28unsigned_20long_29($0, HEAP32[$3 + 12 >> 2]); + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_size_5babi_v160004_5d_28unsigned_20long_29($0, $2); + } + std____2__char_traits_char___copy_28char__2c_20char_20const__2c_20unsigned_20long_29(char__20std____2____to_address_5babi_v160004_5d_char__28char__29($4), $1, $2); + HEAP8[$3 + 7 | 0] = 0; + std____2__char_traits_char___assign_28char__2c_20char_20const__29($2 + $4 | 0, $3 + 7 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______throw_length_error_5babi_v160004_5d_28_29_20const($0); + wasm2js_trap(); +} + +function b2ContactManager__Destroy_28b2Contact__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Contact__GetFixtureA_28_29(HEAP32[$2 + 24 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Contact__GetFixtureB_28_29(HEAP32[$2 + 24 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$2 + 20 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$2 + 16 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + label$1: { + if (!HEAP32[$0 + 72 >> 2]) { + break label$1; + } + if (!(b2Contact__IsTouching_28_29_20const(HEAP32[$2 + 24 >> 2]) & 1)) { + break label$1; + } + $1 = HEAP32[$0 + 72 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 12 >> 2]]($1, HEAP32[$2 + 24 >> 2]); + } + if (HEAP32[HEAP32[$2 + 24 >> 2] + 8 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 8 >> 2] + 12 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 12 >> 2]; + } + if (HEAP32[HEAP32[$2 + 24 >> 2] + 12 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 12 >> 2] + 8 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 8 >> 2]; + } + if (HEAP32[$2 + 24 >> 2] == HEAP32[$0 + 60 >> 2]) { + HEAP32[$0 + 60 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 12 >> 2]; + } + if (HEAP32[HEAP32[$2 + 24 >> 2] + 24 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 24 >> 2] + 12 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 28 >> 2]; + } + if (HEAP32[HEAP32[$2 + 24 >> 2] + 28 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 28 >> 2] + 8 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 24 >> 2]; + } + if (HEAP32[HEAP32[$2 + 12 >> 2] + 112 >> 2] == (HEAP32[$2 + 24 >> 2] + 16 | 0)) { + HEAP32[HEAP32[$2 + 12 >> 2] + 112 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 28 >> 2]; + } + if (HEAP32[HEAP32[$2 + 24 >> 2] + 40 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 40 >> 2] + 12 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 44 >> 2]; + } + if (HEAP32[HEAP32[$2 + 24 >> 2] + 44 >> 2]) { + HEAP32[HEAP32[HEAP32[$2 + 24 >> 2] + 44 >> 2] + 8 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 40 >> 2]; + } + if (HEAP32[HEAP32[$2 + 8 >> 2] + 112 >> 2] == (HEAP32[$2 + 24 >> 2] + 32 | 0)) { + HEAP32[HEAP32[$2 + 8 >> 2] + 112 >> 2] = HEAP32[HEAP32[$2 + 24 >> 2] + 44 >> 2]; + } + b2Contact__Destroy_28b2Contact__2c_20b2BlockAllocator__29(HEAP32[$2 + 24 >> 2], HEAP32[$0 + 76 >> 2]); + HEAP32[$0 + 64 >> 2] = HEAP32[$0 + 64 >> 2] - 1; + __stack_pointer = $2 + 32 | 0; +} + +function b2PrismaticJoint__GetJointSpeed_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 160 | 0; + __stack_pointer = $1; + HEAP32[$1 + 156 >> 2] = $0; + $0 = HEAP32[$1 + 156 >> 2]; + HEAP32[$1 + 152 >> 2] = HEAP32[$0 + 48 >> 2]; + HEAP32[$1 + 148 >> 2] = HEAP32[$0 + 52 >> 2]; + $2 = HEAP32[$1 + 152 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 132 | 0, $0 + 68 | 0, HEAP32[$1 + 152 >> 2] + 28 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($1 + 140 | 0, $2 + 20 | 0, $1 + 132 | 0); + $2 = HEAP32[$1 + 148 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 116 | 0, $0 + 76 | 0, HEAP32[$1 + 148 >> 2] + 28 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($1 + 124 | 0, $2 + 20 | 0, $1 + 116 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 108 | 0, HEAP32[$1 + 152 >> 2] + 44 | 0, $1 + 140 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 100 | 0, HEAP32[$1 + 148 >> 2] + 44 | 0, $1 + 124 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 92 | 0, $1 + 100 | 0, $1 + 108 | 0); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($1 + 84 | 0, HEAP32[$1 + 152 >> 2] + 20 | 0, $0 + 84 | 0); + $2 = HEAP32[$1 + 152 >> 2]; + $3 = HEAP32[$2 + 64 >> 2]; + $0 = HEAP32[$2 + 68 >> 2]; + HEAP32[$1 + 72 >> 2] = $3; + HEAP32[$1 + 76 >> 2] = $0; + $2 = HEAP32[$1 + 148 >> 2]; + $0 = HEAP32[$2 + 64 >> 2]; + $3 = HEAP32[$2 + 68 >> 2]; + HEAP32[$1 + 64 >> 2] = $0; + HEAP32[$1 + 68 >> 2] = $3; + HEAPF32[$1 + 60 >> 2] = HEAPF32[HEAP32[$1 + 152 >> 2] + 72 >> 2]; + HEAPF32[$1 + 56 >> 2] = HEAPF32[HEAP32[$1 + 148 >> 2] + 72 >> 2]; + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 44 | 0, HEAPF32[$1 + 60 >> 2], $1 + 84 | 0); + $4 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 92 | 0, $1 + 44 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 12 | 0, HEAPF32[$1 + 56 >> 2], $1 + 124 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($1 + 20 | 0, $1 - -64 | 0, $1 + 12 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 28 | 0, $1 + 20 | 0, $1 + 72 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($1 + 4 | 0, HEAPF32[$1 + 60 >> 2], $1 + 140 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 36 | 0, $1 + 28 | 0, $1 + 4 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = Math_fround($4 + b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 84 | 0, $1 + 36 | 0)), + HEAPF32[wasm2js_i32$0 + 52 >> 2] = wasm2js_f32$0; + __stack_pointer = $1 + 160 | 0; + return Math_fround(HEAPF32[$1 + 52 >> 2]); +} + +function b2World__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = Math_fround(0); + $1 = __stack_pointer + -64 | 0; + __stack_pointer = $1; + HEAP32[$1 + 60 >> 2] = $0; + $0 = HEAP32[$1 + 60 >> 2]; + if (!(HEAP8[$0 + 102989 | 0] & 1)) { + b2OpenDump_28char_20const__29(6969); + $3 = HEAPF32[$0 + 102964 >> 2]; + HEAPF64[$1 + 8 >> 3] = HEAPF32[$0 + 102968 >> 2]; + HEAPF64[$1 >> 3] = $3; + b2Dump_28char_20const__2c_20____29(14490, $1); + b2Dump_28char_20const__2c_20____29(14513, 0); + HEAP32[$1 + 16 >> 2] = HEAP32[$0 + 102956 >> 2]; + b2Dump_28char_20const__2c_20____29(15158, $1 + 16 | 0); + HEAP32[$1 + 32 >> 2] = HEAP32[$0 + 102960 >> 2]; + b2Dump_28char_20const__2c_20____29(15218, $1 + 32 | 0); + HEAP32[$1 + 56 >> 2] = 0; + HEAP32[$1 + 52 >> 2] = HEAP32[$0 + 102948 >> 2]; + while (1) { + if (HEAP32[$1 + 52 >> 2]) { + HEAP32[HEAP32[$1 + 52 >> 2] + 8 >> 2] = HEAP32[$1 + 56 >> 2]; + b2Body__Dump_28_29(HEAP32[$1 + 52 >> 2]); + HEAP32[$1 + 56 >> 2] = HEAP32[$1 + 56 >> 2] + 1; + HEAP32[$1 + 52 >> 2] = HEAP32[HEAP32[$1 + 52 >> 2] + 96 >> 2]; + continue; + } + break; + } + HEAP32[$1 + 56 >> 2] = 0; + HEAP32[$1 + 48 >> 2] = HEAP32[$0 + 102952 >> 2]; + while (1) { + if (HEAP32[$1 + 48 >> 2]) { + HEAP32[HEAP32[$1 + 48 >> 2] + 56 >> 2] = HEAP32[$1 + 56 >> 2]; + HEAP32[$1 + 56 >> 2] = HEAP32[$1 + 56 >> 2] + 1; + HEAP32[$1 + 48 >> 2] = HEAP32[HEAP32[$1 + 48 >> 2] + 12 >> 2]; + continue; + } + break; + } + HEAP32[$1 + 44 >> 2] = HEAP32[$0 + 102952 >> 2]; + while (1) { + if (HEAP32[$1 + 44 >> 2]) { + if (HEAP32[HEAP32[$1 + 44 >> 2] + 4 >> 2] != 6) { + b2Dump_28char_20const__2c_20____29(12579, 0); + $2 = HEAP32[$1 + 44 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$2 >> 2] + 16 >> 2]]($2); + b2Dump_28char_20const__2c_20____29(12574, 0); + } + HEAP32[$1 + 44 >> 2] = HEAP32[HEAP32[$1 + 44 >> 2] + 12 >> 2]; + continue; + } + break; + } + HEAP32[$1 + 40 >> 2] = HEAP32[$0 + 102952 >> 2]; + while (1) { + if (HEAP32[$1 + 40 >> 2]) { + if (HEAP32[HEAP32[$1 + 40 >> 2] + 4 >> 2] == 6) { + b2Dump_28char_20const__2c_20____29(12579, 0); + $0 = HEAP32[$1 + 40 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 16 >> 2]]($0); + b2Dump_28char_20const__2c_20____29(12574, 0); + } + HEAP32[$1 + 40 >> 2] = HEAP32[HEAP32[$1 + 40 >> 2] + 12 >> 2]; + continue; + } + break; + } + b2Dump_28char_20const__2c_20____29(13875, 0); + b2Dump_28char_20const__2c_20____29(13892, 0); + b2Dump_28char_20const__2c_20____29(12582, 0); + b2Dump_28char_20const__2c_20____29(12601, 0); + b2CloseDump_28_29(); + } + __stack_pointer = $1 - -64 | 0; +} + +function std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____find_b2Fixture___28b2Fixture__20const__29($0, $1) { + var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + $0 = HEAP32[$2 + 24 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______lower_bound_b2Fixture___28b2Fixture__20const__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_end_node_std____2____tree_node_base_void______29($0, HEAP32[$2 + 20 >> 2], std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______root_5babi_v160004_5d_28_29_20const($0), std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______end_node_5babi_v160004_5d_28_29($0)), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____end_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + if (std____2__operator___5babi_v160004_5d_28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__2c_20std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__29_1($2 + 16 | 0, $2 + 12 | 0) & 1) { + $3 = std____2__less_b2Fixture____operator_28_29_5babi_v160004_5d_28b2Fixture__20const__2c_20b2Fixture__20const__29_20const(std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____value_comp_5babi_v160004_5d_28_29($0), HEAP32[$2 + 20 >> 2], std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long___operator__5babi_v160004_5d_28_29_20const($2 + 16 | 0)) ^ -1; + } + label$2: { + if ($3 & 1) { + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 16 >> 2]; + break label$2; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____end_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + } + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function emscripten__internal__WireTypePack_unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____WireTypePack_28unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float__29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 80 | 0; + __stack_pointer = $5; + HEAP32[$5 + 20 >> 2] = $0; + HEAP32[$5 + 16 >> 2] = $1; + HEAP32[$5 + 12 >> 2] = $2; + HEAP32[$5 + 8 >> 2] = $3; + HEAP32[$5 + 4 >> 2] = $4; + $0 = HEAP32[$5 + 20 >> 2]; + wasm2js_i32$0 = $5, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_204ul___data_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$5 + 16 >> 2]; + $2 = HEAP32[$5 + 12 >> 2]; + $3 = HEAP32[$5 + 8 >> 2]; + $4 = HEAP32[$5 + 4 >> 2]; + HEAP32[$5 + 40 >> 2] = $5; + HEAP32[$5 + 36 >> 2] = $1; + HEAP32[$5 + 32 >> 2] = $2; + HEAP32[$5 + 28 >> 2] = $3; + HEAP32[$5 + 24 >> 2] = $4; + void_20emscripten__internal__writeGenericWireType_unsigned_20int__28emscripten__internal__GenericWireType___2c_20unsigned_20int_29(HEAP32[$5 + 40 >> 2], emscripten__internal__BindingType_unsigned_20int_2c_20void___toWireType_28unsigned_20int_20const__29(HEAP32[$5 + 36 >> 2])); + $1 = HEAP32[$5 + 32 >> 2]; + $2 = HEAP32[$5 + 28 >> 2]; + $3 = HEAP32[$5 + 24 >> 2]; + HEAP32[$5 + 56 >> 2] = HEAP32[$5 + 40 >> 2]; + HEAP32[$5 + 52 >> 2] = $1; + HEAP32[$5 + 48 >> 2] = $2; + HEAP32[$5 + 44 >> 2] = $3; + void_20emscripten__internal__writeGenericWireType_b2Vec2__28emscripten__internal__GenericWireType___2c_20b2Vec2__29(HEAP32[$5 + 56 >> 2], emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$5 + 52 >> 2])); + $1 = HEAP32[$5 + 48 >> 2]; + $2 = HEAP32[$5 + 44 >> 2]; + HEAP32[$5 + 68 >> 2] = HEAP32[$5 + 56 >> 2]; + HEAP32[$5 + 64 >> 2] = $1; + HEAP32[$5 + 60 >> 2] = $2; + void_20emscripten__internal__writeGenericWireType_b2Vec2__28emscripten__internal__GenericWireType___2c_20b2Vec2__29(HEAP32[$5 + 68 >> 2], emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$5 + 64 >> 2])); + $1 = HEAP32[$5 + 60 >> 2]; + HEAP32[$5 + 76 >> 2] = HEAP32[$5 + 68 >> 2]; + HEAP32[$5 + 72 >> 2] = $1; + emscripten__internal__writeGenericWireType_28emscripten__internal__GenericWireType___2c_20float_29(HEAP32[$5 + 76 >> 2], emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$5 + 72 >> 2])); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[$5 + 76 >> 2]); + __stack_pointer = $5 + 80 | 0; + return $0; +} + +function __memcpy($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0; + if ($2 >>> 0 >= 512) { + emscripten_memcpy_big($0 | 0, $1 | 0, $2 | 0); + return $0; + } + $4 = $0 + $2 | 0; + label$2: { + if (!(($0 ^ $1) & 3)) { + label$4: { + if (!($0 & 3)) { + $2 = $0; + break label$4; + } + if (!$2) { + $2 = $0; + break label$4; + } + $2 = $0; + while (1) { + HEAP8[$2 | 0] = HEAPU8[$1 | 0]; + $1 = $1 + 1 | 0; + $2 = $2 + 1 | 0; + if (!($2 & 3)) { + break label$4; + } + if ($2 >>> 0 < $4 >>> 0) { + continue; + } + break; + } + } + $3 = $4 & -4; + label$8: { + if ($3 >>> 0 < 64) { + break label$8; + } + $5 = $3 + -64 | 0; + if ($5 >>> 0 < $2 >>> 0) { + break label$8; + } + while (1) { + HEAP32[$2 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$2 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 8 >> 2] = HEAP32[$1 + 8 >> 2]; + HEAP32[$2 + 12 >> 2] = HEAP32[$1 + 12 >> 2]; + HEAP32[$2 + 16 >> 2] = HEAP32[$1 + 16 >> 2]; + HEAP32[$2 + 20 >> 2] = HEAP32[$1 + 20 >> 2]; + HEAP32[$2 + 24 >> 2] = HEAP32[$1 + 24 >> 2]; + HEAP32[$2 + 28 >> 2] = HEAP32[$1 + 28 >> 2]; + HEAP32[$2 + 32 >> 2] = HEAP32[$1 + 32 >> 2]; + HEAP32[$2 + 36 >> 2] = HEAP32[$1 + 36 >> 2]; + HEAP32[$2 + 40 >> 2] = HEAP32[$1 + 40 >> 2]; + HEAP32[$2 + 44 >> 2] = HEAP32[$1 + 44 >> 2]; + HEAP32[$2 + 48 >> 2] = HEAP32[$1 + 48 >> 2]; + HEAP32[$2 + 52 >> 2] = HEAP32[$1 + 52 >> 2]; + HEAP32[$2 + 56 >> 2] = HEAP32[$1 + 56 >> 2]; + HEAP32[$2 + 60 >> 2] = HEAP32[$1 + 60 >> 2]; + $1 = $1 - -64 | 0; + $2 = $2 - -64 | 0; + if ($5 >>> 0 >= $2 >>> 0) { + continue; + } + break; + } + } + if ($2 >>> 0 >= $3 >>> 0) { + break label$2; + } + while (1) { + HEAP32[$2 >> 2] = HEAP32[$1 >> 2]; + $1 = $1 + 4 | 0; + $2 = $2 + 4 | 0; + if ($3 >>> 0 > $2 >>> 0) { + continue; + } + break; + } + break label$2; + } + if ($4 >>> 0 < 4) { + $2 = $0; + break label$2; + } + $3 = $4 - 4 | 0; + if ($3 >>> 0 < $0 >>> 0) { + $2 = $0; + break label$2; + } + $2 = $0; + while (1) { + HEAP8[$2 | 0] = HEAPU8[$1 | 0]; + HEAP8[$2 + 1 | 0] = HEAPU8[$1 + 1 | 0]; + HEAP8[$2 + 2 | 0] = HEAPU8[$1 + 2 | 0]; + HEAP8[$2 + 3 | 0] = HEAPU8[$1 + 3 | 0]; + $1 = $1 + 4 | 0; + $2 = $2 + 4 | 0; + if ($3 >>> 0 >= $2 >>> 0) { + continue; + } + break; + } + } + if ($2 >>> 0 < $4 >>> 0) { + while (1) { + HEAP8[$2 | 0] = HEAPU8[$1 | 0]; + $1 = $1 + 1 | 0; + $2 = $2 + 1 | 0; + if (($4 | 0) != ($2 | 0)) { + continue; + } + break; + } + } + return $0; +} + +function emscripten__internal__WireTypePack_b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____WireTypePack_28b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const__29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 80 | 0; + __stack_pointer = $5; + HEAP32[$5 + 20 >> 2] = $0; + HEAP32[$5 + 16 >> 2] = $1; + HEAP32[$5 + 12 >> 2] = $2; + HEAP32[$5 + 8 >> 2] = $3; + HEAP32[$5 + 4 >> 2] = $4; + $0 = HEAP32[$5 + 20 >> 2]; + wasm2js_i32$0 = $5, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_204ul___data_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$5 + 16 >> 2]; + $2 = HEAP32[$5 + 12 >> 2]; + $3 = HEAP32[$5 + 8 >> 2]; + $4 = HEAP32[$5 + 4 >> 2]; + HEAP32[$5 + 40 >> 2] = $5; + HEAP32[$5 + 36 >> 2] = $1; + HEAP32[$5 + 32 >> 2] = $2; + HEAP32[$5 + 28 >> 2] = $3; + HEAP32[$5 + 24 >> 2] = $4; + void_20emscripten__internal__writeGenericWireType_b2Vec2__28emscripten__internal__GenericWireType___2c_20b2Vec2__29(HEAP32[$5 + 40 >> 2], emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$5 + 36 >> 2])); + $1 = HEAP32[$5 + 32 >> 2]; + $2 = HEAP32[$5 + 28 >> 2]; + $3 = HEAP32[$5 + 24 >> 2]; + HEAP32[$5 + 56 >> 2] = HEAP32[$5 + 40 >> 2]; + HEAP32[$5 + 52 >> 2] = $1; + HEAP32[$5 + 48 >> 2] = $2; + HEAP32[$5 + 44 >> 2] = $3; + emscripten__internal__writeGenericWireType_28emscripten__internal__GenericWireType___2c_20float_29(HEAP32[$5 + 56 >> 2], emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$5 + 52 >> 2])); + $1 = HEAP32[$5 + 48 >> 2]; + $2 = HEAP32[$5 + 44 >> 2]; + HEAP32[$5 + 68 >> 2] = HEAP32[$5 + 56 >> 2]; + HEAP32[$5 + 64 >> 2] = $1; + HEAP32[$5 + 60 >> 2] = $2; + void_20emscripten__internal__writeGenericWireType_b2Vec2__28emscripten__internal__GenericWireType___2c_20b2Vec2__29(HEAP32[$5 + 68 >> 2], emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$5 + 64 >> 2])); + $1 = HEAP32[$5 + 60 >> 2]; + HEAP32[$5 + 76 >> 2] = HEAP32[$5 + 68 >> 2]; + HEAP32[$5 + 72 >> 2] = $1; + void_20emscripten__internal__writeGenericWireType_b2Color__28emscripten__internal__GenericWireType___2c_20b2Color__29(HEAP32[$5 + 76 >> 2], emscripten__internal__GenericBindingType_b2Color___toWireType_28b2Color_20const__29(HEAP32[$5 + 72 >> 2])); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[$5 + 76 >> 2]); + __stack_pointer = $5 + 80 | 0; + return $0; +} + +function b2PolygonShape__SetAsBox_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = Math_fround($4); + var $5 = 0, $6 = 0, $7 = 0; + $5 = __stack_pointer + -64 | 0; + __stack_pointer = $5; + HEAP32[$5 + 60 >> 2] = $0; + HEAPF32[$5 + 56 >> 2] = $1; + HEAPF32[$5 + 52 >> 2] = $2; + HEAP32[$5 + 48 >> 2] = $3; + HEAPF32[$5 + 44 >> 2] = $4; + $6 = HEAP32[$5 + 60 >> 2]; + HEAP32[$6 + 148 >> 2] = 4; + b2Vec2__Set_28float_2c_20float_29($6 + 20 | 0, Math_fround(-HEAPF32[$5 + 56 >> 2]), Math_fround(-HEAPF32[$5 + 52 >> 2])); + b2Vec2__Set_28float_2c_20float_29($6 + 28 | 0, HEAPF32[$5 + 56 >> 2], Math_fround(-HEAPF32[$5 + 52 >> 2])); + b2Vec2__Set_28float_2c_20float_29($6 + 36 | 0, HEAPF32[$5 + 56 >> 2], HEAPF32[$5 + 52 >> 2]); + b2Vec2__Set_28float_2c_20float_29($6 + 44 | 0, Math_fround(-HEAPF32[$5 + 56 >> 2]), HEAPF32[$5 + 52 >> 2]); + b2Vec2__Set_28float_2c_20float_29($6 + 84 | 0, Math_fround(0), Math_fround(-1)); + b2Vec2__Set_28float_2c_20float_29($6 + 92 | 0, Math_fround(1), Math_fround(0)); + b2Vec2__Set_28float_2c_20float_29($6 + 100 | 0, Math_fround(0), Math_fround(1)); + b2Vec2__Set_28float_2c_20float_29($6 + 108 | 0, Math_fround(-1), Math_fround(0)); + $7 = HEAP32[$5 + 48 >> 2]; + $3 = HEAP32[$7 >> 2]; + $0 = HEAP32[$7 + 4 >> 2]; + HEAP32[$6 + 12 >> 2] = $3; + HEAP32[$6 + 16 >> 2] = $0; + b2Transform__b2Transform_28_29($5 + 28 | 0); + $7 = HEAP32[$5 + 48 >> 2]; + $0 = HEAP32[$7 >> 2]; + $3 = HEAP32[$7 + 4 >> 2]; + $7 = $0; + $0 = $5 + 28 | 0; + HEAP32[$0 >> 2] = $7; + HEAP32[$0 + 4 >> 2] = $3; + b2Rot__Set_28float_29($5 + 36 | 0, HEAPF32[$5 + 44 >> 2]); + HEAP32[$5 + 24 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 24 >> 2] < HEAP32[$6 + 148 >> 2]) { + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 16 | 0, $5 + 28 | 0, ($6 + 20 | 0) + (HEAP32[$5 + 24 >> 2] << 3) | 0); + $0 = HEAP32[$5 + 20 >> 2]; + $3 = HEAP32[$5 + 16 >> 2]; + $7 = $3; + $3 = ($6 + 20 | 0) + (HEAP32[$5 + 24 >> 2] << 3) | 0; + HEAP32[$3 >> 2] = $7; + HEAP32[$3 + 4 >> 2] = $0; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 8 | 0, $5 + 36 | 0, ($6 + 84 | 0) + (HEAP32[$5 + 24 >> 2] << 3) | 0); + $3 = HEAP32[$5 + 12 >> 2]; + $0 = HEAP32[$5 + 8 >> 2]; + $7 = $0; + $0 = ($6 + 84 | 0) + (HEAP32[$5 + 24 >> 2] << 3) | 0; + HEAP32[$0 >> 2] = $7; + HEAP32[$0 + 4 >> 2] = $3; + HEAP32[$5 + 24 >> 2] = HEAP32[$5 + 24 >> 2] + 1; + continue; + } + break; + } + __stack_pointer = $5 - -64 | 0; +} + +function b2Body__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 224 | 0; + __stack_pointer = $1; + HEAP32[$1 + 220 >> 2] = $0; + $0 = HEAP32[$1 + 220 >> 2]; + HEAP32[$1 + 216 >> 2] = HEAP32[$0 + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(12579, 0); + b2Dump_28char_20const__2c_20____29(13732, 0); + HEAP32[$1 + 176 >> 2] = HEAP32[$0 >> 2]; + b2Dump_28char_20const__2c_20____29(14954, $1 + 176 | 0); + $2 = HEAPF32[$0 + 12 >> 2]; + HEAPF64[$1 + 168 >> 3] = HEAPF32[$0 + 16 >> 2]; + HEAPF64[$1 + 160 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14097, $1 + 160 | 0); + HEAPF64[$1 + 144 >> 3] = HEAPF32[$0 + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(13097, $1 + 144 | 0); + $2 = HEAPF32[$0 + 64 >> 2]; + HEAPF64[$1 + 136 >> 3] = HEAPF32[$0 + 68 >> 2]; + HEAPF64[$1 + 128 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(13909, $1 + 128 | 0); + HEAPF64[$1 + 112 >> 3] = HEAPF32[$0 + 72 >> 2]; + b2Dump_28char_20const__2c_20____29(12644, $1 + 112 | 0); + HEAPF64[$1 + 96 >> 3] = HEAPF32[$0 + 132 >> 2]; + b2Dump_28char_20const__2c_20____29(13016, $1 + 96 | 0); + HEAPF64[$1 + 80 >> 3] = HEAPF32[$0 + 136 >> 2]; + b2Dump_28char_20const__2c_20____29(12987, $1 + 80 | 0); + HEAP32[$1 + 64 >> 2] = HEAPU16[$0 + 4 >> 1] & 4; + b2Dump_28char_20const__2c_20____29(14774, $1 - -64 | 0); + HEAP32[$1 + 48 >> 2] = HEAPU16[$0 + 4 >> 1] & 2; + b2Dump_28char_20const__2c_20____29(14835, $1 + 48 | 0); + HEAP32[$1 + 32 >> 2] = HEAPU16[$0 + 4 >> 1] & 16; + b2Dump_28char_20const__2c_20____29(14803, $1 + 32 | 0); + HEAP32[$1 + 16 >> 2] = HEAPU16[$0 + 4 >> 1] & 8; + b2Dump_28char_20const__2c_20____29(14690, $1 + 16 | 0); + HEAP32[$1 >> 2] = HEAPU16[$0 + 4 >> 1] & 32; + b2Dump_28char_20const__2c_20____29(14894, $1); + HEAPF64[$1 + 192 >> 3] = HEAPF32[$0 + 140 >> 2]; + b2Dump_28char_20const__2c_20____29(13196, $1 + 192 | 0); + HEAP32[$1 + 208 >> 2] = HEAP32[$0 + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(14618, $1 + 208 | 0); + b2Dump_28char_20const__2c_20____29(15365, 0); + HEAP32[$1 + 212 >> 2] = HEAP32[$0 + 100 >> 2]; + while (1) { + if (HEAP32[$1 + 212 >> 2]) { + b2Dump_28char_20const__2c_20____29(12577, 0); + b2Fixture__Dump_28int_29(HEAP32[$1 + 212 >> 2], HEAP32[$1 + 216 >> 2]); + b2Dump_28char_20const__2c_20____29(12572, 0); + HEAP32[$1 + 212 >> 2] = HEAP32[HEAP32[$1 + 212 >> 2] + 4 >> 2]; + continue; + } + break; + } + b2Dump_28char_20const__2c_20____29(12574, 0); + __stack_pointer = $1 + 224 | 0; +} + +function b2Mat33__GetSymInverse33_28b2Mat33__29_20const($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 48 | 0; + __stack_pointer = $2; + HEAP32[$2 + 44 >> 2] = $0; + HEAP32[$2 + 40 >> 2] = $1; + $0 = HEAP32[$2 + 44 >> 2]; + b2Cross_28b2Vec3_20const__2c_20b2Vec3_20const__29($2 + 24 | 0, $0 + 12 | 0, $0 + 24 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec3_20const__2c_20b2Vec3_20const__29($0, $2 + 24 | 0), + HEAPF32[wasm2js_i32$0 + 36 >> 2] = wasm2js_f32$0; + if (HEAPF32[$2 + 36 >> 2] != Math_fround(0)) { + HEAPF32[$2 + 36 >> 2] = Math_fround(1) / HEAPF32[$2 + 36 >> 2]; + } + HEAPF32[$2 + 20 >> 2] = HEAPF32[$0 >> 2]; + HEAPF32[$2 + 16 >> 2] = HEAPF32[$0 + 12 >> 2]; + HEAPF32[$2 + 12 >> 2] = HEAPF32[$0 + 24 >> 2]; + HEAPF32[$2 + 8 >> 2] = HEAPF32[$0 + 16 >> 2]; + HEAPF32[$2 + 4 >> 2] = HEAPF32[$0 + 28 >> 2]; + HEAPF32[$2 >> 2] = HEAPF32[$0 + 32 >> 2]; + HEAPF32[HEAP32[$2 + 40 >> 2] >> 2] = HEAPF32[$2 + 36 >> 2] * Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * HEAPF32[$2 >> 2]) - Math_fround(HEAPF32[$2 + 4 >> 2] * HEAPF32[$2 + 4 >> 2])); + HEAPF32[HEAP32[$2 + 40 >> 2] + 4 >> 2] = HEAPF32[$2 + 36 >> 2] * Math_fround(Math_fround(HEAPF32[$2 + 12 >> 2] * HEAPF32[$2 + 4 >> 2]) - Math_fround(HEAPF32[$2 + 16 >> 2] * HEAPF32[$2 >> 2])); + HEAPF32[HEAP32[$2 + 40 >> 2] + 8 >> 2] = HEAPF32[$2 + 36 >> 2] * Math_fround(Math_fround(HEAPF32[$2 + 16 >> 2] * HEAPF32[$2 + 4 >> 2]) - Math_fround(HEAPF32[$2 + 12 >> 2] * HEAPF32[$2 + 8 >> 2])); + HEAPF32[HEAP32[$2 + 40 >> 2] + 12 >> 2] = HEAPF32[HEAP32[$2 + 40 >> 2] + 4 >> 2]; + HEAPF32[HEAP32[$2 + 40 >> 2] + 16 >> 2] = HEAPF32[$2 + 36 >> 2] * Math_fround(Math_fround(HEAPF32[$2 + 20 >> 2] * HEAPF32[$2 >> 2]) - Math_fround(HEAPF32[$2 + 12 >> 2] * HEAPF32[$2 + 12 >> 2])); + HEAPF32[HEAP32[$2 + 40 >> 2] + 20 >> 2] = HEAPF32[$2 + 36 >> 2] * Math_fround(Math_fround(HEAPF32[$2 + 12 >> 2] * HEAPF32[$2 + 16 >> 2]) - Math_fround(HEAPF32[$2 + 20 >> 2] * HEAPF32[$2 + 4 >> 2])); + HEAPF32[HEAP32[$2 + 40 >> 2] + 24 >> 2] = HEAPF32[HEAP32[$2 + 40 >> 2] + 8 >> 2]; + HEAPF32[HEAP32[$2 + 40 >> 2] + 28 >> 2] = HEAPF32[HEAP32[$2 + 40 >> 2] + 20 >> 2]; + HEAPF32[HEAP32[$2 + 40 >> 2] + 32 >> 2] = HEAPF32[$2 + 36 >> 2] * Math_fround(Math_fround(HEAPF32[$2 + 20 >> 2] * HEAPF32[$2 + 8 >> 2]) - Math_fround(HEAPF32[$2 + 16 >> 2] * HEAPF32[$2 + 16 >> 2])); + __stack_pointer = $2 + 48 | 0; +} + +function b2Body__SetMassData_28b2MassData_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 48 | 0; + __stack_pointer = $2; + HEAP32[$2 + 44 >> 2] = $0; + HEAP32[$2 + 40 >> 2] = $1; + $0 = HEAP32[$2 + 44 >> 2]; + if (b2World__IsLocked_28_29_20const(HEAP32[$0 + 88 >> 2]) & 1) { + __assert_fail(9124, 4100, 357, 10439); + wasm2js_trap(); + } + if (!(b2World__IsLocked_28_29_20const(HEAP32[$0 + 88 >> 2]) & 1 | HEAP32[$0 >> 2] != 2)) { + HEAPF32[$0 + 120 >> 2] = 0; + HEAPF32[$0 + 124 >> 2] = 0; + HEAPF32[$0 + 128 >> 2] = 0; + HEAPF32[$0 + 116 >> 2] = HEAPF32[HEAP32[$2 + 40 >> 2] >> 2]; + if (HEAPF32[$0 + 116 >> 2] <= Math_fround(0)) { + HEAPF32[$0 + 116 >> 2] = 1; + } + HEAPF32[$0 + 120 >> 2] = Math_fround(1) / HEAPF32[$0 + 116 >> 2]; + if (!(!(HEAPF32[HEAP32[$2 + 40 >> 2] + 12 >> 2] > Math_fround(0)) | HEAPU16[$0 + 4 >> 1] & 16)) { + $4 = HEAPF32[HEAP32[$2 + 40 >> 2] + 12 >> 2]; + wasm2js_i32$0 = $0, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-HEAPF32[$0 + 116 >> 2]) * b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$2 + 40 >> 2] + 4 | 0, HEAP32[$2 + 40 >> 2] + 4 | 0)) + $4), + HEAPF32[wasm2js_i32$0 + 124 >> 2] = wasm2js_f32$0; + if (!(HEAPF32[$0 + 124 >> 2] > Math_fround(0))) { + __assert_fail(8118, 4100, 383, 10439); + wasm2js_trap(); + } + HEAPF32[$0 + 128 >> 2] = Math_fround(1) / HEAPF32[$0 + 124 >> 2]; + } + $1 = HEAP32[$0 + 48 >> 2]; + $3 = HEAP32[$0 + 44 >> 2]; + HEAP32[$2 + 32 >> 2] = $3; + HEAP32[$2 + 36 >> 2] = $1; + $3 = HEAP32[$2 + 40 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + $3 = HEAP32[$3 + 8 >> 2]; + HEAP32[$0 + 28 >> 2] = $1; + HEAP32[$0 + 32 >> 2] = $3; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($2 + 24 | 0, $0 + 12 | 0, $0 + 28 | 0); + $1 = HEAP32[$2 + 28 >> 2]; + $3 = HEAP32[$2 + 24 >> 2]; + HEAP32[$0 + 44 >> 2] = $3; + HEAP32[$0 + 48 >> 2] = $1; + $3 = HEAP32[$0 + 48 >> 2]; + $1 = HEAP32[$0 + 44 >> 2]; + HEAP32[$0 + 36 >> 2] = $1; + HEAP32[$0 + 40 >> 2] = $3; + $4 = HEAPF32[$0 + 72 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 8 | 0, $0 + 44 | 0, $2 + 32 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 16 | 0, $4, $2 + 8 | 0); + b2Vec2__operator___28b2Vec2_20const__29($0 - -64 | 0, $2 + 16 | 0); + } + __stack_pointer = $2 + 48 | 0; +} + +function b2FindMaxSeparation_28int__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 112 | 0; + __stack_pointer = $5; + HEAP32[$5 + 108 >> 2] = $0; + HEAP32[$5 + 104 >> 2] = $1; + HEAP32[$5 + 100 >> 2] = $2; + HEAP32[$5 + 96 >> 2] = $3; + HEAP32[$5 + 92 >> 2] = $4; + HEAP32[$5 + 88 >> 2] = HEAP32[HEAP32[$5 + 104 >> 2] + 148 >> 2]; + HEAP32[$5 + 84 >> 2] = HEAP32[HEAP32[$5 + 96 >> 2] + 148 >> 2]; + HEAP32[$5 + 80 >> 2] = HEAP32[$5 + 104 >> 2] + 84; + HEAP32[$5 + 76 >> 2] = HEAP32[$5 + 104 >> 2] + 20; + HEAP32[$5 + 72 >> 2] = HEAP32[$5 + 96 >> 2] + 20; + b2MulT_28b2Transform_20const__2c_20b2Transform_20const__29($5 + 56 | 0, HEAP32[$5 + 92 >> 2], HEAP32[$5 + 100 >> 2]); + HEAP32[$5 + 52 >> 2] = 0; + HEAPF32[$5 + 48 >> 2] = -34028234663852886e22; + HEAP32[$5 + 44 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 44 >> 2] < HEAP32[$5 + 88 >> 2]) { + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($5 + 36 | 0, $5 - -64 | 0, HEAP32[$5 + 80 >> 2] + (HEAP32[$5 + 44 >> 2] << 3) | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 28 | 0, $5 + 56 | 0, HEAP32[$5 + 76 >> 2] + (HEAP32[$5 + 44 >> 2] << 3) | 0); + HEAPF32[$5 + 24 >> 2] = 34028234663852886e22; + HEAP32[$5 + 20 >> 2] = 0; + while (1) { + if (HEAP32[$5 + 20 >> 2] < HEAP32[$5 + 84 >> 2]) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 8 | 0, HEAP32[$5 + 72 >> 2] + (HEAP32[$5 + 20 >> 2] << 3) | 0, $5 + 28 | 0); + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 36 | 0, $5 + 8 | 0), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + if (HEAPF32[$5 + 16 >> 2] < HEAPF32[$5 + 24 >> 2]) { + HEAPF32[$5 + 24 >> 2] = HEAPF32[$5 + 16 >> 2]; + } + HEAP32[$5 + 20 >> 2] = HEAP32[$5 + 20 >> 2] + 1; + continue; + } + break; + } + if (HEAPF32[$5 + 24 >> 2] > HEAPF32[$5 + 48 >> 2]) { + HEAPF32[$5 + 48 >> 2] = HEAPF32[$5 + 24 >> 2]; + HEAP32[$5 + 52 >> 2] = HEAP32[$5 + 44 >> 2]; + } + HEAP32[$5 + 44 >> 2] = HEAP32[$5 + 44 >> 2] + 1; + continue; + } + break; + } + HEAP32[HEAP32[$5 + 108 >> 2] >> 2] = HEAP32[$5 + 52 >> 2]; + __stack_pointer = $5 + 112 | 0; + return HEAPF32[$5 + 48 >> 2]; +} + +function b2World__Step_28float_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[$4 + 44 >> 2] = $0; + HEAPF32[$4 + 40 >> 2] = $1; + HEAP32[$4 + 36 >> 2] = $2; + HEAP32[$4 + 32 >> 2] = $3; + $0 = HEAP32[$4 + 44 >> 2]; + b2Timer__b2Timer_28_29($4 + 31 | 0); + if (HEAP8[$0 + 102988 | 0] & 1) { + b2ContactManager__FindNewContacts_28_29($0 + 102868 | 0); + HEAP8[$0 + 102988 | 0] = 0; + } + HEAP8[$0 + 102989 | 0] = 1; + HEAPF32[$4 + 4 >> 2] = HEAPF32[$4 + 40 >> 2]; + HEAP32[$4 + 16 >> 2] = HEAP32[$4 + 36 >> 2]; + HEAP32[$4 + 20 >> 2] = HEAP32[$4 + 32 >> 2]; + label$2: { + if (HEAPF32[$4 + 40 >> 2] > Math_fround(0)) { + HEAPF32[$4 + 8 >> 2] = Math_fround(1) / HEAPF32[$4 + 40 >> 2]; + break label$2; + } + HEAPF32[$4 + 8 >> 2] = 0; + } + HEAPF32[$4 + 12 >> 2] = HEAPF32[$0 + 102984 >> 2] * HEAPF32[$4 + 40 >> 2]; + HEAP8[$4 + 24 | 0] = HEAP8[$0 + 102991 | 0] & 1; + b2Timer__b2Timer_28_29($4 + 3 | 0); + b2ContactManager__Collide_28_29($0 + 102868 | 0); + wasm2js_i32$0 = $0, wasm2js_f32$0 = b2Timer__GetMilliseconds_28_29_20const($4 + 3 | 0), + HEAPF32[wasm2js_i32$0 + 103e3 >> 2] = wasm2js_f32$0; + if (!(!(HEAP8[$0 + 102994 | 0] & 1) | !(HEAPF32[$4 + 4 >> 2] > Math_fround(0)))) { + b2Timer__b2Timer_28_29($4 + 2 | 0); + b2World__Solve_28b2TimeStep_20const__29($0, $4 + 4 | 0); + wasm2js_i32$0 = $0, wasm2js_f32$0 = b2Timer__GetMilliseconds_28_29_20const($4 + 2 | 0), + HEAPF32[wasm2js_i32$0 + 103004 >> 2] = wasm2js_f32$0; + } + if (!(!(HEAP8[$0 + 102992 | 0] & 1) | !(HEAPF32[$4 + 4 >> 2] > Math_fround(0)))) { + b2Timer__b2Timer_28_29($4 + 1 | 0); + b2World__SolveTOI_28b2TimeStep_20const__29($0, $4 + 4 | 0); + wasm2js_i32$0 = $0, wasm2js_f32$0 = b2Timer__GetMilliseconds_28_29_20const($4 + 1 | 0), + HEAPF32[wasm2js_i32$0 + 103024 >> 2] = wasm2js_f32$0; + } + if (HEAPF32[$4 + 4 >> 2] > Math_fround(0)) { + HEAPF32[$0 + 102984 >> 2] = HEAPF32[$4 + 8 >> 2]; + } + if (HEAP8[$0 + 102990 | 0] & 1) { + b2World__ClearForces_28_29($0); + } + HEAP8[$0 + 102989 | 0] = 0; + wasm2js_i32$0 = $0, wasm2js_f32$0 = b2Timer__GetMilliseconds_28_29_20const($4 + 31 | 0), + HEAPF32[wasm2js_i32$0 + 102996 >> 2] = wasm2js_f32$0; + __stack_pointer = $4 + 48 | 0; +} + +function b2PrismaticJoint__b2PrismaticJoint_28b2PrismaticJointDef_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + $1 = HEAP32[$2 + 24 >> 2]; + HEAP32[$2 + 28 >> 2] = $1; + b2Joint__b2Joint_28b2JointDef_20const__29($1, HEAP32[$2 + 20 >> 2]); + HEAP32[$1 >> 2] = 19184; + b2Vec2__b2Vec2_28_29($1 + 68 | 0); + b2Vec2__b2Vec2_28_29($1 + 76 | 0); + b2Vec2__b2Vec2_28_29($1 + 84 | 0); + b2Vec2__b2Vec2_28_29($1 + 92 | 0); + b2Vec2__b2Vec2_28_29($1 + 104 | 0); + b2Vec2__b2Vec2_28_29($1 + 152 | 0); + b2Vec2__b2Vec2_28_29($1 + 160 | 0); + b2Vec2__b2Vec2_28_29($1 + 184 | 0); + b2Vec2__b2Vec2_28_29($1 + 192 | 0); + b2Mat22__b2Mat22_28_29($1 + 216 | 0); + $3 = HEAP32[$2 + 20 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$1 + 68 >> 2] = $4; + HEAP32[$1 + 72 >> 2] = $0; + $3 = HEAP32[$2 + 20 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $4 = HEAP32[$3 + 32 >> 2]; + HEAP32[$1 + 76 >> 2] = $0; + HEAP32[$1 + 80 >> 2] = $4; + $3 = HEAP32[$2 + 20 >> 2]; + $4 = HEAP32[$3 + 36 >> 2]; + $0 = HEAP32[$3 + 40 >> 2]; + HEAP32[$1 + 84 >> 2] = $4; + HEAP32[$1 + 88 >> 2] = $0; + b2Vec2__Normalize_28_29($1 + 84 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($2 + 12 | 0, Math_fround(1), $1 + 84 | 0); + $4 = HEAP32[$2 + 16 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$1 + 92 >> 2] = $0; + HEAP32[$1 + 96 >> 2] = $4; + HEAPF32[$1 + 100 >> 2] = HEAPF32[HEAP32[$2 + 20 >> 2] + 44 >> 2]; + b2Vec2__SetZero_28_29($1 + 104 | 0); + HEAPF32[$1 + 236 >> 2] = 0; + HEAPF32[$1 + 112 >> 2] = 0; + HEAPF32[$1 + 116 >> 2] = 0; + HEAPF32[$1 + 120 >> 2] = 0; + HEAPF32[$1 + 124 >> 2] = HEAPF32[HEAP32[$2 + 20 >> 2] + 52 >> 2]; + HEAPF32[$1 + 128 >> 2] = HEAPF32[HEAP32[$2 + 20 >> 2] + 56 >> 2]; + if (!(HEAPF32[$1 + 124 >> 2] <= HEAPF32[$1 + 128 >> 2])) { + __assert_fail(6720, 4498, 102, 2761); + wasm2js_trap(); + } + HEAPF32[$1 + 132 >> 2] = HEAPF32[HEAP32[$2 + 20 >> 2] + 64 >> 2]; + HEAPF32[$1 + 136 >> 2] = HEAPF32[HEAP32[$2 + 20 >> 2] + 68 >> 2]; + HEAP8[$1 + 140 | 0] = HEAP8[HEAP32[$2 + 20 >> 2] + 48 | 0] & 1; + HEAP8[$1 + 141 | 0] = HEAP8[HEAP32[$2 + 20 >> 2] + 60 | 0] & 1; + HEAPF32[$1 + 232 >> 2] = 0; + b2Vec2__SetZero_28_29($1 + 184 | 0); + b2Vec2__SetZero_28_29($1 + 192 | 0); + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function b2DistanceProxy__Set_28b2Shape_20const__2c_20int_29($0, $1, $2) { + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $1 = HEAP32[$3 + 28 >> 2]; + label$1: { + label$2: { + switch (b2Shape__GetType_28_29_20const(HEAP32[$3 + 24 >> 2]) | 0) { + case 0: + HEAP32[$3 + 16 >> 2] = HEAP32[$3 + 24 >> 2]; + HEAP32[$1 + 16 >> 2] = HEAP32[$3 + 16 >> 2] + 12; + HEAP32[$1 + 20 >> 2] = 1; + HEAPF32[$1 + 24 >> 2] = HEAPF32[HEAP32[$3 + 16 >> 2] + 8 >> 2]; + break label$1; + + case 2: + HEAP32[$3 + 12 >> 2] = HEAP32[$3 + 24 >> 2]; + HEAP32[$1 + 16 >> 2] = HEAP32[$3 + 12 >> 2] + 20; + HEAP32[$1 + 20 >> 2] = HEAP32[HEAP32[$3 + 12 >> 2] + 148 >> 2]; + HEAPF32[$1 + 24 >> 2] = HEAPF32[HEAP32[$3 + 12 >> 2] + 8 >> 2]; + break label$1; + + case 3: + HEAP32[$3 + 8 >> 2] = HEAP32[$3 + 24 >> 2]; + if (!(HEAP32[$3 + 20 >> 2] < HEAP32[HEAP32[$3 + 8 >> 2] + 16 >> 2] & HEAP32[$3 + 20 >> 2] >= 0)) { + __assert_fail(1893, 6034, 57, 3019); + wasm2js_trap(); + } + $4 = HEAP32[HEAP32[$3 + 8 >> 2] + 12 >> 2] + (HEAP32[$3 + 20 >> 2] << 3) | 0; + $0 = HEAP32[$4 >> 2]; + $2 = HEAP32[$4 + 4 >> 2]; + HEAP32[$1 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = $2; + label$9: { + if (HEAP32[HEAP32[$3 + 8 >> 2] + 16 >> 2] > (HEAP32[$3 + 20 >> 2] + 1 | 0)) { + $4 = HEAP32[HEAP32[$3 + 8 >> 2] + 12 >> 2] + (HEAP32[$3 + 20 >> 2] + 1 << 3) | 0; + $2 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + HEAP32[$1 + 8 >> 2] = $2; + HEAP32[$1 + 12 >> 2] = $0; + break label$9; + } + $4 = HEAP32[HEAP32[$3 + 8 >> 2] + 12 >> 2]; + $0 = HEAP32[$4 >> 2]; + $2 = HEAP32[$4 + 4 >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 + 12 >> 2] = $2; + } + HEAP32[$1 + 16 >> 2] = $1; + HEAP32[$1 + 20 >> 2] = 2; + HEAPF32[$1 + 24 >> 2] = HEAPF32[HEAP32[$3 + 8 >> 2] + 8 >> 2]; + break label$1; + + case 1: + HEAP32[$3 + 4 >> 2] = HEAP32[$3 + 24 >> 2]; + HEAP32[$1 + 16 >> 2] = HEAP32[$3 + 4 >> 2] + 12; + HEAP32[$1 + 20 >> 2] = 2; + HEAPF32[$1 + 24 >> 2] = HEAPF32[HEAP32[$3 + 4 >> 2] + 8 >> 2]; + break label$1; + + default: + break label$2; + } + } + __assert_fail(9147, 6034, 85, 3019); + wasm2js_trap(); + } + __stack_pointer = $3 + 32 | 0; +} + +function b2WheelJoint__b2WheelJoint_28b2WheelJointDef_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Joint__b2Joint_28b2JointDef_20const__29($1, HEAP32[$2 + 8 >> 2]); + HEAP32[$1 >> 2] = 19612; + b2Vec2__b2Vec2_28_29($1 + 68 | 0); + b2Vec2__b2Vec2_28_29($1 + 76 | 0); + b2Vec2__b2Vec2_28_29($1 + 84 | 0); + b2Vec2__b2Vec2_28_29($1 + 92 | 0); + b2Vec2__b2Vec2_28_29($1 + 160 | 0); + b2Vec2__b2Vec2_28_29($1 + 168 | 0); + b2Vec2__b2Vec2_28_29($1 + 192 | 0); + b2Vec2__b2Vec2_28_29($1 + 200 | 0); + $3 = HEAP32[$2 + 8 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$1 + 68 >> 2] = $4; + HEAP32[$1 + 72 >> 2] = $0; + $3 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $4 = HEAP32[$3 + 32 >> 2]; + HEAP32[$1 + 76 >> 2] = $0; + HEAP32[$1 + 80 >> 2] = $4; + $3 = HEAP32[$2 + 8 >> 2]; + $4 = HEAP32[$3 + 36 >> 2]; + $0 = HEAP32[$3 + 40 >> 2]; + HEAP32[$1 + 84 >> 2] = $4; + HEAP32[$1 + 88 >> 2] = $0; + b2Cross_28float_2c_20b2Vec2_20const__29($2, Math_fround(1), $1 + 84 | 0); + $4 = HEAP32[$2 + 4 >> 2]; + $0 = HEAP32[$2 >> 2]; + HEAP32[$1 + 92 >> 2] = $0; + HEAP32[$1 + 96 >> 2] = $4; + HEAPF32[$1 + 224 >> 2] = 0; + HEAPF32[$1 + 100 >> 2] = 0; + HEAPF32[$1 + 228 >> 2] = 0; + HEAPF32[$1 + 104 >> 2] = 0; + HEAPF32[$1 + 236 >> 2] = 0; + HEAPF32[$1 + 108 >> 2] = 0; + HEAPF32[$1 + 232 >> 2] = 0; + HEAPF32[$1 + 112 >> 2] = 0; + HEAPF32[$1 + 116 >> 2] = 0; + HEAPF32[$1 + 124 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 48 >> 2]; + HEAPF32[$1 + 128 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 52 >> 2]; + HEAP8[$1 + 140 | 0] = HEAP8[HEAP32[$2 + 8 >> 2] + 44 | 0] & 1; + HEAPF32[$1 + 132 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 60 >> 2]; + HEAPF32[$1 + 136 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 64 >> 2]; + HEAP8[$1 + 141 | 0] = HEAP8[HEAP32[$2 + 8 >> 2] + 56 | 0] & 1; + HEAPF32[$1 + 240 >> 2] = 0; + HEAPF32[$1 + 244 >> 2] = 0; + b2Vec2__SetZero_28_29($1 + 192 | 0); + b2Vec2__SetZero_28_29($1 + 200 | 0); + HEAPF32[$1 + 144 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 68 >> 2]; + HEAPF32[$1 + 148 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 72 >> 2]; + __stack_pointer = $2 + 16 | 0; + return $1; +} + +function b2DynamicTree__AllocateNode_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if (HEAP32[$0 + 16 >> 2] == -1) { + if (HEAP32[$0 + 8 >> 2] != HEAP32[$0 + 12 >> 2]) { + __assert_fail(1311, 5965, 61, 9830); + wasm2js_trap(); + } + HEAP32[$1 + 8 >> 2] = HEAP32[$0 + 4 >> 2]; + HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 12 >> 2] << 1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Alloc_28int_29(Math_imul(HEAP32[$0 + 12 >> 2], 40)), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + __memcpy(HEAP32[$0 + 4 >> 2], HEAP32[$1 + 8 >> 2], Math_imul(HEAP32[$0 + 8 >> 2], 40)); + b2Free_28void__29(HEAP32[$1 + 8 >> 2]); + HEAP32[$1 + 4 >> 2] = HEAP32[$0 + 8 >> 2]; + while (1) { + if (HEAP32[$1 + 4 >> 2] < (HEAP32[$0 + 12 >> 2] - 1 | 0)) { + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$1 + 4 >> 2], 40) | 0) + 20 >> 2] = HEAP32[$1 + 4 >> 2] + 1; + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$1 + 4 >> 2], 40) | 0) + 32 >> 2] = -1; + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] + 1; + continue; + } + break; + } + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$0 + 12 >> 2] - 1 | 0, 40) | 0) + 20 >> 2] = -1; + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$0 + 12 >> 2] - 1 | 0, 40) | 0) + 32 >> 2] = -1; + HEAP32[$0 + 16 >> 2] = HEAP32[$0 + 8 >> 2]; + } + HEAP32[$1 >> 2] = HEAP32[$0 + 16 >> 2]; + HEAP32[$0 + 16 >> 2] = HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$1 >> 2], 40) | 0) + 20 >> 2]; + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$1 >> 2], 40) | 0) + 20 >> 2] = -1; + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$1 >> 2], 40) | 0) + 24 >> 2] = -1; + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$1 >> 2], 40) | 0) + 28 >> 2] = -1; + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$1 >> 2], 40) | 0) + 32 >> 2] = 0; + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$1 >> 2], 40) | 0) + 16 >> 2] = 0; + HEAP8[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$1 >> 2], 40) | 0) + 36 | 0] = 0; + HEAP32[$0 + 8 >> 2] = HEAP32[$0 + 8 >> 2] + 1; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 >> 2]; +} + +function b2Body__SetType_28b2BodyType_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + if (b2World__IsLocked_28_29_20const(HEAP32[$0 + 88 >> 2]) & 1) { + __assert_fail(9124, 4100, 117, 9237); + wasm2js_trap(); + } + label$2: { + if (b2World__IsLocked_28_29_20const(HEAP32[$0 + 88 >> 2]) & 1 | HEAP32[$0 >> 2] == HEAP32[$2 + 24 >> 2]) { + break label$2; + } + HEAP32[$0 >> 2] = HEAP32[$2 + 24 >> 2]; + b2Body__ResetMassData_28_29($0); + if (!HEAP32[$0 >> 2]) { + b2Vec2__SetZero_28_29($0 - -64 | 0); + HEAPF32[$0 + 72 >> 2] = 0; + HEAPF32[$0 + 52 >> 2] = HEAPF32[$0 + 56 >> 2]; + $1 = HEAP32[$0 + 48 >> 2]; + HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 44 >> 2]; + HEAP32[$0 + 40 >> 2] = $1; + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] & -3; + b2Body__SynchronizeFixtures_28_29($0); + } + b2Body__SetAwake_28bool_29($0, 1); + b2Vec2__SetZero_28_29($0 + 76 | 0); + HEAPF32[$0 + 84 >> 2] = 0; + HEAP32[$2 + 20 >> 2] = HEAP32[$0 + 112 >> 2]; + while (1) { + if (HEAP32[$2 + 20 >> 2]) { + HEAP32[$2 + 16 >> 2] = HEAP32[$2 + 20 >> 2]; + HEAP32[$2 + 20 >> 2] = HEAP32[HEAP32[$2 + 20 >> 2] + 12 >> 2]; + b2ContactManager__Destroy_28b2Contact__29(HEAP32[$0 + 88 >> 2] + 102868 | 0, HEAP32[HEAP32[$2 + 16 >> 2] + 4 >> 2]); + continue; + } + break; + } + HEAP32[$0 + 112 >> 2] = 0; + HEAP32[$2 + 12 >> 2] = HEAP32[$0 + 88 >> 2] + 102868; + HEAP32[$2 + 8 >> 2] = HEAP32[$0 + 100 >> 2]; + while (1) { + if (!HEAP32[$2 + 8 >> 2]) { + break label$2; + } + HEAP32[$2 + 4 >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] + 28 >> 2]; + HEAP32[$2 >> 2] = 0; + while (1) { + if (HEAP32[$2 >> 2] < HEAP32[$2 + 4 >> 2]) { + b2BroadPhase__TouchProxy_28int_29(HEAP32[$2 + 12 >> 2], HEAP32[(HEAP32[HEAP32[$2 + 8 >> 2] + 24 >> 2] + Math_imul(HEAP32[$2 >> 2], 28) | 0) + 24 >> 2]); + HEAP32[$2 >> 2] = HEAP32[$2 >> 2] + 1; + continue; + } + break; + } + HEAP32[$2 + 8 >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] + 4 >> 2]; + continue; + } + } + __stack_pointer = $2 + 32 | 0; +} + +function b2MouseJoint__b2MouseJoint_28b2MouseJointDef_20const__29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + $1 = HEAP32[$2 + 24 >> 2]; + HEAP32[$2 + 28 >> 2] = $1; + b2Joint__b2Joint_28b2JointDef_20const__29($1, HEAP32[$2 + 20 >> 2]); + HEAP32[$1 >> 2] = 18988; + b2Vec2__b2Vec2_28_29($1 + 68 | 0); + b2Vec2__b2Vec2_28_29($1 + 76 | 0); + b2Vec2__b2Vec2_28_29($1 + 96 | 0); + b2Vec2__b2Vec2_28_29($1 + 120 | 0); + b2Vec2__b2Vec2_28_29($1 + 128 | 0); + b2Mat22__b2Mat22_28_29($1 + 144 | 0); + b2Vec2__b2Vec2_28_29($1 + 160 | 0); + if (!(b2Vec2__IsValid_28_29_20const(HEAP32[$2 + 20 >> 2] + 20 | 0) & 1)) { + __assert_fail(12497, 4431, 38, 2598); + wasm2js_trap(); + } + if (!(b2IsValid_28float_29(HEAPF32[HEAP32[$2 + 20 >> 2] + 28 >> 2]) & 1 & HEAPF32[HEAP32[$2 + 20 >> 2] + 28 >> 2] >= Math_fround(0))) { + __assert_fail(8521, 4431, 39, 2598); + wasm2js_trap(); + } + if (!(b2IsValid_28float_29(HEAPF32[HEAP32[$2 + 20 >> 2] + 32 >> 2]) & 1 & HEAPF32[HEAP32[$2 + 20 >> 2] + 32 >> 2] >= Math_fround(0))) { + __assert_fail(8154, 4431, 40, 2598); + wasm2js_trap(); + } + if (!(b2IsValid_28float_29(HEAPF32[HEAP32[$2 + 20 >> 2] + 36 >> 2]) & 1 & HEAPF32[HEAP32[$2 + 20 >> 2] + 36 >> 2] >= Math_fround(0))) { + __assert_fail(8275, 4431, 41, 2598); + wasm2js_trap(); + } + $0 = HEAP32[$2 + 20 >> 2]; + $3 = HEAP32[$0 + 20 >> 2]; + $0 = HEAP32[$0 + 24 >> 2]; + HEAP32[$1 + 76 >> 2] = $3; + HEAP32[$1 + 80 >> 2] = $0; + b2MulT_28b2Transform_20const__2c_20b2Vec2_20const__29($2 + 12 | 0, b2Body__GetTransform_28_29_20const(HEAP32[$1 + 52 >> 2]), $1 + 76 | 0); + $3 = HEAP32[$2 + 16 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$1 + 68 >> 2] = $0; + HEAP32[$1 + 72 >> 2] = $3; + HEAPF32[$1 + 104 >> 2] = HEAPF32[HEAP32[$2 + 20 >> 2] + 28 >> 2]; + b2Vec2__SetZero_28_29($1 + 96 | 0); + HEAPF32[$1 + 84 >> 2] = HEAPF32[HEAP32[$2 + 20 >> 2] + 32 >> 2]; + HEAPF32[$1 + 88 >> 2] = HEAPF32[HEAP32[$2 + 20 >> 2] + 36 >> 2]; + HEAPF32[$1 + 92 >> 2] = 0; + HEAPF32[$1 + 108 >> 2] = 0; + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____erase_28std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $1; + HEAP32[$2 + 20 >> 2] = $0; + $0 = HEAP32[$2 + 20 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____get_np_5babi_v160004_5d_28_29_20const($2 + 24 | 0), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______remove_node_pointer_28std____2____tree_node_b2Fixture__2c_20void____29($0, HEAP32[$2 + 16 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______node_alloc_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + void_20std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______destroy_5babi_v160004_5d_b2Fixture__2c_20void_2c_20void__28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20b2Fixture___29(HEAP32[$2 + 12 >> 2], std____2____tree_key_value_types_b2Fixture______get_ptr_5babi_v160004_5d_28b2Fixture___29(std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long___operator__5babi_v160004_5d_28_29_20const($2 + 24 | 0))); + std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______deallocate_5babi_v160004_5d_28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20unsigned_20long_29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 16 >> 2], 1); + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____20std____2____move_loop_std____2___ClassicAlgPolicy___operator_28_29_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29_20const($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[$5 + 12 >> 2] = $2; + HEAP32[$5 + 8 >> 2] = $3; + HEAP32[$5 + 4 >> 2] = $4; + HEAP32[$5 >> 2] = $1; + while (1) { + if (bool_20std____2__operator___5babi_v160004_5d_b2Vec2__2c_20b2Vec2___28std____2__reverse_iterator_b2Vec2___20const__2c_20std____2__reverse_iterator_b2Vec2___20const__29($5 + 12 | 0, $5 + 8 | 0) & 1) { + $1 = std____2__enable_if_is_reference_decltype_28_std__declval_std____2__reverse_iterator_b2Vec2_____28_29_29___value_2c_20decltype_28std__move_28_std__declval_std____2__reverse_iterator_b2Vec2_____28_29_29_29___type_20std____2___IterOps_std____2___ClassicAlgPolicy_____iter_move_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2_____28std____2__reverse_iterator_b2Vec2____29($5 + 12 | 0); + $2 = std____2__reverse_iterator_b2Vec2____operator__5babi_v160004_5d_28_29_20const($5 + 4 | 0); + $3 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$2 + 4 >> 2] = $3; + std____2__reverse_iterator_b2Vec2____operator___5babi_v160004_5d_28_29($5 + 12 | 0); + std____2__reverse_iterator_b2Vec2____operator___5babi_v160004_5d_28_29($5 + 4 | 0); + continue; + } + break; + } + std____2__pair_std____2____unwrap_ref_decay_std____2__reverse_iterator_b2Vec2_____type_2c_20std____2____unwrap_ref_decay_std____2__reverse_iterator_b2Vec2_____type__20std____2__make_pair_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2_____2c_20std____2__reverse_iterator_b2Vec2_____29($0, $5 + 12 | 0, $5 + 4 | 0); + __stack_pointer = $5 + 16 | 0; +} + +function unsigned_20long_20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______erase_unique_b2Fixture___28b2Fixture__20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + $0 = HEAP32[$2 + 24 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____find_b2Fixture___28b2Fixture__20const__29($0, HEAP32[$2 + 20 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____end_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + label$1: { + if (std____2__operator___5babi_v160004_5d_28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__2c_20std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__29($2 + 16 | 0, $2 + 12 | 0) & 1) { + HEAP32[$2 + 28 >> 2] = 0; + break label$1; + } + HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 16 >> 2]; + std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____tree_const_iterator_5babi_v160004_5d_28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__29($2 + 8 | 0, HEAP32[$2 + 4 >> 2]); + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____erase_28std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__29($0, HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[$2 + 28 >> 2] = 1; + } + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2PolygonShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2PolygonShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2PolygonShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 552; + $0 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2PolygonShape____emscripten__internal__getContext_bool_20_28b2PolygonShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const__28bool_20_28b2PolygonShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2PrismaticJoint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 224 | 0; + __stack_pointer = $1; + HEAP32[$1 + 220 >> 2] = $0; + $0 = HEAP32[$1 + 220 >> 2]; + HEAP32[$1 + 216 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 212 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(13683, 0); + HEAP32[$1 + 176 >> 2] = HEAP32[$1 + 216 >> 2]; + b2Dump_28char_20const__2c_20____29(13849, $1 + 176 | 0); + HEAP32[$1 + 160 >> 2] = HEAP32[$1 + 212 >> 2]; + b2Dump_28char_20const__2c_20____29(13823, $1 + 160 | 0); + HEAP32[$1 + 144 >> 2] = HEAP8[$0 + 61 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14859, $1 + 144 | 0); + $2 = HEAPF32[$0 + 68 >> 2]; + HEAPF64[$1 + 136 >> 3] = HEAPF32[$0 + 72 >> 2]; + HEAPF64[$1 + 128 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14265, $1 + 128 | 0); + $2 = HEAPF32[$0 + 76 >> 2]; + HEAPF64[$1 + 120 >> 3] = HEAPF32[$0 + 80 >> 2]; + HEAPF64[$1 + 112 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14158, $1 + 112 | 0); + $2 = HEAPF32[$0 + 84 >> 2]; + HEAPF64[$1 + 104 >> 3] = HEAPF32[$0 + 88 >> 2]; + HEAPF64[$1 + 96 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14231, $1 + 96 | 0); + HEAPF64[$1 + 80 >> 3] = HEAPF32[$0 + 100 >> 2]; + b2Dump_28char_20const__2c_20____29(13167, $1 + 80 | 0); + HEAP32[$1 + 64 >> 2] = HEAP8[$0 + 140 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14660, $1 - -64 | 0); + HEAPF64[$1 + 48 >> 3] = HEAPF32[$0 + 124 >> 2]; + b2Dump_28char_20const__2c_20____29(12858, $1 + 48 | 0); + HEAPF64[$1 + 32 >> 3] = HEAPF32[$0 + 128 >> 2]; + b2Dump_28char_20const__2c_20____29(12889, $1 + 32 | 0); + HEAP32[$1 + 16 >> 2] = HEAP8[$0 + 141 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14715, $1 + 16 | 0); + HEAPF64[$1 >> 3] = HEAPF32[$0 + 136 >> 2]; + b2Dump_28char_20const__2c_20____29(13274, $1); + HEAPF64[$1 + 192 >> 3] = HEAPF32[$0 + 132 >> 2]; + b2Dump_28char_20const__2c_20____29(13246, $1 + 192 | 0); + HEAP32[$1 + 208 >> 2] = HEAP32[$0 + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(14538, $1 + 208 | 0); + __stack_pointer = $1 + 224 | 0; +} + +function void_20b2BroadPhase__UpdatePairs_b2ContactManager__28b2ContactManager__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 48 | 0; + __stack_pointer = $2; + HEAP32[$2 + 44 >> 2] = $0; + HEAP32[$2 + 40 >> 2] = $1; + $0 = HEAP32[$2 + 44 >> 2]; + HEAP32[$0 + 52 >> 2] = 0; + HEAP32[$2 + 36 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 36 >> 2] < HEAP32[$0 + 40 >> 2]) { + HEAP32[$0 + 56 >> 2] = HEAP32[HEAP32[$0 + 32 >> 2] + (HEAP32[$2 + 36 >> 2] << 2) >> 2]; + if (HEAP32[$0 + 56 >> 2] != -1) { + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2DynamicTree__GetFatAABB_28int_29_20const($0, HEAP32[$0 + 56 >> 2]), + HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + void_20b2DynamicTree__Query_b2BroadPhase__28b2BroadPhase__2c_20b2AABB_20const__29_20const($0, $0, HEAP32[$2 + 32 >> 2]); + } + HEAP32[$2 + 36 >> 2] = HEAP32[$2 + 36 >> 2] + 1; + continue; + } + break; + } + HEAP32[$2 + 28 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 28 >> 2] < HEAP32[$0 + 52 >> 2]) { + HEAP32[$2 + 24 >> 2] = HEAP32[$0 + 44 >> 2] + (HEAP32[$2 + 28 >> 2] << 3); + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2DynamicTree__GetUserData_28int_29_20const($0, HEAP32[HEAP32[$2 + 24 >> 2] >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2DynamicTree__GetUserData_28int_29_20const($0, HEAP32[HEAP32[$2 + 24 >> 2] + 4 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + b2ContactManager__AddPair_28void__2c_20void__29(HEAP32[$2 + 40 >> 2], HEAP32[$2 + 20 >> 2], HEAP32[$2 + 16 >> 2]); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 28 >> 2] + 1; + continue; + } + break; + } + HEAP32[$2 + 12 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 12 >> 2] < HEAP32[$0 + 40 >> 2]) { + HEAP32[$2 + 8 >> 2] = HEAP32[HEAP32[$0 + 32 >> 2] + (HEAP32[$2 + 12 >> 2] << 2) >> 2]; + if (HEAP32[$2 + 8 >> 2] != -1) { + b2DynamicTree__ClearMoved_28int_29($0, HEAP32[$2 + 8 >> 2]); + } + HEAP32[$2 + 12 >> 2] = HEAP32[$2 + 12 >> 2] + 1; + continue; + } + break; + } + HEAP32[$0 + 40 >> 2] = 0; + __stack_pointer = $2 + 48 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2CircleShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2CircleShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2CircleShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 534; + $0 = emscripten__internal__TypeID_b2CircleShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2CircleShape____emscripten__internal__getContext_bool_20_28b2CircleShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const__28bool_20_28b2CircleShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2RayCastCallback____29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29___invoke_b2RayCastCallback_2c_20emscripten__pure_virtual_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28b2RayCastCallback____29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 473; + $0 = emscripten__internal__TypeID_b2RayCastCallback_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__pure_virtual_2c_20emscripten__allow_raw_pointers___ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RayCastCallback__2c_20unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__pure_virtual_2c_20emscripten__allow_raw_pointers___ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RayCastCallback__2c_20unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2RayCastCallback____emscripten__internal__getContext_float_20_28b2RayCastCallback____29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29__28float_20_28b2RayCastCallback____20const__29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29_29_29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29($2 + 16 | 0) | 0, 1, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2EdgeShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2EdgeShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2EdgeShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 542; + $0 = emscripten__internal__TypeID_b2EdgeShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2EdgeShape____emscripten__internal__getContext_bool_20_28b2EdgeShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const__28bool_20_28b2EdgeShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function embind_init_builtin_28_29() { + _embind_register_void(24276, 10108); + _embind_register_bool(24300, 6964, 1, 1, 0); + _embind_register_integer(24312, 4093, 1, -128, 127); + _embind_register_integer(24336, 4086, 1, -128, 127); + _embind_register_integer(24324, 4084, 1, 0, 255); + _embind_register_integer(24348, 1883, 2, -32768, 32767); + _embind_register_integer(24360, 1874, 2, 0, 65535); + _embind_register_integer(24372, 2795, 4, -2147483648, 2147483647); + _embind_register_integer(24384, 2786, 4, 0, -1); + _embind_register_integer(24396, 7621, 4, -2147483648, 2147483647); + _embind_register_integer(24408, 7612, 4, 0, -1); + legalfunc$_embind_register_bigint(24420, 3235, 8, 0, -2147483648, -1, 2147483647); + legalfunc$_embind_register_bigint(24432, 3234, 8, 0, 0, -1, -1); + _embind_register_float(24444, 3228, 4); + _embind_register_float(24456, 9667, 8); + _embind_register_std_string(25532, 7652); + _embind_register_std_string(19800, 11774); + _embind_register_std_wstring(19872, 4, 7626); + _embind_register_std_wstring(19948, 2, 7664); + _embind_register_std_wstring(20024, 4, 7679); + _embind_register_emval(25092, 6984); + _embind_register_memory_view(20064, 0, 11705); + _embind_register_memory_view(20104, 0, 11807); + _embind_register_memory_view(20144, 1, 11735); + _embind_register_memory_view(20184, 2, 11270); + _embind_register_memory_view(20224, 3, 11301); + _embind_register_memory_view(20264, 4, 11341); + _embind_register_memory_view(20304, 5, 11370); + _embind_register_memory_view(20344, 4, 11844); + _embind_register_memory_view(20384, 5, 11874); + _embind_register_memory_view(20104, 0, 11472); + _embind_register_memory_view(20144, 1, 11439); + _embind_register_memory_view(20184, 2, 11538); + _embind_register_memory_view(20224, 3, 11504); + _embind_register_memory_view(20264, 4, 11672); + _embind_register_memory_view(20304, 5, 11638); + _embind_register_memory_view(20424, 8, 11605); + _embind_register_memory_view(20464, 9, 11571); + _embind_register_memory_view(20504, 6, 11408); + _embind_register_memory_view(20544, 7, 11913); +} + +function std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____20std____2____move_loop_std____2___ClassicAlgPolicy___operator_28_29_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29_20const($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[$5 + 12 >> 2] = $2; + HEAP32[$5 + 8 >> 2] = $3; + HEAP32[$5 + 4 >> 2] = $4; + HEAP32[$5 >> 2] = $1; + while (1) { + if (bool_20std____2__operator___5babi_v160004_5d_int__2c_20int___28std____2__reverse_iterator_int___20const__2c_20std____2__reverse_iterator_int___20const__29($5 + 12 | 0, $5 + 8 | 0) & 1) { + $1 = HEAP32[std____2__enable_if_is_reference_decltype_28_std__declval_std____2__reverse_iterator_int_____28_29_29___value_2c_20decltype_28std__move_28_std__declval_std____2__reverse_iterator_int_____28_29_29_29___type_20std____2___IterOps_std____2___ClassicAlgPolicy_____iter_move_5babi_v160004_5d_std____2__reverse_iterator_int_____28std____2__reverse_iterator_int____29($5 + 12 | 0) >> 2]; + wasm2js_i32$0 = std____2__reverse_iterator_int____operator__5babi_v160004_5d_28_29_20const($5 + 4 | 0), + wasm2js_i32$1 = $1, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + std____2__reverse_iterator_int____operator___5babi_v160004_5d_28_29($5 + 12 | 0); + std____2__reverse_iterator_int____operator___5babi_v160004_5d_28_29($5 + 4 | 0); + continue; + } + break; + } + std____2__pair_std____2____unwrap_ref_decay_std____2__reverse_iterator_int_____type_2c_20std____2____unwrap_ref_decay_std____2__reverse_iterator_int_____type__20std____2__make_pair_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int_____2c_20std____2__reverse_iterator_int_____29($0, $5 + 12 | 0, $5 + 4 | 0); + __stack_pointer = $5 + 16 | 0; +} + +function __cxxabiv1____vmi_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 + 8 >> 2], $5)) { + __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($1, $1, $2, $3, $4); + return; + } + $6 = HEAPU8[$1 + 53 | 0]; + $8 = HEAP32[$0 + 12 >> 2]; + HEAP8[$1 + 53 | 0] = 0; + $7 = HEAPU8[$1 + 52 | 0]; + HEAP8[$1 + 52 | 0] = 0; + $12 = $0 + 16 | 0; + __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($12, $1, $2, $3, $4, $5); + $9 = HEAPU8[$1 + 53 | 0]; + $11 = $9 | $6; + $10 = HEAPU8[$1 + 52 | 0]; + $7 = $10 | $7; + $6 = $0 + 24 | 0; + $8 = ($8 << 3) + $12 | 0; + label$2: { + if ($6 >>> 0 >= $8 >>> 0) { + break label$2; + } + while (1) { + if (HEAPU8[$1 + 54 | 0]) { + break label$2; + } + label$4: { + if ($10) { + if (HEAP32[$1 + 24 >> 2] == 1) { + break label$2; + } + if (HEAPU8[$0 + 8 | 0] & 2) { + break label$4; + } + break label$2; + } + if (!$9) { + break label$4; + } + if (!(HEAP8[$0 + 8 | 0] & 1)) { + break label$2; + } + } + HEAP16[$1 + 52 >> 1] = 0; + __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($6, $1, $2, $3, $4, $5); + $9 = HEAPU8[$1 + 53 | 0]; + $11 = $9 | $11; + $10 = HEAPU8[$1 + 52 | 0]; + $7 = $10 | $7; + $6 = $6 + 8 | 0; + if ($8 >>> 0 > $6 >>> 0) { + continue; + } + break; + } + } + HEAP8[$1 + 53 | 0] = ($11 & 255) != 0; + HEAP8[$1 + 52 | 0] = ($7 & 255) != 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Shape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2Shape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2Shape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 523; + $0 = emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2Shape____emscripten__internal__getContext_bool_20_28b2Shape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const__28bool_20_28b2Shape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2Simplex__Solve2_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 48 | 0; + __stack_pointer = $2; + HEAP32[$2 + 44 >> 2] = $0; + $1 = HEAP32[$2 + 44 >> 2]; + $3 = HEAP32[$1 + 16 >> 2]; + $0 = HEAP32[$1 + 20 >> 2]; + HEAP32[$2 + 32 >> 2] = $3; + HEAP32[$2 + 36 >> 2] = $0; + $3 = HEAP32[$1 + 56 >> 2]; + $0 = HEAP32[$1 + 52 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 28 >> 2] = $3; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 16 | 0, $2 + 24 | 0, $2 + 32 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(-b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 32 | 0, $2 + 16 | 0)), + HEAPF32[wasm2js_i32$0 + 12 >> 2] = wasm2js_f32$0; + label$1: { + if (HEAPF32[$2 + 12 >> 2] <= Math_fround(0)) { + HEAPF32[$1 + 24 >> 2] = 1; + HEAP32[$1 + 108 >> 2] = 1; + break label$1; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 24 | 0, $2 + 16 | 0), + HEAPF32[wasm2js_i32$0 + 8 >> 2] = wasm2js_f32$0; + if (HEAPF32[$2 + 8 >> 2] <= Math_fround(0)) { + HEAPF32[$1 + 60 >> 2] = 1; + HEAP32[$1 + 108 >> 2] = 1; + $0 = HEAP32[$1 + 40 >> 2]; + $3 = HEAP32[$1 + 36 >> 2]; + HEAP32[$1 >> 2] = $3; + HEAP32[$1 + 4 >> 2] = $0; + HEAP32[$1 + 32 >> 2] = HEAP32[$1 + 68 >> 2]; + $3 = HEAP32[$1 + 64 >> 2]; + $0 = HEAP32[$1 + 60 >> 2]; + HEAP32[$1 + 24 >> 2] = $0; + HEAP32[$1 + 28 >> 2] = $3; + $0 = HEAP32[$1 + 56 >> 2]; + $3 = HEAP32[$1 + 52 >> 2]; + HEAP32[$1 + 16 >> 2] = $3; + HEAP32[$1 + 20 >> 2] = $0; + $3 = HEAP32[$1 + 48 >> 2]; + $0 = HEAP32[$1 + 44 >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 + 12 >> 2] = $3; + break label$1; + } + HEAPF32[$2 + 4 >> 2] = Math_fround(1) / Math_fround(HEAPF32[$2 + 8 >> 2] + HEAPF32[$2 + 12 >> 2]); + HEAPF32[$1 + 24 >> 2] = HEAPF32[$2 + 8 >> 2] * HEAPF32[$2 + 4 >> 2]; + HEAPF32[$1 + 60 >> 2] = HEAPF32[$2 + 12 >> 2] * HEAPF32[$2 + 4 >> 2]; + HEAP32[$1 + 108 >> 2] = 2; + } + __stack_pointer = $2 + 48 | 0; +} + +function emscripten__internal__WireTypePack_unsigned_20int__2c_20int__2c_20b2Color_20const____WireTypePack_28unsigned_20int__2c_20int__2c_20b2Color_20const__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer + -64 | 0; + __stack_pointer = $4; + HEAP32[$4 + 24 >> 2] = $0; + HEAP32[$4 + 20 >> 2] = $1; + HEAP32[$4 + 16 >> 2] = $2; + HEAP32[$4 + 12 >> 2] = $3; + $0 = HEAP32[$4 + 24 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$4 + 20 >> 2]; + $2 = HEAP32[$4 + 16 >> 2]; + $3 = HEAP32[$4 + 12 >> 2]; + HEAP32[$4 + 40 >> 2] = $4 + 8; + HEAP32[$4 + 36 >> 2] = $1; + HEAP32[$4 + 32 >> 2] = $2; + HEAP32[$4 + 28 >> 2] = $3; + void_20emscripten__internal__writeGenericWireType_unsigned_20int__28emscripten__internal__GenericWireType___2c_20unsigned_20int_29(HEAP32[$4 + 40 >> 2], emscripten__internal__BindingType_unsigned_20int_2c_20void___toWireType_28unsigned_20int_20const__29(HEAP32[$4 + 36 >> 2])); + $1 = HEAP32[$4 + 32 >> 2]; + $2 = HEAP32[$4 + 28 >> 2]; + HEAP32[$4 + 52 >> 2] = HEAP32[$4 + 40 >> 2]; + HEAP32[$4 + 48 >> 2] = $1; + HEAP32[$4 + 44 >> 2] = $2; + void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[$4 + 52 >> 2], emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[$4 + 48 >> 2])); + $1 = HEAP32[$4 + 44 >> 2]; + HEAP32[$4 + 60 >> 2] = HEAP32[$4 + 52 >> 2]; + HEAP32[$4 + 56 >> 2] = $1; + void_20emscripten__internal__writeGenericWireType_b2Color__28emscripten__internal__GenericWireType___2c_20b2Color__29(HEAP32[$4 + 60 >> 2], emscripten__internal__GenericBindingType_b2Color___toWireType_28b2Color_20const__29(HEAP32[$4 + 56 >> 2])); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[$4 + 60 >> 2]); + __stack_pointer = $4 - -64 | 0; + return $0; +} + +function emscripten__internal__WireTypePack_b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____WireTypePack_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer + -64 | 0; + __stack_pointer = $4; + HEAP32[$4 + 24 >> 2] = $0; + HEAP32[$4 + 20 >> 2] = $1; + HEAP32[$4 + 16 >> 2] = $2; + HEAP32[$4 + 12 >> 2] = $3; + $0 = HEAP32[$4 + 24 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$4 + 20 >> 2]; + $2 = HEAP32[$4 + 16 >> 2]; + $3 = HEAP32[$4 + 12 >> 2]; + HEAP32[$4 + 40 >> 2] = $4 + 8; + HEAP32[$4 + 36 >> 2] = $1; + HEAP32[$4 + 32 >> 2] = $2; + HEAP32[$4 + 28 >> 2] = $3; + void_20emscripten__internal__writeGenericWireType_b2Vec2__28emscripten__internal__GenericWireType___2c_20b2Vec2__29(HEAP32[$4 + 40 >> 2], emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$4 + 36 >> 2])); + $1 = HEAP32[$4 + 32 >> 2]; + $2 = HEAP32[$4 + 28 >> 2]; + HEAP32[$4 + 52 >> 2] = HEAP32[$4 + 40 >> 2]; + HEAP32[$4 + 48 >> 2] = $1; + HEAP32[$4 + 44 >> 2] = $2; + void_20emscripten__internal__writeGenericWireType_b2Vec2__28emscripten__internal__GenericWireType___2c_20b2Vec2__29(HEAP32[$4 + 52 >> 2], emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$4 + 48 >> 2])); + $1 = HEAP32[$4 + 44 >> 2]; + HEAP32[$4 + 60 >> 2] = HEAP32[$4 + 52 >> 2]; + HEAP32[$4 + 56 >> 2] = $1; + void_20emscripten__internal__writeGenericWireType_b2Color__28emscripten__internal__GenericWireType___2c_20b2Color__29(HEAP32[$4 + 60 >> 2], emscripten__internal__GenericBindingType_b2Color___toWireType_28b2Color_20const__29(HEAP32[$4 + 56 >> 2])); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[$4 + 60 >> 2]); + __stack_pointer = $4 - -64 | 0; + return $0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28unsigned_20long_2c_20b2Vec2_20const__29___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28char_20const__2c_20void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28unsigned_20long_2c_20b2Vec2_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 704; + $0 = emscripten__internal__TypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______emscripten__internal__getContext_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28unsigned_20long_2c_20b2Vec2_20const__29__28void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28unsigned_20long_2c_20b2Vec2_20const__29_29_29_28unsigned_20long_2c_20b2Vec2_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______append_28unsigned_20long_2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 44 >> 2] = $0; + HEAP32[$3 + 40 >> 2] = $1; + HEAP32[$3 + 36 >> 2] = $2; + $0 = HEAP32[$3 + 44 >> 2]; + label$1: { + if (HEAP32[std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______end_cap_5babi_v160004_5d_28_29($0) >> 2] - HEAP32[$0 + 4 >> 2] >> 3 >>> 0 >= HEAPU32[$3 + 40 >> 2]) { + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______construct_at_end_28unsigned_20long_2c_20b2Vec2_20const__29($0, HEAP32[$3 + 40 >> 2], HEAP32[$3 + 36 >> 2]); + break label$1; + } + wasm2js_i32$0 = $3, wasm2js_i32$1 = std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______alloc_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______split_buffer_28unsigned_20long_2c_20unsigned_20long_2c_20std____2__allocator_b2Vec2___29($3 + 12 | 0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______recommend_5babi_v160004_5d_28unsigned_20long_29_20const($0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const($0) + HEAP32[$3 + 40 >> 2] | 0), std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const($0), HEAP32[$3 + 32 >> 2]); + std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______construct_at_end_28unsigned_20long_2c_20b2Vec2_20const__29($3 + 12 | 0, HEAP32[$3 + 40 >> 2], HEAP32[$3 + 36 >> 2]); + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______swap_out_circular_buffer_28std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_____29($0, $3 + 12 | 0); + std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2________split_buffer_28_29($3 + 12 | 0); + } + __stack_pointer = $3 + 48 | 0; +} + +function b2ComputeEdgeSeparation_28b2TempPolygon_20const__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer + -64 | 0; + __stack_pointer = $4; + HEAP32[$4 + 60 >> 2] = $1; + HEAP32[$4 + 56 >> 2] = $2; + HEAP32[$4 + 52 >> 2] = $3; + b2EPAxis__b2EPAxis_28_29($0); + HEAP32[$0 + 8 >> 2] = 1; + HEAP32[$0 + 12 >> 2] = -1; + HEAPF32[$0 + 16 >> 2] = -34028234663852886e22; + b2Vec2__SetZero_28_29($0); + $3 = HEAP32[$4 + 52 >> 2]; + $1 = HEAP32[$3 >> 2]; + $2 = HEAP32[$3 + 4 >> 2]; + $3 = $1; + $1 = $4 + 32 | 0; + HEAP32[$1 >> 2] = $3; + HEAP32[$1 + 4 >> 2] = $2; + b2Vec2__operator__28_29_20const($1 + 8 | 0, HEAP32[$4 + 52 >> 2]); + HEAP32[$4 + 28 >> 2] = 0; + while (1) { + if (HEAP32[$4 + 28 >> 2] < 2) { + HEAPF32[$4 + 24 >> 2] = 34028234663852886e22; + HEAP32[$4 + 20 >> 2] = 0; + while (1) { + if (HEAP32[$4 + 20 >> 2] < HEAP32[HEAP32[$4 + 60 >> 2] + 128 >> 2]) { + $1 = HEAP32[$4 + 28 >> 2] << 3; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 8 | 0, HEAP32[$4 + 60 >> 2] + (HEAP32[$4 + 20 >> 2] << 3) | 0, HEAP32[$4 + 56 >> 2]); + wasm2js_i32$0 = $4, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + ($4 + 32 | 0) | 0, $4 + 8 | 0), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + if (HEAPF32[$4 + 16 >> 2] < HEAPF32[$4 + 24 >> 2]) { + HEAPF32[$4 + 24 >> 2] = HEAPF32[$4 + 16 >> 2]; + } + HEAP32[$4 + 20 >> 2] = HEAP32[$4 + 20 >> 2] + 1; + continue; + } + break; + } + if (HEAPF32[$4 + 24 >> 2] > HEAPF32[$0 + 16 >> 2]) { + HEAP32[$0 + 12 >> 2] = HEAP32[$4 + 28 >> 2]; + HEAPF32[$0 + 16 >> 2] = HEAPF32[$4 + 24 >> 2]; + $3 = ($4 + 32 | 0) + (HEAP32[$4 + 28 >> 2] << 3) | 0; + $2 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + } + HEAP32[$4 + 28 >> 2] = HEAP32[$4 + 28 >> 2] + 1; + continue; + } + break; + } + __stack_pointer = $4 - -64 | 0; +} + +function std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____20std____2____unwrap_range_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $1; + HEAP32[$3 + 24 >> 2] = $2; + HEAP32[$3 + 16 >> 2] = HEAP32[$3 + 28 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false_____unwrap_28std__declval_std____2__reverse_iterator_b2Vec2____28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false__2c_200__28std____2__reverse_iterator_b2Vec2___29(HEAP32[$3 + 16 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + HEAP32[$3 + 8 >> 2] = HEAP32[$3 + 24 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false_____unwrap_28std__declval_std____2__reverse_iterator_b2Vec2____28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false__2c_200__28std____2__reverse_iterator_b2Vec2___29(HEAP32[$3 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + std____2__pair_std____2____unwrap_ref_decay_std____2__reverse_iterator_b2Vec2_____type_2c_20std____2____unwrap_ref_decay_std____2__reverse_iterator_b2Vec2_____type__20std____2__make_pair_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2_____2c_20std____2__reverse_iterator_b2Vec2_____29($0, $3 + 20 | 0, $3 + 12 | 0); + __stack_pointer = $3 + 32 | 0; +} + +function b2Fixture__Destroy_28b2BlockAllocator__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + if (HEAP32[$0 + 28 >> 2]) { + __assert_fail(12304, 5695, 76, 1607); + wasm2js_trap(); + } + $1 = HEAP32[$0 + 12 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 12 >> 2]]($1) | 0, + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 24 >> 2], HEAP32[$0 + 24 >> 2], Math_imul(HEAP32[$2 + 20 >> 2], 28)); + HEAP32[$0 + 24 >> 2] = 0; + label$2: { + label$3: { + switch (HEAP32[HEAP32[$0 + 12 >> 2] + 4 >> 2]) { + case 0: + HEAP32[$2 + 16 >> 2] = HEAP32[$0 + 12 >> 2]; + $1 = HEAP32[$2 + 16 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] >> 2]]($1) | 0; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 24 >> 2], HEAP32[$2 + 16 >> 2], 20); + break label$2; + + case 1: + HEAP32[$2 + 12 >> 2] = HEAP32[$0 + 12 >> 2]; + $1 = HEAP32[$2 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] >> 2]]($1) | 0; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 24 >> 2], HEAP32[$2 + 12 >> 2], 48); + break label$2; + + case 2: + HEAP32[$2 + 8 >> 2] = HEAP32[$0 + 12 >> 2]; + $1 = HEAP32[$2 + 8 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] >> 2]]($1) | 0; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 24 >> 2], HEAP32[$2 + 8 >> 2], 152); + break label$2; + + case 3: + HEAP32[$2 + 4 >> 2] = HEAP32[$0 + 12 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] >> 2]]($1) | 0; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 24 >> 2], HEAP32[$2 + 4 >> 2], 36); + break label$2; + + default: + break label$3; + } + } + __assert_fail(9147, 5695, 119, 1607); + wasm2js_trap(); + } + HEAP32[$0 + 12 >> 2] = 0; + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__WireTypePack_b2Vec2_20const__2c_20float__2c_20b2Color_20const____WireTypePack_28b2Vec2_20const__2c_20float__2c_20b2Color_20const__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer + -64 | 0; + __stack_pointer = $4; + HEAP32[$4 + 24 >> 2] = $0; + HEAP32[$4 + 20 >> 2] = $1; + HEAP32[$4 + 16 >> 2] = $2; + HEAP32[$4 + 12 >> 2] = $3; + $0 = HEAP32[$4 + 24 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$4 + 20 >> 2]; + $2 = HEAP32[$4 + 16 >> 2]; + $3 = HEAP32[$4 + 12 >> 2]; + HEAP32[$4 + 40 >> 2] = $4 + 8; + HEAP32[$4 + 36 >> 2] = $1; + HEAP32[$4 + 32 >> 2] = $2; + HEAP32[$4 + 28 >> 2] = $3; + void_20emscripten__internal__writeGenericWireType_b2Vec2__28emscripten__internal__GenericWireType___2c_20b2Vec2__29(HEAP32[$4 + 40 >> 2], emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$4 + 36 >> 2])); + $1 = HEAP32[$4 + 32 >> 2]; + $2 = HEAP32[$4 + 28 >> 2]; + HEAP32[$4 + 52 >> 2] = HEAP32[$4 + 40 >> 2]; + HEAP32[$4 + 48 >> 2] = $1; + HEAP32[$4 + 44 >> 2] = $2; + emscripten__internal__writeGenericWireType_28emscripten__internal__GenericWireType___2c_20float_29(HEAP32[$4 + 52 >> 2], emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$4 + 48 >> 2])); + $1 = HEAP32[$4 + 44 >> 2]; + HEAP32[$4 + 60 >> 2] = HEAP32[$4 + 52 >> 2]; + HEAP32[$4 + 56 >> 2] = $1; + void_20emscripten__internal__writeGenericWireType_b2Color__28emscripten__internal__GenericWireType___2c_20b2Color__29(HEAP32[$4 + 60 >> 2], emscripten__internal__GenericBindingType_b2Color___toWireType_28b2Color_20const__29(HEAP32[$4 + 56 >> 2])); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[$4 + 60 >> 2]); + __stack_pointer = $4 - -64 | 0; + return $0; +} + +function b2ComputePolygonSeparation_28b2TempPolygon_20const__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer + -64 | 0; + __stack_pointer = $4; + HEAP32[$4 + 60 >> 2] = $1; + HEAP32[$4 + 56 >> 2] = $2; + HEAP32[$4 + 52 >> 2] = $3; + b2EPAxis__b2EPAxis_28_29($0); + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = -1; + HEAPF32[$0 + 16 >> 2] = -34028234663852886e22; + b2Vec2__SetZero_28_29($0); + HEAP32[$4 + 48 >> 2] = 0; + while (1) { + if (HEAP32[$4 + 48 >> 2] < HEAP32[HEAP32[$4 + 60 >> 2] + 128 >> 2]) { + b2Vec2__operator__28_29_20const($4 + 40 | 0, (HEAP32[$4 + 60 >> 2] - -64 | 0) + (HEAP32[$4 + 48 >> 2] << 3) | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 28 | 0, HEAP32[$4 + 60 >> 2] + (HEAP32[$4 + 48 >> 2] << 3) | 0, HEAP32[$4 + 56 >> 2]); + wasm2js_i32$0 = $4, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 40 | 0, $4 + 28 | 0), + HEAPF32[wasm2js_i32$0 + 36 >> 2] = wasm2js_f32$0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 16 | 0, HEAP32[$4 + 60 >> 2] + (HEAP32[$4 + 48 >> 2] << 3) | 0, HEAP32[$4 + 52 >> 2]); + wasm2js_i32$0 = $4, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 40 | 0, $4 + 16 | 0), + HEAPF32[wasm2js_i32$0 + 24 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $4, wasm2js_f32$0 = float_20b2Min_float__28float_2c_20float_29(HEAPF32[$4 + 36 >> 2], HEAPF32[$4 + 24 >> 2]), + HEAPF32[wasm2js_i32$0 + 12 >> 2] = wasm2js_f32$0; + if (HEAPF32[$4 + 12 >> 2] > HEAPF32[$0 + 16 >> 2]) { + HEAP32[$0 + 8 >> 2] = 2; + HEAP32[$0 + 12 >> 2] = HEAP32[$4 + 48 >> 2]; + HEAPF32[$0 + 16 >> 2] = HEAPF32[$4 + 12 >> 2]; + $1 = HEAP32[$4 + 44 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$4 + 40 >> 2]; + HEAP32[$0 + 4 >> 2] = $1; + } + HEAP32[$4 + 48 >> 2] = HEAP32[$4 + 48 >> 2] + 1; + continue; + } + break; + } + __stack_pointer = $4 - -64 | 0; +} + +function b2PolygonShape__ComputeAABB_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 96 | 0; + __stack_pointer = $4; + HEAP32[$4 + 92 >> 2] = $0; + HEAP32[$4 + 88 >> 2] = $1; + HEAP32[$4 + 84 >> 2] = $2; + HEAP32[$4 + 80 >> 2] = $3; + $2 = HEAP32[$4 + 92 >> 2]; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 72 | 0, HEAP32[$4 + 84 >> 2], $2 + 20 | 0); + $1 = HEAP32[$4 + 76 >> 2]; + $0 = HEAP32[$4 + 72 >> 2]; + HEAP32[$4 + 64 >> 2] = $0; + HEAP32[$4 + 68 >> 2] = $1; + HEAP32[$4 + 60 >> 2] = 1; + while (1) { + if (HEAP32[$4 + 60 >> 2] < HEAP32[$2 + 148 >> 2]) { + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 52 | 0, HEAP32[$4 + 84 >> 2], ($2 + 20 | 0) + (HEAP32[$4 + 60 >> 2] << 3) | 0); + b2Min_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 44 | 0, $4 + 72 | 0, $4 + 52 | 0); + $0 = HEAP32[$4 + 48 >> 2]; + $1 = HEAP32[$4 + 44 >> 2]; + HEAP32[$4 + 72 >> 2] = $1; + HEAP32[$4 + 76 >> 2] = $0; + b2Max_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 36 | 0, $4 - -64 | 0, $4 + 52 | 0); + $1 = HEAP32[$4 + 40 >> 2]; + $0 = HEAP32[$4 + 36 >> 2]; + HEAP32[$4 + 64 >> 2] = $0; + HEAP32[$4 + 68 >> 2] = $1; + HEAP32[$4 + 60 >> 2] = HEAP32[$4 + 60 >> 2] + 1; + continue; + } + break; + } + b2Vec2__b2Vec2_28float_2c_20float_29($4 + 28 | 0, HEAPF32[$2 + 8 >> 2], HEAPF32[$2 + 8 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 20 | 0, $4 + 72 | 0, $4 + 28 | 0); + $0 = HEAP32[$4 + 24 >> 2]; + $1 = HEAP32[$4 + 20 >> 2]; + $2 = $1; + $1 = HEAP32[$4 + 88 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($4 + 12 | 0, $4 - -64 | 0, $4 + 28 | 0); + $1 = HEAP32[$4 + 16 >> 2]; + $0 = HEAP32[$4 + 12 >> 2]; + $2 = $0; + $0 = HEAP32[$4 + 88 >> 2]; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + __stack_pointer = $4 + 96 | 0; +} + +function b2ChainShape__GetChildEdge_28b2EdgeShape__2c_20int_29_20const($0, $1, $2) { + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = HEAP32[$3 + 12 >> 2]; + if (!(HEAP32[$3 + 4 >> 2] < (HEAP32[$2 + 16 >> 2] - 1 | 0) & HEAP32[$3 + 4 >> 2] >= 0)) { + __assert_fail(12132, 5828, 102, 9812); + wasm2js_trap(); + } + HEAP32[HEAP32[$3 + 8 >> 2] + 4 >> 2] = 1; + HEAPF32[HEAP32[$3 + 8 >> 2] + 8 >> 2] = HEAPF32[$2 + 8 >> 2]; + $4 = HEAP32[$2 + 12 >> 2] + (HEAP32[$3 + 4 >> 2] << 3) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + $4 = $0; + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$0 + 12 >> 2] = $4; + HEAP32[$0 + 16 >> 2] = $1; + $4 = HEAP32[$2 + 12 >> 2] + (HEAP32[$3 + 4 >> 2] + 1 << 3) | 0; + $1 = HEAP32[$4 >> 2]; + $0 = HEAP32[$4 + 4 >> 2]; + $4 = $1; + $1 = HEAP32[$3 + 8 >> 2]; + HEAP32[$1 + 20 >> 2] = $4; + HEAP32[$1 + 24 >> 2] = $0; + HEAP8[HEAP32[$3 + 8 >> 2] + 44 | 0] = 1; + label$3: { + if (HEAP32[$3 + 4 >> 2] > 0) { + $4 = HEAP32[$2 + 12 >> 2] + (HEAP32[$3 + 4 >> 2] - 1 << 3) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + $4 = $0; + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$0 + 28 >> 2] = $4; + HEAP32[$0 + 32 >> 2] = $1; + break label$3; + } + $0 = HEAP32[$2 + 24 >> 2]; + $1 = HEAP32[$2 + 20 >> 2]; + $4 = $1; + $1 = HEAP32[$3 + 8 >> 2]; + HEAP32[$1 + 28 >> 2] = $4; + HEAP32[$1 + 32 >> 2] = $0; + } + label$5: { + if (HEAP32[$3 + 4 >> 2] < (HEAP32[$2 + 16 >> 2] - 2 | 0)) { + $4 = HEAP32[$2 + 12 >> 2] + (HEAP32[$3 + 4 >> 2] + 2 << 3) | 0; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + $2 = $0; + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$0 + 36 >> 2] = $2; + HEAP32[$0 + 40 >> 2] = $1; + break label$5; + } + $0 = HEAP32[$2 + 32 >> 2]; + $1 = HEAP32[$2 + 28 >> 2]; + $2 = $1; + $1 = HEAP32[$3 + 8 >> 2]; + HEAP32[$1 + 36 >> 2] = $2; + HEAP32[$1 + 40 >> 2] = $0; + } + __stack_pointer = $3 + 16 | 0; +} + +function b2Fixture__Create_28b2BlockAllocator__2c_20b2Body__2c_20b2FixtureDef_20const__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 28 >> 2] = $0; + HEAP32[$4 + 24 >> 2] = $1; + HEAP32[$4 + 20 >> 2] = $2; + HEAP32[$4 + 16 >> 2] = $3; + $0 = HEAP32[$4 + 28 >> 2]; + HEAP32[$0 + 40 >> 2] = HEAP32[HEAP32[$4 + 16 >> 2] + 4 >> 2]; + HEAPF32[$0 + 16 >> 2] = HEAPF32[HEAP32[$4 + 16 >> 2] + 8 >> 2]; + HEAPF32[$0 + 20 >> 2] = HEAPF32[HEAP32[$4 + 16 >> 2] + 12 >> 2]; + HEAP32[$0 + 8 >> 2] = HEAP32[$4 + 20 >> 2]; + HEAP32[$0 + 4 >> 2] = 0; + $1 = HEAP32[$4 + 16 >> 2]; + $2 = HEAPU16[$1 + 22 >> 1] | HEAPU16[$1 + 24 >> 1] << 16; + HEAP16[$0 + 32 >> 1] = $2; + HEAP16[$0 + 34 >> 1] = $2 >>> 16; + HEAP16[$0 + 36 >> 1] = HEAPU16[$1 + 26 >> 1]; + HEAP8[$0 + 38 | 0] = HEAP8[HEAP32[$4 + 16 >> 2] + 20 | 0] & 1; + $1 = HEAP32[HEAP32[$4 + 16 >> 2] >> 2]; + wasm2js_i32$0 = $0, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 8 >> 2]]($1, HEAP32[$4 + 24 >> 2]) | 0, + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$0 + 12 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 12 >> 2]]($1) | 0, + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$4 + 24 >> 2], Math_imul(HEAP32[$4 + 12 >> 2], 28)), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + HEAP32[$4 + 8 >> 2] = 0; + while (1) { + if (HEAP32[$4 + 8 >> 2] < HEAP32[$4 + 12 >> 2]) { + HEAP32[(HEAP32[$0 + 24 >> 2] + Math_imul(HEAP32[$4 + 8 >> 2], 28) | 0) + 16 >> 2] = 0; + HEAP32[(HEAP32[$0 + 24 >> 2] + Math_imul(HEAP32[$4 + 8 >> 2], 28) | 0) + 24 >> 2] = -1; + HEAP32[$4 + 8 >> 2] = HEAP32[$4 + 8 >> 2] + 1; + continue; + } + break; + } + HEAP32[$0 + 28 >> 2] = 0; + HEAPF32[$0 >> 2] = HEAPF32[HEAP32[$4 + 16 >> 2] + 16 >> 2]; + __stack_pointer = $4 + 32 | 0; +} + +function b2Contact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[$5 + 40 >> 2] = $0; + HEAP32[$5 + 36 >> 2] = $1; + HEAP32[$5 + 32 >> 2] = $2; + HEAP32[$5 + 28 >> 2] = $3; + HEAP32[$5 + 24 >> 2] = $4; + if (!(HEAP8[30976] & 1)) { + b2Contact__InitializeRegisters_28_29(); + HEAP8[30976] = 1; + } + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2Fixture__GetType_28_29_20const(HEAP32[$5 + 40 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2Fixture__GetType_28_29_20const(HEAP32[$5 + 32 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + if (!(HEAP32[$5 + 20 >> 2] < 4 & HEAP32[$5 + 20 >> 2] >= 0)) { + __assert_fail(2326, 5153, 84, 8936); + wasm2js_trap(); + } + if (!(HEAP32[$5 + 16 >> 2] < 4 & HEAP32[$5 + 16 >> 2] >= 0)) { + __assert_fail(2283, 5153, 85, 8936); + wasm2js_trap(); + } + HEAP32[$5 + 12 >> 2] = HEAP32[(Math_imul(HEAP32[$5 + 20 >> 2], 48) + 30784 | 0) + Math_imul(HEAP32[$5 + 16 >> 2], 12) >> 2]; + label$6: { + if (HEAP32[$5 + 12 >> 2]) { + if (HEAP8[((Math_imul(HEAP32[$5 + 20 >> 2], 48) + 30784 | 0) + Math_imul(HEAP32[$5 + 16 >> 2], 12) | 0) + 8 | 0] & 1) { + wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[$5 + 12 >> 2]](HEAP32[$5 + 40 >> 2], HEAP32[$5 + 36 >> 2], HEAP32[$5 + 32 >> 2], HEAP32[$5 + 28 >> 2], HEAP32[$5 + 24 >> 2]) | 0, + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + break label$6; + } + wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[$5 + 12 >> 2]](HEAP32[$5 + 32 >> 2], HEAP32[$5 + 28 >> 2], HEAP32[$5 + 40 >> 2], HEAP32[$5 + 36 >> 2], HEAP32[$5 + 24 >> 2]) | 0, + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + break label$6; + } + HEAP32[$5 + 44 >> 2] = 0; + } + __stack_pointer = $5 + 48 | 0; + return HEAP32[$5 + 44 >> 2]; +} + +function std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____20std____2____unwrap_range_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $1; + HEAP32[$3 + 24 >> 2] = $2; + HEAP32[$3 + 16 >> 2] = HEAP32[$3 + 28 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false_____unwrap_28std__declval_std____2__reverse_iterator_int____28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false__2c_200__28std____2__reverse_iterator_int___29(HEAP32[$3 + 16 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + HEAP32[$3 + 8 >> 2] = HEAP32[$3 + 24 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false_____unwrap_28std__declval_std____2__reverse_iterator_int____28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false__2c_200__28std____2__reverse_iterator_int___29(HEAP32[$3 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + std____2__pair_std____2____unwrap_ref_decay_std____2__reverse_iterator_int_____type_2c_20std____2____unwrap_ref_decay_std____2__reverse_iterator_int_____type__20std____2__make_pair_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int_____2c_20std____2__reverse_iterator_int_____29($0, $3 + 20 | 0, $3 + 12 | 0); + __stack_pointer = $3 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28unsigned_20long_2c_20int_20const__29___invoke_std____2__vector_int_2c_20std____2__allocator_int____28char_20const__2c_20void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28unsigned_20long_2c_20int_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 698; + $0 = emscripten__internal__TypeID_std____2__vector_int_2c_20std____2__allocator_int___2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28std____2__vector_int_2c_20std____2__allocator_int______emscripten__internal__getContext_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28unsigned_20long_2c_20int_20const__29__28void_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28unsigned_20long_2c_20int_20const__29_29_29_28unsigned_20long_2c_20int_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2Joint__Destroy_28b2Joint__2c_20b2BlockAllocator__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 28 >> 2]]($0) | 0; + label$1: { + label$2: { + switch (HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2] - 1 | 0) { + case 2: + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 176); + break label$1; + + case 4: + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 168); + break label$1; + + case 1: + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 240); + break label$1; + + case 0: + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 212); + break label$1; + + case 3: + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 196); + break label$1; + + case 5: + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 276); + break label$1; + + case 6: + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 248); + break label$1; + + case 7: + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 208); + break label$1; + + case 8: + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 180); + break label$1; + + case 9: + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 164); + break label$1; + + case 10: + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 192); + break label$1; + + default: + break label$2; + } + } + __assert_fail(9147, 4569, 232, 1607); + wasm2js_trap(); + } + __stack_pointer = $2 + 16 | 0; +} + +function b2RevoluteJoint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 208 | 0; + __stack_pointer = $1; + HEAP32[$1 + 204 >> 2] = $0; + $0 = HEAP32[$1 + 204 >> 2]; + HEAP32[$1 + 200 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 196 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(13587, 0); + HEAP32[$1 + 160 >> 2] = HEAP32[$1 + 200 >> 2]; + b2Dump_28char_20const__2c_20____29(13849, $1 + 160 | 0); + HEAP32[$1 + 144 >> 2] = HEAP32[$1 + 196 >> 2]; + b2Dump_28char_20const__2c_20____29(13823, $1 + 144 | 0); + HEAP32[$1 + 128 >> 2] = HEAP8[$0 + 61 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14859, $1 + 128 | 0); + $2 = HEAPF32[$0 + 68 >> 2]; + HEAPF64[$1 + 120 >> 3] = HEAPF32[$0 + 72 >> 2]; + HEAPF64[$1 + 112 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14265, $1 + 112 | 0); + $2 = HEAPF32[$0 + 76 >> 2]; + HEAPF64[$1 + 104 >> 3] = HEAPF32[$0 + 80 >> 2]; + HEAPF64[$1 + 96 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14158, $1 + 96 | 0); + HEAPF64[$1 + 80 >> 3] = HEAPF32[$0 + 120 >> 2]; + b2Dump_28char_20const__2c_20____29(13167, $1 + 80 | 0); + HEAP32[$1 + 64 >> 2] = HEAP8[$0 + 116 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14660, $1 - -64 | 0); + HEAPF64[$1 + 48 >> 3] = HEAPF32[$0 + 124 >> 2]; + b2Dump_28char_20const__2c_20____29(13117, $1 + 48 | 0); + HEAPF64[$1 + 32 >> 3] = HEAPF32[$0 + 128 >> 2]; + b2Dump_28char_20const__2c_20____29(13142, $1 + 32 | 0); + HEAP32[$1 + 16 >> 2] = HEAP8[$0 + 104 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14715, $1 + 16 | 0); + HEAPF64[$1 >> 3] = HEAPF32[$0 + 112 >> 2]; + b2Dump_28char_20const__2c_20____29(13274, $1); + HEAPF64[$1 + 176 >> 3] = HEAPF32[$0 + 108 >> 2]; + b2Dump_28char_20const__2c_20____29(13068, $1 + 176 | 0); + HEAP32[$1 + 192 >> 2] = HEAP32[$0 + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(14538, $1 + 192 | 0); + __stack_pointer = $1 + 208 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______append_28unsigned_20long_2c_20int_20const__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 44 >> 2] = $0; + HEAP32[$3 + 40 >> 2] = $1; + HEAP32[$3 + 36 >> 2] = $2; + $0 = HEAP32[$3 + 44 >> 2]; + label$1: { + if (HEAP32[std____2__vector_int_2c_20std____2__allocator_int______end_cap_5babi_v160004_5d_28_29($0) >> 2] - HEAP32[$0 + 4 >> 2] >> 2 >>> 0 >= HEAPU32[$3 + 40 >> 2]) { + std____2__vector_int_2c_20std____2__allocator_int______construct_at_end_28unsigned_20long_2c_20int_20const__29($0, HEAP32[$3 + 40 >> 2], HEAP32[$3 + 36 >> 2]); + break label$1; + } + wasm2js_i32$0 = $3, wasm2js_i32$1 = std____2__vector_int_2c_20std____2__allocator_int______alloc_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + std____2____split_buffer_int_2c_20std____2__allocator_int_______split_buffer_28unsigned_20long_2c_20unsigned_20long_2c_20std____2__allocator_int___29($3 + 12 | 0, std____2__vector_int_2c_20std____2__allocator_int______recommend_5babi_v160004_5d_28unsigned_20long_29_20const($0, std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const($0) + HEAP32[$3 + 40 >> 2] | 0), std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const($0), HEAP32[$3 + 32 >> 2]); + std____2____split_buffer_int_2c_20std____2__allocator_int_______construct_at_end_28unsigned_20long_2c_20int_20const__29($3 + 12 | 0, HEAP32[$3 + 40 >> 2], HEAP32[$3 + 36 >> 2]); + std____2__vector_int_2c_20std____2__allocator_int______swap_out_circular_buffer_28std____2____split_buffer_int_2c_20std____2__allocator_int_____29($0, $3 + 12 | 0); + std____2____split_buffer_int_2c_20std____2__allocator_int________split_buffer_28_29($3 + 12 | 0); + } + __stack_pointer = $3 + 48 | 0; +} + +function emscripten__internal__MethodInvoker_float_20_28b2RayCastCallback____29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29_2c_20float_2c_20b2RayCastCallback__2c_20unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float___invoke_28float_20_28b2RayCastCallback____20const__29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29_2c_20b2RayCastCallback__2c_20unsigned_20int_2c_20b2Vec2__2c_20b2Vec2__2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + var $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAP32[$6 + 20 >> 2] = $2; + HEAP32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAPF32[$6 + 8 >> 2] = $5; + $2 = emscripten__internal__BindingType_b2RayCastCallback__2c_20void___fromWireType_28b2RayCastCallback__29(HEAP32[$6 + 24 >> 2]); + $0 = HEAP32[$6 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$6 + 20 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$6 + 16 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$6 + 12 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$6 + 8 >> 2]))), + HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $5 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($6 + 4 | 0); + __stack_pointer = $6 + 32 | 0; + return Math_fround($5); +} + +function memmove($0, $1, $2) { + var $3 = 0, $4 = 0; + label$1: { + if (($0 | 0) == ($1 | 0)) { + break label$1; + } + $3 = $0 + $2 | 0; + if ($1 - $3 >>> 0 <= 0 - ($2 << 1) >>> 0) { + return __memcpy($0, $1, $2); + } + $4 = ($0 ^ $1) & 3; + label$3: { + label$4: { + if ($0 >>> 0 < $1 >>> 0) { + if ($4) { + $3 = $0; + break label$3; + } + if (!($0 & 3)) { + $3 = $0; + break label$4; + } + $3 = $0; + while (1) { + if (!$2) { + break label$1; + } + HEAP8[$3 | 0] = HEAPU8[$1 | 0]; + $1 = $1 + 1 | 0; + $2 = $2 - 1 | 0; + $3 = $3 + 1 | 0; + if ($3 & 3) { + continue; + } + break; + } + break label$4; + } + label$9: { + if ($4) { + break label$9; + } + if ($3 & 3) { + while (1) { + if (!$2) { + break label$1; + } + $2 = $2 - 1 | 0; + $3 = $2 + $0 | 0; + HEAP8[$3 | 0] = HEAPU8[$1 + $2 | 0]; + if ($3 & 3) { + continue; + } + break; + } + } + if ($2 >>> 0 <= 3) { + break label$9; + } + while (1) { + $2 = $2 - 4 | 0; + HEAP32[$2 + $0 >> 2] = HEAP32[$1 + $2 >> 2]; + if ($2 >>> 0 > 3) { + continue; + } + break; + } + } + if (!$2) { + break label$1; + } + while (1) { + $2 = $2 - 1 | 0; + HEAP8[$2 + $0 | 0] = HEAPU8[$1 + $2 | 0]; + if ($2) { + continue; + } + break; + } + break label$1; + } + if ($2 >>> 0 <= 3) { + break label$3; + } + while (1) { + HEAP32[$3 >> 2] = HEAP32[$1 >> 2]; + $1 = $1 + 4 | 0; + $3 = $3 + 4 | 0; + $2 = $2 - 4 | 0; + if ($2 >>> 0 > 3) { + continue; + } + break; + } + } + if (!$2) { + break label$1; + } + while (1) { + HEAP8[$3 | 0] = HEAPU8[$1 | 0]; + $3 = $3 + 1 | 0; + $1 = $1 + 1 | 0; + $2 = $2 - 1 | 0; + if ($2) { + continue; + } + break; + } + } + return $0; +} + +function b2ContactFilter__ShouldCollide_28b2Fixture__2c_20b2Fixture__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 40 >> 2] = $0; + HEAP32[$3 + 36 >> 2] = $1; + HEAP32[$3 + 32 >> 2] = $2; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$3 + 36 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$3 + 32 >> 2]), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + label$1: { + label$2: { + if (b2Body__GetType_28_29_20const(HEAP32[$3 + 24 >> 2])) { + break label$2; + } + if (b2Body__GetType_28_29_20const(HEAP32[$3 + 28 >> 2])) { + break label$2; + } + HEAP8[$3 + 47 | 0] = 0; + break label$1; + } + if (!(b2Body__ShouldCollideConnected_28b2Body_20const__29_20const(HEAP32[$3 + 24 >> 2], HEAP32[$3 + 28 >> 2]) & 1)) { + HEAP8[$3 + 47 | 0] = 0; + break label$1; + } + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Fixture__GetFilterData_28_29_20const(HEAP32[$3 + 36 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Fixture__GetFilterData_28_29_20const(HEAP32[$3 + 32 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + if (!(!HEAPU16[HEAP32[$3 + 20 >> 2] + 4 >> 1] | HEAPU16[HEAP32[$3 + 20 >> 2] + 4 >> 1] != HEAPU16[HEAP32[$3 + 16 >> 2] + 4 >> 1])) { + HEAP8[$3 + 47 | 0] = HEAPU16[HEAP32[$3 + 20 >> 2] + 4 >> 1] << 16 >> 16 > 0; + break label$1; + } + $4 = HEAPU16[HEAP32[$3 + 20 >> 2] + 2 >> 1] & HEAPU16[HEAP32[$3 + 16 >> 2] >> 1] ? (HEAPU16[HEAP32[$3 + 20 >> 2] >> 1] & HEAPU16[HEAP32[$3 + 16 >> 2] + 2 >> 1]) != 0 : $4; + HEAP8[$3 + 15 | 0] = $4; + HEAP8[$3 + 47 | 0] = HEAP8[$3 + 15 | 0] & 1; + } + __stack_pointer = $3 + 48 | 0; + return HEAP8[$3 + 47 | 0] & 1; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 490; + $0 = emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29__28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29_29_29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______insert_node_at_28std____2____tree_end_node_std____2____tree_node_base_void______2c_20std____2____tree_node_base_void_____2c_20std____2____tree_node_base_void____29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $0 = HEAP32[$4 + 12 >> 2]; + HEAP32[HEAP32[$4 >> 2] >> 2] = 0; + HEAP32[HEAP32[$4 >> 2] + 4 >> 2] = 0; + HEAP32[HEAP32[$4 >> 2] + 8 >> 2] = HEAP32[$4 + 8 >> 2]; + HEAP32[HEAP32[$4 + 4 >> 2] >> 2] = HEAP32[$4 >> 2]; + if (HEAP32[HEAP32[std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______begin_node_5babi_v160004_5d_28_29($0) >> 2] >> 2]) { + $1 = HEAP32[HEAP32[std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______begin_node_5babi_v160004_5d_28_29($0) >> 2] >> 2]; + wasm2js_i32$0 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______begin_node_5babi_v160004_5d_28_29($0), + wasm2js_i32$1 = $1, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + void_20std____2____tree_balance_after_insert_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____2c_20std____2____tree_node_base_void____29(HEAP32[std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______end_node_5babi_v160004_5d_28_29($0) >> 2], HEAP32[HEAP32[$4 + 4 >> 2] >> 2]); + $0 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____size_5babi_v160004_5d_28_29($0); + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] + 1; + __stack_pointer = $4 + 16 | 0; +} + +function b2CollideCircles_28b2Manifold__2c_20b2CircleShape_20const__2c_20b2Transform_20const__2c_20b2CircleShape_20const__2c_20b2Transform_20const__29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer + -64 | 0; + __stack_pointer = $5; + HEAP32[$5 + 60 >> 2] = $0; + HEAP32[$5 + 56 >> 2] = $1; + HEAP32[$5 + 52 >> 2] = $2; + HEAP32[$5 + 48 >> 2] = $3; + HEAP32[$5 + 44 >> 2] = $4; + HEAP32[HEAP32[$5 + 60 >> 2] + 60 >> 2] = 0; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 36 | 0, HEAP32[$5 + 52 >> 2], HEAP32[$5 + 56 >> 2] + 12 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($5 + 28 | 0, HEAP32[$5 + 44 >> 2], HEAP32[$5 + 48 >> 2] + 12 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($5 + 20 | 0, $5 + 28 | 0, $5 + 36 | 0); + $0 = $5 + 20 | 0; + wasm2js_i32$0 = $5, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $0), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + HEAPF32[$5 + 12 >> 2] = HEAPF32[HEAP32[$5 + 56 >> 2] + 8 >> 2]; + HEAPF32[$5 + 8 >> 2] = HEAPF32[HEAP32[$5 + 48 >> 2] + 8 >> 2]; + HEAPF32[$5 + 4 >> 2] = HEAPF32[$5 + 12 >> 2] + HEAPF32[$5 + 8 >> 2]; + if (!(HEAPF32[$5 + 16 >> 2] > Math_fround(HEAPF32[$5 + 4 >> 2] * HEAPF32[$5 + 4 >> 2]))) { + HEAP32[HEAP32[$5 + 60 >> 2] + 56 >> 2] = 0; + $2 = HEAP32[$5 + 56 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$2 + 16 >> 2]; + $2 = $0; + $0 = HEAP32[$5 + 60 >> 2]; + HEAP32[$0 + 48 >> 2] = $2; + HEAP32[$0 + 52 >> 2] = $1; + b2Vec2__SetZero_28_29(HEAP32[$5 + 60 >> 2] + 40 | 0); + HEAP32[HEAP32[$5 + 60 >> 2] + 60 >> 2] = 1; + $2 = HEAP32[$5 + 48 >> 2]; + $1 = HEAP32[$2 + 12 >> 2]; + $0 = HEAP32[$2 + 16 >> 2]; + $2 = $1; + $1 = HEAP32[$5 + 60 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + HEAP32[HEAP32[$5 + 60 >> 2] + 16 >> 2] = 0; + } + __stack_pointer = $5 - -64 | 0; +} + +function std____2__pair_char_20const__2c_20char___20std____2____unwrap_and_dispatch_5babi_v160004_5d_std____2____overload_std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial__2c_20char_20const__2c_20char_20const__2c_20char__2c_200__28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + auto_20std____2____unwrap_range_5babi_v160004_5d_char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($4 + 24 | 0, $1, $2); + std____2__pair_char_20const__2c_20char___20std____2____copy_trivial__operator_28_29_5babi_v160004_5d_char_20const_2c_20char_2c_200__28char_20const__2c_20char_20const__2c_20char__29_20const($4 + 16 | 0, $4 + 12 | 0, HEAP32[$4 + 24 >> 2], HEAP32[$4 + 28 >> 2], decltype_28std____2____unwrap_iter_impl_char__2c_20true_____unwrap_28std__declval_char___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char__2c_20std____2____unwrap_iter_impl_char__2c_20true__2c_200__28char__29($3)); + wasm2js_i32$0 = $4, wasm2js_i32$1 = char_20const__20std____2____rewrap_range_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($1, HEAP32[$4 + 16 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $4, wasm2js_i32$1 = char__20std____2____rewrap_iter_5babi_v160004_5d_char__2c_20char__2c_20std____2____unwrap_iter_impl_char__2c_20true___28char__2c_20char__29($3, HEAP32[$4 + 20 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + std____2__pair_std____2____unwrap_ref_decay_char_20const____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const__2c_20char___28char_20const____2c_20char____29($0, $4 + 12 | 0, $4 + 8 | 0); + __stack_pointer = $4 + 32 | 0; +} + +function b2WorldRayCastWrapper__RayCastCallback_28b2RayCastInput_20const__2c_20int_29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 80 | 0; + __stack_pointer = $3; + HEAP32[$3 + 72 >> 2] = $0; + HEAP32[$3 + 68 >> 2] = $1; + HEAP32[$3 + 64 >> 2] = $2; + $0 = HEAP32[$3 + 72 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2BroadPhase__GetUserData_28int_29_20const(HEAP32[$0 >> 2], HEAP32[$3 + 64 >> 2]), + HEAP32[wasm2js_i32$0 + 60 >> 2] = wasm2js_i32$1; + HEAP32[$3 + 56 >> 2] = HEAP32[$3 + 60 >> 2]; + HEAP32[$3 + 52 >> 2] = HEAP32[HEAP32[$3 + 56 >> 2] + 16 >> 2]; + HEAP32[$3 + 48 >> 2] = HEAP32[HEAP32[$3 + 56 >> 2] + 20 >> 2]; + b2RayCastOutput__b2RayCastOutput_28_29($3 + 36 | 0); + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2Fixture__RayCast_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const(HEAP32[$3 + 52 >> 2], $3 + 36 | 0, HEAP32[$3 + 68 >> 2], HEAP32[$3 + 48 >> 2]) & 1, + HEAP8[wasm2js_i32$0 + 35 | 0] = wasm2js_i32$1; + label$1: { + if (HEAP8[$3 + 35 | 0] & 1) { + HEAPF32[$3 + 28 >> 2] = HEAPF32[$3 + 44 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($3 + 12 | 0, Math_fround(Math_fround(1) - HEAPF32[$3 + 28 >> 2]), HEAP32[$3 + 68 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($3 + 4 | 0, HEAPF32[$3 + 28 >> 2], HEAP32[$3 + 68 >> 2] + 8 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 20 | 0, $3 + 12 | 0, $3 + 4 | 0); + $0 = HEAP32[$0 + 4 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 8 >> 2]]($0, HEAP32[$3 + 52 >> 2], $3 + 20 | 0, $3 + 36 | 0, HEAPF32[$3 + 28 >> 2])), + HEAPF32[wasm2js_i32$0 + 76 >> 2] = wasm2js_f32$0; + break label$1; + } + HEAPF32[$3 + 76 >> 2] = HEAPF32[HEAP32[$3 + 68 >> 2] + 16 >> 2]; + } + __stack_pointer = $3 + 80 | 0; + return HEAPF32[$3 + 76 >> 2]; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 515; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const__28void_20_28b2World____20const__29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const_29_29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2PulleyJoint__b2PulleyJoint_28b2PulleyJointDef_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 4 >> 2] = $1; + $1 = HEAP32[$2 + 8 >> 2]; + HEAP32[$2 + 12 >> 2] = $1; + b2Joint__b2Joint_28b2JointDef_20const__29($1, HEAP32[$2 + 4 >> 2]); + HEAP32[$1 >> 2] = 19272; + b2Vec2__b2Vec2_28_29($1 + 68 | 0); + b2Vec2__b2Vec2_28_29($1 + 76 | 0); + b2Vec2__b2Vec2_28_29($1 + 92 | 0); + b2Vec2__b2Vec2_28_29($1 + 100 | 0); + b2Vec2__b2Vec2_28_29($1 + 128 | 0); + b2Vec2__b2Vec2_28_29($1 + 136 | 0); + b2Vec2__b2Vec2_28_29($1 + 144 | 0); + b2Vec2__b2Vec2_28_29($1 + 152 | 0); + b2Vec2__b2Vec2_28_29($1 + 160 | 0); + b2Vec2__b2Vec2_28_29($1 + 168 | 0); + $3 = HEAP32[$2 + 4 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$1 + 68 >> 2] = $4; + HEAP32[$1 + 72 >> 2] = $0; + $3 = HEAP32[$2 + 4 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $4 = HEAP32[$3 + 32 >> 2]; + HEAP32[$1 + 76 >> 2] = $0; + HEAP32[$1 + 80 >> 2] = $4; + $3 = HEAP32[$2 + 4 >> 2]; + $4 = HEAP32[$3 + 36 >> 2]; + $0 = HEAP32[$3 + 40 >> 2]; + HEAP32[$1 + 92 >> 2] = $4; + HEAP32[$1 + 96 >> 2] = $0; + $3 = HEAP32[$2 + 4 >> 2]; + $0 = HEAP32[$3 + 44 >> 2]; + $4 = HEAP32[$3 + 48 >> 2]; + HEAP32[$1 + 100 >> 2] = $0; + HEAP32[$1 + 104 >> 2] = $4; + HEAPF32[$1 + 84 >> 2] = HEAPF32[HEAP32[$2 + 4 >> 2] + 52 >> 2]; + HEAPF32[$1 + 88 >> 2] = HEAPF32[HEAP32[$2 + 4 >> 2] + 56 >> 2]; + if (HEAPF32[HEAP32[$2 + 4 >> 2] + 60 >> 2] == Math_fround(0)) { + __assert_fail(8571, 4160, 69, 2524); + wasm2js_trap(); + } + HEAPF32[$1 + 112 >> 2] = HEAPF32[HEAP32[$2 + 4 >> 2] + 60 >> 2]; + HEAPF32[$1 + 108 >> 2] = Math_fround(HEAPF32[$1 + 112 >> 2] * HEAPF32[HEAP32[$2 + 4 >> 2] + 56 >> 2]) + HEAPF32[HEAP32[$2 + 4 >> 2] + 52 >> 2]; + HEAPF32[$1 + 116 >> 2] = 0; + __stack_pointer = $2 + 16 | 0; + return HEAP32[$2 + 12 >> 2]; +} + +function b2WheelJoint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 192 | 0; + __stack_pointer = $1; + HEAP32[$1 + 188 >> 2] = $0; + $0 = HEAP32[$1 + 188 >> 2]; + HEAP32[$1 + 184 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 180 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(13564, 0); + HEAP32[$1 + 144 >> 2] = HEAP32[$1 + 184 >> 2]; + b2Dump_28char_20const__2c_20____29(13849, $1 + 144 | 0); + HEAP32[$1 + 128 >> 2] = HEAP32[$1 + 180 >> 2]; + b2Dump_28char_20const__2c_20____29(13823, $1 + 128 | 0); + HEAP32[$1 + 112 >> 2] = HEAP8[$0 + 61 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14859, $1 + 112 | 0); + $2 = HEAPF32[$0 + 68 >> 2]; + HEAPF64[$1 + 104 >> 3] = HEAPF32[$0 + 72 >> 2]; + HEAPF64[$1 + 96 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14265, $1 + 96 | 0); + $2 = HEAPF32[$0 + 76 >> 2]; + HEAPF64[$1 + 88 >> 3] = HEAPF32[$0 + 80 >> 2]; + HEAPF64[$1 + 80 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14158, $1 + 80 | 0); + $2 = HEAPF32[$0 + 84 >> 2]; + HEAPF64[$1 + 72 >> 3] = HEAPF32[$0 + 88 >> 2]; + HEAPF64[$1 + 64 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14231, $1 - -64 | 0); + HEAP32[$1 + 48 >> 2] = HEAP8[$0 + 141 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14715, $1 + 48 | 0); + HEAPF64[$1 + 32 >> 3] = HEAPF32[$0 + 136 >> 2]; + b2Dump_28char_20const__2c_20____29(13274, $1 + 32 | 0); + HEAPF64[$1 + 16 >> 3] = HEAPF32[$0 + 132 >> 2]; + b2Dump_28char_20const__2c_20____29(13068, $1 + 16 | 0); + HEAPF64[$1 >> 3] = HEAPF32[$0 + 144 >> 2]; + b2Dump_28char_20const__2c_20____29(12730, $1); + HEAPF64[$1 + 160 >> 3] = HEAPF32[$0 + 148 >> 2]; + b2Dump_28char_20const__2c_20____29(12965, $1 + 160 | 0); + HEAP32[$1 + 176 >> 2] = HEAP32[$0 + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(14538, $1 + 176 | 0); + __stack_pointer = $1 + 192 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28char_20const__2c_20bool_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 707; + $0 = emscripten__internal__TypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28__emscripten__internal__getContext_bool_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29__28bool_20_28__20const__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29_29_29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodCaller_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____call_28emscripten___EM_VAL__2c_20char_20const__2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float__29($0, $1, $2, $3, $4, $5) { + var $6 = 0, $7 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0; + $6 = __stack_pointer - 96 | 0; + __stack_pointer = $6; + HEAP32[$6 + 92 >> 2] = $0; + HEAP32[$6 + 88 >> 2] = $1; + HEAP32[$6 + 84 >> 2] = $2; + HEAP32[$6 + 80 >> 2] = $3; + HEAP32[$6 + 76 >> 2] = $4; + HEAP32[$6 + 72 >> 2] = $5; + wasm2js_i32$0 = $6, wasm2js_i32$1 = emscripten__internal__Signature_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____get_method_caller_28_29(), + HEAP32[wasm2js_i32$0 + 68 >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____WireTypePack_28unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float__29($6 + 32 | 0, HEAP32[$6 + 84 >> 2], HEAP32[$6 + 80 >> 2], HEAP32[$6 + 76 >> 2], HEAP32[$6 + 72 >> 2]); + wasm2js_i32$0 = $6, wasm2js_f64$0 = +_emval_call_method(HEAP32[$6 + 68 >> 2], HEAP32[$6 + 92 >> 2], HEAP32[$6 + 88 >> 2], $6 + 28 | 0, emscripten__internal__WireTypePack_unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____operator_20void_20const__28_29_20const($6 + 32 | 0) | 0), + HEAPF64[wasm2js_i32$0 + 16 >> 3] = wasm2js_f64$0; + emscripten__internal__DestructorsRunner__DestructorsRunner_28emscripten__internal___EM_DESTRUCTORS__29($6 + 12 | 0, HEAP32[$6 + 28 >> 2]); + $7 = float_20emscripten__internal__fromGenericWireType_float__28double_29(HEAPF64[$6 + 16 >> 3]); + emscripten__internal__DestructorsRunner___DestructorsRunner_28_29($6 + 12 | 0); + __stack_pointer = $6 + 96 | 0; + return $7; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Fixture____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const___invoke_b2Fixture_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2Fixture____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 570; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2Fixture____emscripten__internal__getContext_bool_20_28b2Fixture____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const__28bool_20_28b2Fixture____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28_29_20const___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28char_20const__2c_20unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 705; + $0 = emscripten__internal__TypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______emscripten__internal__getContext_unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28_29_20const__28unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28b2Vec2_20const__29___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28char_20const__2c_20void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28b2Vec2_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 703; + $0 = emscripten__internal__TypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______emscripten__internal__getContext_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28b2Vec2_20const__29__28void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28b2Vec2_20const__29_29_29_28b2Vec2_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_emscripten__val_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28char_20const__2c_20emscripten__val_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 706; + $0 = emscripten__internal__TypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long___getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], emscripten__val_20_28__emscripten__internal__getContext_emscripten__val_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29__28emscripten__val_20_28__20const__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29_29_29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20b2DynamicTree__Query_b2WorldQueryWrapper__28b2WorldQueryWrapper__2c_20b2AABB_20const__29_20const($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 1072 | 0; + __stack_pointer = $3; + HEAP32[$3 + 1068 >> 2] = $0; + HEAP32[$3 + 1064 >> 2] = $1; + HEAP32[$3 + 1060 >> 2] = $2; + $0 = HEAP32[$3 + 1068 >> 2]; + b2GrowableStack_int_2c_20256___b2GrowableStack_28_29($3 + 24 | 0); + b2GrowableStack_int_2c_20256___Push_28int_20const__29($3 + 24 | 0, $0); + label$1: { + while (1) { + if ((b2GrowableStack_int_2c_20256___GetCount_28_29($3 + 24 | 0) | 0) > 0) { + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2GrowableStack_int_2c_20256___Pop_28_29($3 + 24 | 0), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + if (HEAP32[$3 + 20 >> 2] == -1) { + continue; + } + HEAP32[$3 + 16 >> 2] = HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$3 + 20 >> 2], 40); + if (b2TestOverlap_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$3 + 16 >> 2], HEAP32[$3 + 1060 >> 2]) & 1) { + label$5: { + if (b2TreeNode__IsLeaf_28_29_20const(HEAP32[$3 + 16 >> 2]) & 1) { + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2WorldQueryWrapper__QueryCallback_28int_29(HEAP32[$3 + 1064 >> 2], HEAP32[$3 + 20 >> 2]) & 1, + HEAP8[wasm2js_i32$0 + 15 | 0] = wasm2js_i32$1; + if (!(HEAP8[$3 + 15 | 0] & 1)) { + HEAP32[$3 + 8 >> 2] = 1; + break label$1; + } + break label$5; + } + b2GrowableStack_int_2c_20256___Push_28int_20const__29($3 + 24 | 0, HEAP32[$3 + 16 >> 2] + 24 | 0); + b2GrowableStack_int_2c_20256___Push_28int_20const__29($3 + 24 | 0, HEAP32[$3 + 16 >> 2] + 28 | 0); + } + } + continue; + } + break; + } + HEAP32[$3 + 8 >> 2] = 0; + } + b2GrowableStack_int_2c_20256____b2GrowableStack_28_29($3 + 24 | 0); + __stack_pointer = $3 + 1072 | 0; +} + +function b2Body__SetEnabled_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP8[$2 + 27 | 0] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + if (b2World__IsLocked_28_29_20const(HEAP32[$0 + 88 >> 2]) & 1) { + __assert_fail(9124, 4100, 483, 10253); + wasm2js_trap(); + } + label$2: { + if ((HEAP8[$2 + 27 | 0] & 1) == (b2Body__IsEnabled_28_29_20const($0) & 1)) { + break label$2; + } + if (HEAP8[$2 + 27 | 0] & 1) { + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] | 32; + HEAP32[$2 + 20 >> 2] = HEAP32[$0 + 88 >> 2] + 102868; + HEAP32[$2 + 16 >> 2] = HEAP32[$0 + 100 >> 2]; + while (1) { + if (HEAP32[$2 + 16 >> 2]) { + b2Fixture__CreateProxies_28b2BroadPhase__2c_20b2Transform_20const__29(HEAP32[$2 + 16 >> 2], HEAP32[$2 + 20 >> 2], $0 + 12 | 0); + HEAP32[$2 + 16 >> 2] = HEAP32[HEAP32[$2 + 16 >> 2] + 4 >> 2]; + continue; + } + break; + } + HEAP8[HEAP32[$0 + 88 >> 2] + 102988 | 0] = 1; + break label$2; + } + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] & -33; + HEAP32[$2 + 12 >> 2] = HEAP32[$0 + 88 >> 2] + 102868; + HEAP32[$2 + 8 >> 2] = HEAP32[$0 + 100 >> 2]; + while (1) { + if (HEAP32[$2 + 8 >> 2]) { + b2Fixture__DestroyProxies_28b2BroadPhase__29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2]); + HEAP32[$2 + 8 >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] + 4 >> 2]; + continue; + } + break; + } + HEAP32[$2 + 4 >> 2] = HEAP32[$0 + 112 >> 2]; + while (1) { + if (HEAP32[$2 + 4 >> 2]) { + HEAP32[$2 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$2 + 4 >> 2] = HEAP32[HEAP32[$2 + 4 >> 2] + 12 >> 2]; + b2ContactManager__Destroy_28b2Contact__29(HEAP32[$0 + 88 >> 2] + 102868 | 0, HEAP32[HEAP32[$2 >> 2] + 4 >> 2]); + continue; + } + break; + } + HEAP32[$0 + 112 >> 2] = 0; + } + __stack_pointer = $2 + 32 | 0; +} + +function b2PolygonShape__Validate_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer + -64 | 0; + __stack_pointer = $1; + HEAP32[$1 + 56 >> 2] = $0; + $0 = HEAP32[$1 + 56 >> 2]; + HEAP32[$1 + 52 >> 2] = 0; + label$1: { + while (1) { + if (HEAP32[$1 + 52 >> 2] < HEAP32[$0 + 148 >> 2]) { + HEAP32[$1 + 48 >> 2] = HEAP32[$1 + 52 >> 2]; + if (HEAP32[$1 + 52 >> 2] < (HEAP32[$0 + 148 >> 2] - 1 | 0)) { + $2 = HEAP32[$1 + 48 >> 2] + 1 | 0; + } else { + $2 = 0; + } + HEAP32[$1 + 44 >> 2] = $2; + $2 = ($0 + 20 | 0) + (HEAP32[$1 + 48 >> 2] << 3) | 0; + $3 = HEAP32[$2 + 4 >> 2]; + HEAP32[$1 + 32 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$1 + 36 >> 2] = $3; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 24 | 0, ($0 + 20 | 0) + (HEAP32[$1 + 44 >> 2] << 3) | 0, $1 + 32 | 0); + HEAP32[$1 + 20 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 20 >> 2] < HEAP32[$0 + 148 >> 2]) { + if (!(HEAP32[$1 + 20 >> 2] == HEAP32[$1 + 48 >> 2] | HEAP32[$1 + 20 >> 2] == HEAP32[$1 + 44 >> 2])) { + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 12 | 0, ($0 + 20 | 0) + (HEAP32[$1 + 20 >> 2] << 3) | 0, $1 + 32 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 24 | 0, $1 + 12 | 0), + HEAPF32[wasm2js_i32$0 + 8 >> 2] = wasm2js_f32$0; + if (HEAPF32[$1 + 8 >> 2] < Math_fround(0)) { + HEAP8[$1 + 63 | 0] = 0; + break label$1; + } + } + HEAP32[$1 + 20 >> 2] = HEAP32[$1 + 20 >> 2] + 1; + continue; + } + break; + } + HEAP32[$1 + 52 >> 2] = HEAP32[$1 + 52 >> 2] + 1; + continue; + } + break; + } + HEAP8[$1 + 63 | 0] = 1; + } + __stack_pointer = $1 - -64 | 0; + return HEAP8[$1 + 63 | 0] & 1; +} + +function void_20b2DynamicTree__Query_b2BroadPhase__28b2BroadPhase__2c_20b2AABB_20const__29_20const($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 1072 | 0; + __stack_pointer = $3; + HEAP32[$3 + 1068 >> 2] = $0; + HEAP32[$3 + 1064 >> 2] = $1; + HEAP32[$3 + 1060 >> 2] = $2; + $0 = HEAP32[$3 + 1068 >> 2]; + b2GrowableStack_int_2c_20256___b2GrowableStack_28_29($3 + 24 | 0); + b2GrowableStack_int_2c_20256___Push_28int_20const__29($3 + 24 | 0, $0); + label$1: { + while (1) { + if ((b2GrowableStack_int_2c_20256___GetCount_28_29($3 + 24 | 0) | 0) > 0) { + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2GrowableStack_int_2c_20256___Pop_28_29($3 + 24 | 0), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + if (HEAP32[$3 + 20 >> 2] == -1) { + continue; + } + HEAP32[$3 + 16 >> 2] = HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$3 + 20 >> 2], 40); + if (b2TestOverlap_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$3 + 16 >> 2], HEAP32[$3 + 1060 >> 2]) & 1) { + label$5: { + if (b2TreeNode__IsLeaf_28_29_20const(HEAP32[$3 + 16 >> 2]) & 1) { + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2BroadPhase__QueryCallback_28int_29(HEAP32[$3 + 1064 >> 2], HEAP32[$3 + 20 >> 2]) & 1, + HEAP8[wasm2js_i32$0 + 15 | 0] = wasm2js_i32$1; + if (!(HEAP8[$3 + 15 | 0] & 1)) { + HEAP32[$3 + 8 >> 2] = 1; + break label$1; + } + break label$5; + } + b2GrowableStack_int_2c_20256___Push_28int_20const__29($3 + 24 | 0, HEAP32[$3 + 16 >> 2] + 24 | 0); + b2GrowableStack_int_2c_20256___Push_28int_20const__29($3 + 24 | 0, HEAP32[$3 + 16 >> 2] + 28 | 0); + } + } + continue; + } + break; + } + HEAP32[$3 + 8 >> 2] = 0; + } + b2GrowableStack_int_2c_20256____b2GrowableStack_28_29($3 + 24 | 0); + __stack_pointer = $3 + 1072 | 0; +} + +function __stdio_write($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + $3 = HEAP32[$0 + 28 >> 2]; + HEAP32[$4 + 16 >> 2] = $3; + $5 = HEAP32[$0 + 20 >> 2]; + HEAP32[$4 + 28 >> 2] = $2; + HEAP32[$4 + 24 >> 2] = $1; + $1 = $5 - $3 | 0; + HEAP32[$4 + 20 >> 2] = $1; + $7 = $1 + $2 | 0; + $3 = $4 + 16 | 0; + $8 = 2; + label$1: { + label$2: { + label$3: { + label$4: { + if (__wasi_syscall_ret(__wasi_fd_write(HEAP32[$0 + 60 >> 2], $4 + 16 | 0, 2, $4 + 12 | 0) | 0)) { + $5 = $3; + break label$4; + } + while (1) { + $1 = HEAP32[$4 + 12 >> 2]; + if (($7 | 0) == ($1 | 0)) { + break label$3; + } + if (($1 | 0) < 0) { + $5 = $3; + break label$2; + } + $6 = HEAP32[$3 + 4 >> 2]; + $9 = $6 >>> 0 < $1 >>> 0; + $5 = ($9 << 3) + $3 | 0; + $6 = $1 - ($9 ? $6 : 0) | 0; + HEAP32[$5 >> 2] = $6 + HEAP32[$5 >> 2]; + $3 = ($9 ? 12 : 4) + $3 | 0; + HEAP32[$3 >> 2] = HEAP32[$3 >> 2] - $6; + $7 = $7 - $1 | 0; + $3 = $5; + $8 = $8 - $9 | 0; + if (!__wasi_syscall_ret(__wasi_fd_write(HEAP32[$0 + 60 >> 2], $3 | 0, $8 | 0, $4 + 12 | 0) | 0)) { + continue; + } + break; + } + } + if (($7 | 0) != -1) { + break label$2; + } + } + $1 = HEAP32[$0 + 44 >> 2]; + HEAP32[$0 + 28 >> 2] = $1; + HEAP32[$0 + 20 >> 2] = $1; + HEAP32[$0 + 16 >> 2] = HEAP32[$0 + 48 >> 2] + $1; + $1 = $2; + break label$1; + } + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] | 32; + $1 = 0; + if (($8 | 0) == 2) { + break label$1; + } + $1 = $2 - HEAP32[$5 + 4 >> 2] | 0; + } + __stack_pointer = $4 + 32 | 0; + return $1 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2PolygonShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2PolygonShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2PolygonShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 553; + $0 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2PolygonShape____emscripten__internal__getContext_void_20_28b2PolygonShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const__28void_20_28b2PolygonShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2PulleyJoint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 176 | 0; + __stack_pointer = $1; + HEAP32[$1 + 172 >> 2] = $0; + $0 = HEAP32[$1 + 172 >> 2]; + HEAP32[$1 + 168 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 164 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(13469, 0); + HEAP32[$1 + 128 >> 2] = HEAP32[$1 + 168 >> 2]; + b2Dump_28char_20const__2c_20____29(13849, $1 + 128 | 0); + HEAP32[$1 + 112 >> 2] = HEAP32[$1 + 164 >> 2]; + b2Dump_28char_20const__2c_20____29(13823, $1 + 112 | 0); + HEAP32[$1 + 96 >> 2] = HEAP8[$0 + 61 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14859, $1 + 96 | 0); + $2 = HEAPF32[$0 + 68 >> 2]; + HEAPF64[$1 + 88 >> 3] = HEAPF32[$0 + 72 >> 2]; + HEAPF64[$1 + 80 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14301, $1 + 80 | 0); + $2 = HEAPF32[$0 + 76 >> 2]; + HEAPF64[$1 + 72 >> 3] = HEAPF32[$0 + 80 >> 2]; + HEAPF64[$1 + 64 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14194, $1 - -64 | 0); + $2 = HEAPF32[$0 + 92 >> 2]; + HEAPF64[$1 + 56 >> 3] = HEAPF32[$0 + 96 >> 2]; + HEAPF64[$1 + 48 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14265, $1 + 48 | 0); + $2 = HEAPF32[$0 + 100 >> 2]; + HEAPF64[$1 + 40 >> 3] = HEAPF32[$0 + 104 >> 2]; + HEAPF64[$1 + 32 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14158, $1 + 32 | 0); + HEAPF64[$1 + 16 >> 3] = HEAPF32[$0 + 84 >> 2]; + b2Dump_28char_20const__2c_20____29(13321, $1 + 16 | 0); + HEAPF64[$1 >> 3] = HEAPF32[$0 + 88 >> 2]; + b2Dump_28char_20const__2c_20____29(13299, $1); + HEAPF64[$1 + 144 >> 3] = HEAPF32[$0 + 112 >> 2]; + b2Dump_28char_20const__2c_20____29(12785, $1 + 144 | 0); + HEAP32[$1 + 160 >> 2] = HEAP32[$0 + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(14538, $1 + 160 | 0); + __stack_pointer = $1 + 176 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2PolygonShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20bool_2c_20b2PolygonShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___invoke_28bool_20_28b2PolygonShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2PolygonShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__2c_20b2Transform__2c_20int_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAP32[$6 + 20 >> 2] = $2; + HEAP32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAP32[$6 + 8 >> 2] = $5; + $2 = emscripten__internal__BindingType_b2PolygonShape_20const__2c_20void___fromWireType_28b2PolygonShape_20const__29(HEAP32[$6 + 24 >> 2]); + $0 = HEAP32[$6 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2RayCastOutput__2c_20void___fromWireType_28b2RayCastOutput__29(HEAP32[$6 + 20 >> 2]), emscripten__internal__GenericBindingType_b2RayCastInput___fromWireType_28b2RayCastInput__29(HEAP32[$6 + 16 >> 2]), emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$6 + 12 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$6 + 8 >> 2])) & 1); + __stack_pointer = $6 + 32 | 0; + return $0 & 1; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2CircleShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20bool_2c_20b2CircleShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___invoke_28bool_20_28b2CircleShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2CircleShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__2c_20b2Transform__2c_20int_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAP32[$6 + 20 >> 2] = $2; + HEAP32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAP32[$6 + 8 >> 2] = $5; + $2 = emscripten__internal__BindingType_b2CircleShape_20const__2c_20void___fromWireType_28b2CircleShape_20const__29(HEAP32[$6 + 24 >> 2]); + $0 = HEAP32[$6 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2RayCastOutput__2c_20void___fromWireType_28b2RayCastOutput__29(HEAP32[$6 + 20 >> 2]), emscripten__internal__GenericBindingType_b2RayCastInput___fromWireType_28b2RayCastInput__29(HEAP32[$6 + 16 >> 2]), emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$6 + 12 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$6 + 8 >> 2])) & 1); + __stack_pointer = $6 + 32 | 0; + return $0 & 1; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2CircleShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2CircleShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2CircleShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 535; + $0 = emscripten__internal__TypeID_b2CircleShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2CircleShape____emscripten__internal__getContext_void_20_28b2CircleShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const__28void_20_28b2CircleShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 491; + $0 = emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29__28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_29_29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28_29_20const___invoke_std____2__vector_int_2c_20std____2__allocator_int____28char_20const__2c_20unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 699; + $0 = emscripten__internal__TypeID_std____2__vector_int_2c_20std____2__allocator_int___2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int___20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int___20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______emscripten__internal__getContext_unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28_29_20const__28unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2EdgeShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20bool_2c_20b2EdgeShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___invoke_28bool_20_28b2EdgeShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2EdgeShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__2c_20b2Transform__2c_20int_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAP32[$6 + 20 >> 2] = $2; + HEAP32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAP32[$6 + 8 >> 2] = $5; + $2 = emscripten__internal__BindingType_b2EdgeShape_20const__2c_20void___fromWireType_28b2EdgeShape_20const__29(HEAP32[$6 + 24 >> 2]); + $0 = HEAP32[$6 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2RayCastOutput__2c_20void___fromWireType_28b2RayCastOutput__29(HEAP32[$6 + 20 >> 2]), emscripten__internal__GenericBindingType_b2RayCastInput___fromWireType_28b2RayCastInput__29(HEAP32[$6 + 16 >> 2]), emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$6 + 12 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$6 + 8 >> 2])) & 1); + __stack_pointer = $6 + 32 | 0; + return $0 & 1; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29___invoke_b2PolygonShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 550; + $0 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int___getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28__emscripten__internal__getContext_void_20_28__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29__28void_20_28__20const__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_29_29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____destroy_28std____2____tree_node_b2Fixture__2c_20void____29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAP32[$2 + 8 >> 2]) { + std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____destroy_28std____2____tree_node_b2Fixture__2c_20void____29($0, HEAP32[HEAP32[$2 + 8 >> 2] >> 2]); + std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____destroy_28std____2____tree_node_b2Fixture__2c_20void____29($0, HEAP32[HEAP32[$2 + 8 >> 2] + 4 >> 2]); + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______node_alloc_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + void_20std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______destroy_5babi_v160004_5d_b2Fixture__2c_20void_2c_20void__28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20b2Fixture___29(HEAP32[$2 + 4 >> 2], std____2____tree_key_value_types_b2Fixture______get_ptr_5babi_v160004_5d_28b2Fixture___29(HEAP32[$2 + 8 >> 2] + 16 | 0)); + std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______deallocate_5babi_v160004_5d_28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20unsigned_20long_29(HEAP32[$2 + 4 >> 2], HEAP32[$2 + 8 >> 2], 1); + } + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29___invoke_std____2__vector_int_2c_20std____2__allocator_int____28char_20const__2c_20bool_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 701; + $0 = emscripten__internal__TypeID_std____2__vector_int_2c_20std____2__allocator_int___2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28__emscripten__internal__getContext_bool_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29__28bool_20_28__20const__29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29_29_29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2EdgeShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2EdgeShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2EdgeShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 543; + $0 = emscripten__internal__TypeID_b2EdgeShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2EdgeShape____emscripten__internal__getContext_void_20_28b2EdgeShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const__28void_20_28b2EdgeShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_emscripten__val_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29___invoke_std____2__vector_int_2c_20std____2__allocator_int____28char_20const__2c_20emscripten__val_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 700; + $0 = emscripten__internal__TypeID_std____2__vector_int_2c_20std____2__allocator_int___2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long___getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], emscripten__val_20_28__emscripten__internal__getContext_emscripten__val_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29__28emscripten__val_20_28__20const__29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29_29_29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______remove_node_pointer_28std____2____tree_node_b2Fixture__2c_20void____29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 4 >> 2] = $1; + $0 = HEAP32[$2 + 8 >> 2]; + std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____tree_iterator_5babi_v160004_5d_28std____2____tree_node_b2Fixture__2c_20void____29($2 + 12 | 0, HEAP32[$2 + 4 >> 2]); + std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long___operator___5babi_v160004_5d_28_29($2 + 12 | 0); + if (HEAP32[std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______begin_node_5babi_v160004_5d_28_29($0) >> 2] == HEAP32[$2 + 4 >> 2]) { + $1 = HEAP32[$2 + 12 >> 2]; + wasm2js_i32$0 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______begin_node_5babi_v160004_5d_28_29($0), + wasm2js_i32$1 = $1, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____size_5babi_v160004_5d_28_29($0); + HEAP32[$1 >> 2] = HEAP32[$1 >> 2] - 1; + void_20std____2____tree_remove_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____2c_20std____2____tree_node_base_void____29(HEAP32[std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______end_node_5babi_v160004_5d_28_29($0) >> 2], HEAP32[$2 + 4 >> 2]); + __stack_pointer = $2 + 16 | 0; + return HEAP32[$2 + 12 >> 2]; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2Shape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20bool_2c_20b2Shape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___invoke_28bool_20_28b2Shape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2Shape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__2c_20b2Transform__2c_20int_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAP32[$6 + 20 >> 2] = $2; + HEAP32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAP32[$6 + 8 >> 2] = $5; + $2 = emscripten__internal__BindingType_b2Shape_20const__2c_20void___fromWireType_28b2Shape_20const__29(HEAP32[$6 + 24 >> 2]); + $0 = HEAP32[$6 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2RayCastOutput__2c_20void___fromWireType_28b2RayCastOutput__29(HEAP32[$6 + 20 >> 2]), emscripten__internal__GenericBindingType_b2RayCastInput___fromWireType_28b2RayCastInput__29(HEAP32[$6 + 16 >> 2]), emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$6 + 12 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$6 + 8 >> 2])) & 1); + __stack_pointer = $6 + 32 | 0; + return $0 & 1; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28int_20const__29___invoke_std____2__vector_int_2c_20std____2__allocator_int____28char_20const__2c_20void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28int_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 697; + $0 = emscripten__internal__TypeID_std____2__vector_int_2c_20std____2__allocator_int___2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20int_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20int_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28std____2__vector_int_2c_20std____2__allocator_int______emscripten__internal__getContext_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28int_20const__29__28void_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28int_20const__29_29_29_28int_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2AABB____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const___invoke_b2AABB_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2AABB____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 504; + $0 = emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2AABB____emscripten__internal__getContext_bool_20_28b2AABB____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const__28bool_20_28b2AABB____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Shape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const___invoke_b2Shape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Shape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 524; + $0 = emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Shape____emscripten__internal__getContext_void_20_28b2Shape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const__28void_20_28b2Shape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______push_back_slow_path_b2Vec2_20const___28b2Vec2_20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______alloc_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______split_buffer_28unsigned_20long_2c_20unsigned_20long_2c_20std____2__allocator_b2Vec2___29($2, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______recommend_5babi_v160004_5d_28unsigned_20long_29_20const($0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const($0) + 1 | 0), std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const($0), HEAP32[$2 + 20 >> 2]); + void_20std____2__allocator_traits_std____2__allocator_b2Vec2____construct_5babi_v160004_5d_b2Vec2_2c_20b2Vec2_20const__2c_20void__28std____2__allocator_b2Vec2___2c_20b2Vec2__2c_20b2Vec2_20const__29(HEAP32[$2 + 20 >> 2], b2Vec2__20std____2____to_address_5babi_v160004_5d_b2Vec2__28b2Vec2__29(HEAP32[$2 + 8 >> 2]), HEAP32[$2 + 24 >> 2]); + HEAP32[$2 + 8 >> 2] = HEAP32[$2 + 8 >> 2] + 8; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______swap_out_circular_buffer_28std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_____29($0, $2); + std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2________split_buffer_28_29($2); + __stack_pointer = $2 + 32 | 0; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______split_buffer_28unsigned_20long_2c_20unsigned_20long_2c_20std____2__allocator_b2Vec2___29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 24 >> 2] = $0; + HEAP32[$4 + 20 >> 2] = $1; + HEAP32[$4 + 16 >> 2] = $2; + HEAP32[$4 + 12 >> 2] = $3; + $0 = HEAP32[$4 + 24 >> 2]; + HEAP32[$4 + 28 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = 0; + std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2_______compressed_pair_5babi_v160004_5d_std__nullptr_t_2c_20std____2__allocator_b2Vec2____28std__nullptr_t___2c_20std____2__allocator_b2Vec2___29($0 + 12 | 0, $4 + 8 | 0, HEAP32[$4 + 12 >> 2]); + label$1: { + if (!HEAP32[$4 + 20 >> 2]) { + HEAP32[$0 >> 2] = 0; + break label$1; + } + std____2____allocation_result_std____2__allocator_traits_std____2__allocator_b2Vec2____pointer__20std____2____allocate_at_least_5babi_v160004_5d_std____2__allocator_b2Vec2___28std____2__allocator_b2Vec2___2c_20unsigned_20long_29($4, std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______alloc_5babi_v160004_5d_28_29($0), HEAP32[$4 + 20 >> 2]); + HEAP32[$0 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$4 + 20 >> 2] = HEAP32[$4 + 4 >> 2]; + } + $1 = HEAP32[$0 >> 2] + (HEAP32[$4 + 16 >> 2] << 3) | 0; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $1; + $1 = HEAP32[$0 >> 2]; + $2 = HEAP32[$4 + 20 >> 2] << 3; + wasm2js_i32$0 = std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______end_cap_5babi_v160004_5d_28_29($0), + wasm2js_i32$1 = $1 + $2 | 0, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $4 + 32 | 0; + return HEAP32[$4 + 28 >> 2]; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 489; + $0 = emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Color_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Color_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29__28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29_29_29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2ContactListener____29_28unsigned_20int_2c_20unsigned_20int_29___invoke_b2ContactListener_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2ContactListener____29_28unsigned_20int_2c_20unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 479; + $0 = emscripten__internal__TypeID_b2ContactListener_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int_2c_20unsigned_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int_2c_20unsigned_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2ContactListener____emscripten__internal__getContext_void_20_28b2ContactListener____29_28unsigned_20int_2c_20unsigned_20int_29__28void_20_28b2ContactListener____20const__29_28unsigned_20int_2c_20unsigned_20int_29_29_29_28unsigned_20int_2c_20unsigned_20int_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2PolygonShape____29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29___invoke_b2PolygonShape__28char_20const__2c_20void_20_28b2PolygonShape____29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 557; + $0 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float_2c_20b2Vec2_20const__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float_2c_20b2Vec2_20const__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2PolygonShape____emscripten__internal__getContext_void_20_28b2PolygonShape____29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29__28void_20_28b2PolygonShape____20const__29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_29_29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__Invoker_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____invoke_28emscripten__val_20_28__29_28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29_2c_20emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___2c_20emscripten___EM_VAL__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void___fromWireType_28emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___29($3 + 4 | 0, HEAP32[$3 + 24 >> 2]); + emscripten__internal__BindingType_emscripten__val_2c_20void___fromWireType_28emscripten___EM_VAL__29($3, HEAP32[$3 + 20 >> 2]); + FUNCTION_TABLE[$0 | 0]($3 + 16 | 0, $3 + 4 | 0, $3); + $0 = emscripten__internal__BindingType_emscripten__val_2c_20void___toWireType_28emscripten__val_20const__29($3 + 16 | 0); + emscripten__val___val_28_29($3 + 16 | 0); + emscripten__val___val_28_29($3); + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char_____basic_string_28_29($3 + 4 | 0); + __stack_pointer = $3 + 32 | 0; + return $0 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2QueryCallback__2c_20b2AABB_20const__29_20const___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2QueryCallback__2c_20b2AABB_20const__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 514; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20b2QueryCallback__2c_20b2AABB_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20b2QueryCallback__2c_20b2AABB_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2QueryCallback__2c_20b2AABB_20const__29_20const__28void_20_28b2World____20const__29_28b2QueryCallback__2c_20b2AABB_20const__29_20const_29_29_28b2QueryCallback__2c_20b2AABB_20const__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 488; + $0 = emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int_2c_20int_2c_20b2Color_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int_2c_20int_2c_20b2Color_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29__28void_20_28b2Draw____20const__29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29_29_29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2Contact__InitializeRegisters_28_29() { + b2Contact__AddType_28b2Contact__20_28__29_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29_2c_20void_20_28__29_28b2Contact__2c_20b2BlockAllocator__29_2c_20b2Shape__Type_2c_20b2Shape__Type_29(800, 801, 0, 0); + b2Contact__AddType_28b2Contact__20_28__29_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29_2c_20void_20_28__29_28b2Contact__2c_20b2BlockAllocator__29_2c_20b2Shape__Type_2c_20b2Shape__Type_29(802, 803, 2, 0); + b2Contact__AddType_28b2Contact__20_28__29_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29_2c_20void_20_28__29_28b2Contact__2c_20b2BlockAllocator__29_2c_20b2Shape__Type_2c_20b2Shape__Type_29(804, 805, 2, 2); + b2Contact__AddType_28b2Contact__20_28__29_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29_2c_20void_20_28__29_28b2Contact__2c_20b2BlockAllocator__29_2c_20b2Shape__Type_2c_20b2Shape__Type_29(806, 807, 1, 0); + b2Contact__AddType_28b2Contact__20_28__29_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29_2c_20void_20_28__29_28b2Contact__2c_20b2BlockAllocator__29_2c_20b2Shape__Type_2c_20b2Shape__Type_29(808, 809, 1, 2); + b2Contact__AddType_28b2Contact__20_28__29_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29_2c_20void_20_28__29_28b2Contact__2c_20b2BlockAllocator__29_2c_20b2Shape__Type_2c_20b2Shape__Type_29(810, 811, 3, 0); + b2Contact__AddType_28b2Contact__20_28__29_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29_2c_20void_20_28__29_28b2Contact__2c_20b2BlockAllocator__29_2c_20b2Shape__Type_2c_20b2Shape__Type_29(812, 813, 3, 2); +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2PolygonShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const___invoke_b2PolygonShape__28char_20const__2c_20bool_20_28b2PolygonShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 551; + $0 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2PolygonShape____emscripten__internal__getContext_bool_20_28b2PolygonShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const__28bool_20_28b2PolygonShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29_29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2Body__CreateFixture_28b2FixtureDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + $0 = HEAP32[$2 + 24 >> 2]; + if (b2World__IsLocked_28_29_20const(HEAP32[$0 + 88 >> 2]) & 1) { + __assert_fail(9124, 4100, 171, 9207); + wasm2js_trap(); + } + label$2: { + if (b2World__IsLocked_28_29_20const(HEAP32[$0 + 88 >> 2]) & 1) { + HEAP32[$2 + 28 >> 2] = 0; + break label$2; + } + HEAP32[$2 + 16 >> 2] = HEAP32[$0 + 88 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 16 >> 2], 44), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Fixture__b2Fixture_28_29($1); + HEAP32[$2 + 8 >> 2] = $1; + b2Fixture__Create_28b2BlockAllocator__2c_20b2Body__2c_20b2FixtureDef_20const__29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 16 >> 2], $0, HEAP32[$2 + 20 >> 2]); + if (HEAPU16[$0 + 4 >> 1] & 32) { + HEAP32[$2 + 4 >> 2] = HEAP32[$0 + 88 >> 2] + 102868; + b2Fixture__CreateProxies_28b2BroadPhase__2c_20b2Transform_20const__29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 4 >> 2], $0 + 12 | 0); + } + HEAP32[HEAP32[$2 + 8 >> 2] + 4 >> 2] = HEAP32[$0 + 100 >> 2]; + HEAP32[$0 + 100 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 104 >> 2] = HEAP32[$0 + 104 >> 2] + 1; + HEAP32[HEAP32[$2 + 8 >> 2] + 8 >> 2] = $0; + if (HEAPF32[HEAP32[$2 + 8 >> 2] >> 2] > Math_fround(0)) { + b2Body__ResetMassData_28_29($0); + } + HEAP8[HEAP32[$0 + 88 >> 2] + 102988 | 0] = 1; + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + } + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function b2Contact__Destroy_28b2Contact__2c_20b2BlockAllocator__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + if (!(HEAP8[30976] & 1)) { + __assert_fail(8698, 5153, 107, 1607); + wasm2js_trap(); + } + HEAP32[$2 + 20 >> 2] = HEAP32[HEAP32[$2 + 28 >> 2] + 48 >> 2]; + HEAP32[$2 + 16 >> 2] = HEAP32[HEAP32[$2 + 28 >> 2] + 52 >> 2]; + label$2: { + if (HEAP32[HEAP32[$2 + 28 >> 2] + 124 >> 2] <= 0) { + break label$2; + } + if (b2Fixture__IsSensor_28_29_20const(HEAP32[$2 + 20 >> 2]) & 1) { + break label$2; + } + if (b2Fixture__IsSensor_28_29_20const(HEAP32[$2 + 16 >> 2]) & 1) { + break label$2; + } + b2Body__SetAwake_28bool_29(b2Fixture__GetBody_28_29(HEAP32[$2 + 20 >> 2]), 1); + b2Body__SetAwake_28bool_29(b2Fixture__GetBody_28_29(HEAP32[$2 + 16 >> 2]), 1); + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetType_28_29_20const(HEAP32[$2 + 20 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetType_28_29_20const(HEAP32[$2 + 16 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + if (!(HEAP32[$2 + 12 >> 2] < 4 & HEAP32[$2 + 12 >> 2] >= 0)) { + __assert_fail(2240, 5153, 123, 1607); + wasm2js_trap(); + } + if (!(HEAP32[$2 + 8 >> 2] < 4 & HEAP32[$2 + 8 >> 2] >= 0)) { + __assert_fail(2197, 5153, 124, 1607); + wasm2js_trap(); + } + HEAP32[$2 + 4 >> 2] = HEAP32[((Math_imul(HEAP32[$2 + 12 >> 2], 48) + 30784 | 0) + Math_imul(HEAP32[$2 + 8 >> 2], 12) | 0) + 4 >> 2]; + FUNCTION_TABLE[HEAP32[$2 + 4 >> 2]](HEAP32[$2 + 28 >> 2], HEAP32[$2 + 24 >> 2]); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2CircleShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const___invoke_b2CircleShape__28char_20const__2c_20bool_20_28b2CircleShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 533; + $0 = emscripten__internal__TypeID_b2CircleShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2CircleShape____emscripten__internal__getContext_bool_20_28b2CircleShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const__28bool_20_28b2CircleShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29_29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int_______split_buffer_28unsigned_20long_2c_20unsigned_20long_2c_20std____2__allocator_int___29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 24 >> 2] = $0; + HEAP32[$4 + 20 >> 2] = $1; + HEAP32[$4 + 16 >> 2] = $2; + HEAP32[$4 + 12 >> 2] = $3; + $0 = HEAP32[$4 + 24 >> 2]; + HEAP32[$4 + 28 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = 0; + std____2____compressed_pair_int__2c_20std____2__allocator_int_______compressed_pair_5babi_v160004_5d_std__nullptr_t_2c_20std____2__allocator_int____28std__nullptr_t___2c_20std____2__allocator_int___29($0 + 12 | 0, $4 + 8 | 0, HEAP32[$4 + 12 >> 2]); + label$1: { + if (!HEAP32[$4 + 20 >> 2]) { + HEAP32[$0 >> 2] = 0; + break label$1; + } + std____2____allocation_result_std____2__allocator_traits_std____2__allocator_int____pointer__20std____2____allocate_at_least_5babi_v160004_5d_std____2__allocator_int___28std____2__allocator_int___2c_20unsigned_20long_29($4, std____2____split_buffer_int_2c_20std____2__allocator_int_______alloc_5babi_v160004_5d_28_29($0), HEAP32[$4 + 20 >> 2]); + HEAP32[$0 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$4 + 20 >> 2] = HEAP32[$4 + 4 >> 2]; + } + $1 = HEAP32[$0 >> 2] + (HEAP32[$4 + 16 >> 2] << 2) | 0; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $1; + $1 = HEAP32[$0 >> 2]; + $2 = HEAP32[$4 + 20 >> 2] << 2; + wasm2js_i32$0 = std____2____split_buffer_int_2c_20std____2__allocator_int_______end_cap_5babi_v160004_5d_28_29($0), + wasm2js_i32$1 = $1 + $2 | 0, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $4 + 32 | 0; + return HEAP32[$4 + 28 >> 2]; +} + +function b2Body__SetTransform_28b2Vec2_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAPF32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + if (b2World__IsLocked_28_29_20const(HEAP32[$0 + 88 >> 2]) & 1) { + __assert_fail(9124, 4100, 433, 6938); + wasm2js_trap(); + } + if (!(b2World__IsLocked_28_29_20const(HEAP32[$0 + 88 >> 2]) & 1)) { + b2Rot__Set_28float_29($0 + 20 | 0, HEAPF32[$3 + 20 >> 2]); + $4 = HEAP32[$3 + 24 >> 2]; + $1 = HEAP32[$4 >> 2]; + $4 = HEAP32[$4 + 4 >> 2]; + HEAP32[$0 + 12 >> 2] = $1; + HEAP32[$0 + 16 >> 2] = $4; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($3 + 12 | 0, $0 + 12 | 0, $0 + 28 | 0); + $1 = HEAP32[$3 + 16 >> 2]; + $4 = HEAP32[$3 + 12 >> 2]; + HEAP32[$0 + 44 >> 2] = $4; + HEAP32[$0 + 48 >> 2] = $1; + HEAPF32[$0 + 56 >> 2] = HEAPF32[$3 + 20 >> 2]; + $4 = HEAP32[$0 + 48 >> 2]; + $1 = HEAP32[$0 + 44 >> 2]; + HEAP32[$0 + 36 >> 2] = $1; + HEAP32[$0 + 40 >> 2] = $4; + HEAPF32[$0 + 52 >> 2] = HEAPF32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = HEAP32[$0 + 88 >> 2] + 102868; + HEAP32[$3 + 4 >> 2] = HEAP32[$0 + 100 >> 2]; + while (1) { + if (HEAP32[$3 + 4 >> 2]) { + b2Fixture__Synchronize_28b2BroadPhase__2c_20b2Transform_20const__2c_20b2Transform_20const__29(HEAP32[$3 + 4 >> 2], HEAP32[$3 + 8 >> 2], $0 + 12 | 0, $0 + 12 | 0); + HEAP32[$3 + 4 >> 2] = HEAP32[HEAP32[$3 + 4 >> 2] + 4 >> 2]; + continue; + } + break; + } + b2ContactManager__FindNewContacts_28_29(HEAP32[$0 + 88 >> 2] + 102868 | 0); + } + __stack_pointer = $3 + 32 | 0; +} + +function b2Fixture__Refilter_28_29($0) { + $0 = $0 | 0; + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 32 | 0; + __stack_pointer = $1; + HEAP32[$1 + 28 >> 2] = $0; + label$1: { + $0 = HEAP32[$1 + 28 >> 2]; + if (!HEAP32[$0 + 8 >> 2]) { + break label$1; + } + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Body__GetContactList_28_29(HEAP32[$0 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + while (1) { + if (HEAP32[$1 + 24 >> 2]) { + HEAP32[$1 + 20 >> 2] = HEAP32[HEAP32[$1 + 24 >> 2] + 4 >> 2]; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetFixtureA_28_29(HEAP32[$1 + 20 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetFixtureB_28_29(HEAP32[$1 + 20 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + if (!(HEAP32[$1 + 16 >> 2] != ($0 | 0) & HEAP32[$1 + 12 >> 2] != ($0 | 0))) { + b2Contact__FlagForFiltering_28_29(HEAP32[$1 + 20 >> 2]); + } + HEAP32[$1 + 24 >> 2] = HEAP32[HEAP32[$1 + 24 >> 2] + 12 >> 2]; + continue; + } + break; + } + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Body__GetWorld_28_29(HEAP32[$0 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + if (!HEAP32[$1 + 8 >> 2]) { + break label$1; + } + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 8 >> 2] + 102868; + HEAP32[$1 >> 2] = 0; + while (1) { + if (HEAP32[$1 >> 2] >= HEAP32[$0 + 28 >> 2]) { + break label$1; + } + b2BroadPhase__TouchProxy_28int_29(HEAP32[$1 + 4 >> 2], HEAP32[(HEAP32[$0 + 24 >> 2] + Math_imul(HEAP32[$1 >> 2], 28) | 0) + 24 >> 2]); + HEAP32[$1 >> 2] = HEAP32[$1 >> 2] + 1; + continue; + } + } + __stack_pointer = $1 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2EdgeShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const___invoke_b2EdgeShape__28char_20const__2c_20bool_20_28b2EdgeShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 541; + $0 = emscripten__internal__TypeID_b2EdgeShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2EdgeShape____emscripten__internal__getContext_bool_20_28b2EdgeShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const__28bool_20_28b2EdgeShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29_29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2PolygonShape____29_28b2MassData__2c_20float_29_20const___invoke_b2PolygonShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2PolygonShape____29_28b2MassData__2c_20float_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 554; + $0 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2MassData__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2MassData__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2PolygonShape____emscripten__internal__getContext_void_20_28b2PolygonShape____29_28b2MassData__2c_20float_29_20const__28void_20_28b2PolygonShape____20const__29_28b2MassData__2c_20float_29_20const_29_29_28b2MassData__2c_20float_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2Island__b2Island_28int_2c_20int_2c_20int_2c_20b2StackAllocator__2c_20b2ContactListener__29($0, $1, $2, $3, $4, $5) { + var $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAP32[$6 + 20 >> 2] = $2; + HEAP32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAP32[$6 + 8 >> 2] = $5; + $0 = HEAP32[$6 + 28 >> 2]; + HEAP32[$0 + 40 >> 2] = HEAP32[$6 + 24 >> 2]; + HEAP32[$0 + 44 >> 2] = HEAP32[$6 + 20 >> 2]; + HEAP32[$0 + 48 >> 2] = HEAP32[$6 + 16 >> 2]; + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 36 >> 2] = 0; + HEAP32[$0 + 32 >> 2] = 0; + HEAP32[$0 >> 2] = HEAP32[$6 + 12 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$6 + 8 >> 2]; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2StackAllocator__Allocate_28int_29(HEAP32[$0 >> 2], HEAP32[$6 + 24 >> 2] << 2), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2StackAllocator__Allocate_28int_29(HEAP32[$0 >> 2], HEAP32[$6 + 20 >> 2] << 2), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2StackAllocator__Allocate_28int_29(HEAP32[$0 >> 2], HEAP32[$6 + 16 >> 2] << 2), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2StackAllocator__Allocate_28int_29(HEAP32[$0 >> 2], Math_imul(HEAP32[$0 + 40 >> 2], 12)), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2StackAllocator__Allocate_28int_29(HEAP32[$0 >> 2], Math_imul(HEAP32[$0 + 40 >> 2], 12)), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + __stack_pointer = $6 + 32 | 0; + return $0; +} + +function pop_arg($0, $1, $2, $3) { + label$1: { + switch ($1 - 9 | 0) { + case 0: + $1 = HEAP32[$2 >> 2]; + HEAP32[$2 >> 2] = $1 + 4; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + return; + + case 6: + $1 = HEAP32[$2 >> 2]; + HEAP32[$2 >> 2] = $1 + 4; + $1 = HEAP16[$1 >> 1]; + $2 = $1 >> 31; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + return; + + case 7: + $1 = HEAP32[$2 >> 2]; + HEAP32[$2 >> 2] = $1 + 4; + $2 = HEAPU16[$1 >> 1]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = 0; + return; + + case 8: + $1 = HEAP32[$2 >> 2]; + HEAP32[$2 >> 2] = $1 + 4; + $1 = HEAP8[$1 | 0]; + $2 = $1 >> 31; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + return; + + case 9: + $1 = HEAP32[$2 >> 2]; + HEAP32[$2 >> 2] = $1 + 4; + $2 = HEAPU8[$1 | 0]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = 0; + return; + + case 16: + $1 = HEAP32[$2 >> 2] + 7 & -8; + HEAP32[$2 >> 2] = $1 + 8; + HEAPF64[$0 >> 3] = HEAPF64[$1 >> 3]; + return; + + case 17: + FUNCTION_TABLE[$3 | 0]($0, $2); + + default: + return; + + case 1: + case 4: + case 14: + $1 = HEAP32[$2 >> 2]; + HEAP32[$2 >> 2] = $1 + 4; + $1 = HEAP32[$1 >> 2]; + $2 = $1 >> 31; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + return; + + case 2: + case 5: + case 11: + case 15: + $1 = HEAP32[$2 >> 2]; + HEAP32[$2 >> 2] = $1 + 4; + $2 = HEAP32[$1 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = 0; + return; + + case 3: + case 10: + case 12: + case 13: + break label$1; + } + } + $1 = HEAP32[$2 >> 2] + 7 & -8; + HEAP32[$2 >> 2] = $1 + 8; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = HEAP32[$1 >> 2]; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2CircleShape____29_28b2MassData__2c_20float_29_20const___invoke_b2CircleShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2CircleShape____29_28b2MassData__2c_20float_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 536; + $0 = emscripten__internal__TypeID_b2CircleShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2MassData__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2MassData__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2CircleShape____emscripten__internal__getContext_void_20_28b2CircleShape____29_28b2MassData__2c_20float_29_20const__28void_20_28b2CircleShape____20const__29_28b2MassData__2c_20float_29_20const_29_29_28b2MassData__2c_20float_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2Mat33__Solve33_28b2Vec3_20const__29_20const($0, $1, $2) { + var $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer + -64 | 0; + __stack_pointer = $3; + HEAP32[$3 + 60 >> 2] = $1; + HEAP32[$3 + 56 >> 2] = $2; + $1 = HEAP32[$3 + 60 >> 2]; + b2Cross_28b2Vec3_20const__2c_20b2Vec3_20const__29($3 + 40 | 0, $1 + 12 | 0, $1 + 24 | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Dot_28b2Vec3_20const__2c_20b2Vec3_20const__29($1, $3 + 40 | 0), + HEAPF32[wasm2js_i32$0 + 52 >> 2] = wasm2js_f32$0; + if (HEAPF32[$3 + 52 >> 2] != Math_fround(0)) { + HEAPF32[$3 + 52 >> 2] = Math_fround(1) / HEAPF32[$3 + 52 >> 2]; + } + b2Vec3__b2Vec3_28_29($0); + $4 = HEAPF32[$3 + 52 >> 2]; + $2 = HEAP32[$3 + 56 >> 2]; + b2Cross_28b2Vec3_20const__2c_20b2Vec3_20const__29($3 + 28 | 0, $1 + 12 | 0, $1 + 24 | 0); + wasm2js_i32$0 = $0, wasm2js_f32$0 = Math_fround($4 * b2Dot_28b2Vec3_20const__2c_20b2Vec3_20const__29($2, $3 + 28 | 0)), + HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $4 = HEAPF32[$3 + 52 >> 2]; + b2Cross_28b2Vec3_20const__2c_20b2Vec3_20const__29($3 + 16 | 0, HEAP32[$3 + 56 >> 2], $1 + 24 | 0); + wasm2js_i32$0 = $0, wasm2js_f32$0 = Math_fround($4 * b2Dot_28b2Vec3_20const__2c_20b2Vec3_20const__29($1, $3 + 16 | 0)), + HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = HEAPF32[$3 + 52 >> 2]; + b2Cross_28b2Vec3_20const__2c_20b2Vec3_20const__29($3 + 4 | 0, $1 + 12 | 0, HEAP32[$3 + 56 >> 2]); + wasm2js_i32$0 = $0, wasm2js_f32$0 = Math_fround($4 * b2Dot_28b2Vec3_20const__2c_20b2Vec3_20const__29($1, $3 + 4 | 0)), + HEAPF32[wasm2js_i32$0 + 8 >> 2] = wasm2js_f32$0; + __stack_pointer = $3 - -64 | 0; +} + +function b2TestOverlap_28b2Shape_20const__2c_20int_2c_20b2Shape_20const__2c_20int_2c_20b2Transform_20const__2c_20b2Transform_20const__29($0, $1, $2, $3, $4, $5) { + var $6 = 0; + $6 = __stack_pointer - 160 | 0; + __stack_pointer = $6; + HEAP32[$6 + 156 >> 2] = $0; + HEAP32[$6 + 152 >> 2] = $1; + HEAP32[$6 + 148 >> 2] = $2; + HEAP32[$6 + 144 >> 2] = $3; + HEAP32[$6 + 140 >> 2] = $4; + HEAP32[$6 + 136 >> 2] = $5; + b2DistanceInput__b2DistanceInput_28_29($6 + 44 | 0); + b2DistanceProxy__Set_28b2Shape_20const__2c_20int_29($6 + 44 | 0, HEAP32[$6 + 156 >> 2], HEAP32[$6 + 152 >> 2]); + b2DistanceProxy__Set_28b2Shape_20const__2c_20int_29($6 + 72 | 0, HEAP32[$6 + 148 >> 2], HEAP32[$6 + 144 >> 2]); + $4 = HEAP32[$6 + 140 >> 2]; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + $3 = $0; + $2 = $6 + 44 | 0; + $0 = $2; + HEAP32[$0 + 56 >> 2] = $3; + HEAP32[$0 + 60 >> 2] = $1; + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$4 + 8 >> 2]; + $3 = $1; + $1 = $2; + HEAP32[$1 + 64 >> 2] = $3; + HEAP32[$1 + 68 >> 2] = $0; + $4 = HEAP32[$6 + 136 >> 2]; + $0 = HEAP32[$4 >> 2]; + $1 = HEAP32[$4 + 4 >> 2]; + $3 = $0; + $2 = $6 + 44 | 0; + $0 = $2; + HEAP32[$0 + 72 >> 2] = $3; + HEAP32[$0 + 76 >> 2] = $1; + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$4 + 8 >> 2]; + $3 = $1; + $1 = $2; + HEAP32[$1 + 80 >> 2] = $3; + HEAP32[$1 + 84 >> 2] = $0; + HEAP8[$6 + 132 | 0] = 1; + HEAP16[$6 + 36 >> 1] = 0; + b2DistanceOutput__b2DistanceOutput_28_29($6 + 8 | 0); + b2Distance_28b2DistanceOutput__2c_20b2SimplexCache__2c_20b2DistanceInput_20const__29($6 + 8 | 0, $6 + 32 | 0, $6 + 44 | 0); + __stack_pointer = $6 + 160 | 0; + return HEAPF32[$6 + 24 >> 2] < Math_fround(11920928955078125e-22); +} + +function __dynamic_cast($0, $1, $2, $3) { + var $4 = 0, $5 = 0, $6 = 0; + $4 = __stack_pointer + -64 | 0; + __stack_pointer = $4; + $6 = HEAP32[$0 >> 2]; + $5 = HEAP32[$6 - 4 >> 2]; + $6 = HEAP32[$6 - 8 >> 2]; + HEAP32[$4 + 32 >> 2] = 0; + HEAP32[$4 + 36 >> 2] = 0; + HEAP32[$4 + 40 >> 2] = 0; + HEAP32[$4 + 44 >> 2] = 0; + HEAP32[$4 + 48 >> 2] = 0; + HEAP32[$4 + 52 >> 2] = 0; + HEAP8[$4 + 55 | 0] = 0; + HEAP8[$4 + 56 | 0] = 0; + HEAP8[$4 + 57 | 0] = 0; + HEAP8[$4 + 58 | 0] = 0; + HEAP8[$4 + 59 | 0] = 0; + HEAP8[$4 + 60 | 0] = 0; + HEAP8[$4 + 61 | 0] = 0; + HEAP8[$4 + 62 | 0] = 0; + HEAP32[$4 + 24 >> 2] = 0; + HEAP32[$4 + 28 >> 2] = 0; + HEAP32[$4 + 20 >> 2] = $3; + HEAP32[$4 + 16 >> 2] = $1; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $2; + $0 = $0 + $6 | 0; + $3 = 0; + label$1: { + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($5, $2, 0)) { + HEAP32[$4 + 56 >> 2] = 1; + FUNCTION_TABLE[HEAP32[HEAP32[$5 >> 2] + 20 >> 2]]($5, $4 + 8 | 0, $0, $0, 1, 0); + $3 = HEAP32[$4 + 32 >> 2] == 1 ? $0 : 0; + break label$1; + } + FUNCTION_TABLE[HEAP32[HEAP32[$5 >> 2] + 24 >> 2]]($5, $4 + 8 | 0, $0, 1, 0); + label$3: { + switch (HEAP32[$4 + 44 >> 2]) { + case 0: + $3 = HEAP32[$4 + 48 >> 2] == 1 ? HEAP32[$4 + 36 >> 2] == 1 ? HEAP32[$4 + 40 >> 2] == 1 ? HEAP32[$4 + 28 >> 2] : 0 : 0 : 0; + break label$1; + + case 1: + break label$3; + + default: + break label$1; + } + } + if (HEAP32[$4 + 32 >> 2] != 1) { + if (HEAP32[$4 + 48 >> 2] | HEAP32[$4 + 36 >> 2] != 1 | HEAP32[$4 + 40 >> 2] != 1) { + break label$1; + } + } + $3 = HEAP32[$4 + 24 >> 2]; + } + __stack_pointer = $4 - -64 | 0; + return $3; +} + +function void_20std____2__vector_int_2c_20std____2__allocator_int______push_back_slow_path_int_20const___28int_20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__vector_int_2c_20std____2__allocator_int______alloc_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + std____2____split_buffer_int_2c_20std____2__allocator_int_______split_buffer_28unsigned_20long_2c_20unsigned_20long_2c_20std____2__allocator_int___29($2, std____2__vector_int_2c_20std____2__allocator_int______recommend_5babi_v160004_5d_28unsigned_20long_29_20const($0, std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const($0) + 1 | 0), std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const($0), HEAP32[$2 + 20 >> 2]); + void_20std____2__allocator_traits_std____2__allocator_int____construct_5babi_v160004_5d_int_2c_20int_20const__2c_20void__28std____2__allocator_int___2c_20int__2c_20int_20const__29(HEAP32[$2 + 20 >> 2], int__20std____2____to_address_5babi_v160004_5d_int__28int__29(HEAP32[$2 + 8 >> 2]), HEAP32[$2 + 24 >> 2]); + HEAP32[$2 + 8 >> 2] = HEAP32[$2 + 8 >> 2] + 4; + std____2__vector_int_2c_20std____2__allocator_int______swap_out_circular_buffer_28std____2____split_buffer_int_2c_20std____2__allocator_int_____29($0, $2); + std____2____split_buffer_int_2c_20std____2__allocator_int________split_buffer_28_29($2); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Shape__20_28b2PolygonShape____29_28b2BlockAllocator__29_20const___invoke_b2PolygonShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Shape__20_28b2PolygonShape____29_28b2BlockAllocator__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 548; + $0 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2BlockAllocator____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2BlockAllocator____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Shape__20_28b2PolygonShape____emscripten__internal__getContext_b2Shape__20_28b2PolygonShape____29_28b2BlockAllocator__29_20const__28b2Shape__20_28b2PolygonShape____20const__29_28b2BlockAllocator__29_20const_29_29_28b2BlockAllocator__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2EdgeShape____29_28b2MassData__2c_20float_29_20const___invoke_b2EdgeShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2EdgeShape____29_28b2MassData__2c_20float_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 544; + $0 = emscripten__internal__TypeID_b2EdgeShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2MassData__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2MassData__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2EdgeShape____emscripten__internal__getContext_void_20_28b2EdgeShape____29_28b2MassData__2c_20float_29_20const__28void_20_28b2EdgeShape____20const__29_28b2MassData__2c_20float_29_20const_29_29_28b2MassData__2c_20float_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Shape__20_28b2CircleShape____29_28b2BlockAllocator__29_20const___invoke_b2CircleShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Shape__20_28b2CircleShape____29_28b2BlockAllocator__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 531; + $0 = emscripten__internal__TypeID_b2CircleShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2BlockAllocator____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2BlockAllocator____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Shape__20_28b2CircleShape____emscripten__internal__getContext_b2Shape__20_28b2CircleShape____29_28b2BlockAllocator__29_20const__28b2Shape__20_28b2CircleShape____20const__29_28b2BlockAllocator__29_20const_29_29_28b2BlockAllocator__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Shape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const___invoke_b2Shape__28char_20const__2c_20bool_20_28b2Shape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 522; + $0 = emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2Shape____emscripten__internal__getContext_bool_20_28b2Shape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const__28bool_20_28b2Shape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29_29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function __memset($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0; + label$1: { + if (!$2) { + break label$1; + } + HEAP8[$0 | 0] = $1; + $3 = $0 + $2 | 0; + HEAP8[$3 - 1 | 0] = $1; + if ($2 >>> 0 < 3) { + break label$1; + } + HEAP8[$0 + 2 | 0] = $1; + HEAP8[$0 + 1 | 0] = $1; + HEAP8[$3 - 3 | 0] = $1; + HEAP8[$3 - 2 | 0] = $1; + if ($2 >>> 0 < 7) { + break label$1; + } + HEAP8[$0 + 3 | 0] = $1; + HEAP8[$3 - 4 | 0] = $1; + if ($2 >>> 0 < 9) { + break label$1; + } + $4 = 0 - $0 & 3; + $3 = $4 + $0 | 0; + $1 = Math_imul($1 & 255, 16843009); + HEAP32[$3 >> 2] = $1; + $4 = $2 - $4 & -4; + $2 = $4 + $3 | 0; + HEAP32[$2 - 4 >> 2] = $1; + if ($4 >>> 0 < 9) { + break label$1; + } + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $1; + HEAP32[$2 - 8 >> 2] = $1; + HEAP32[$2 - 12 >> 2] = $1; + if ($4 >>> 0 < 25) { + break label$1; + } + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $1; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$2 - 16 >> 2] = $1; + HEAP32[$2 - 20 >> 2] = $1; + HEAP32[$2 - 24 >> 2] = $1; + HEAP32[$2 - 28 >> 2] = $1; + $6 = $3 & 4 | 24; + $2 = $4 - $6 | 0; + if ($2 >>> 0 < 32) { + break label$1; + } + $5 = __wasm_i64_mul($1, 0, 1, 1); + $4 = i64toi32_i32$HIGH_BITS; + $1 = $3 + $6 | 0; + while (1) { + HEAP32[$1 + 24 >> 2] = $5; + HEAP32[$1 + 28 >> 2] = $4; + HEAP32[$1 + 16 >> 2] = $5; + HEAP32[$1 + 20 >> 2] = $4; + HEAP32[$1 + 8 >> 2] = $5; + HEAP32[$1 + 12 >> 2] = $4; + HEAP32[$1 >> 2] = $5; + HEAP32[$1 + 4 >> 2] = $4; + $1 = $1 + 32 | 0; + $2 = $2 - 32 | 0; + if ($2 >>> 0 > 31) { + continue; + } + break; + } + } + return $0; +} + +function b2RevoluteJoint__b2RevoluteJoint_28b2RevoluteJointDef_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Joint__b2Joint_28b2JointDef_20const__29($1, HEAP32[$2 + 8 >> 2]); + HEAP32[$1 >> 2] = 19356; + b2Vec2__b2Vec2_28_29($1 + 68 | 0); + b2Vec2__b2Vec2_28_29($1 + 76 | 0); + b2Vec2__b2Vec2_28_29($1 + 84 | 0); + b2Vec2__b2Vec2_28_29($1 + 140 | 0); + b2Vec2__b2Vec2_28_29($1 + 148 | 0); + b2Vec2__b2Vec2_28_29($1 + 156 | 0); + b2Vec2__b2Vec2_28_29($1 + 164 | 0); + b2Mat22__b2Mat22_28_29($1 + 188 | 0); + $3 = HEAP32[$2 + 8 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$1 + 68 >> 2] = $4; + HEAP32[$1 + 72 >> 2] = $0; + $3 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $4 = HEAP32[$3 + 32 >> 2]; + HEAP32[$1 + 76 >> 2] = $0; + HEAP32[$1 + 80 >> 2] = $4; + HEAPF32[$1 + 120 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 36 >> 2]; + b2Vec2__SetZero_28_29($1 + 84 | 0); + HEAPF32[$1 + 208 >> 2] = 0; + HEAPF32[$1 + 92 >> 2] = 0; + HEAPF32[$1 + 96 >> 2] = 0; + HEAPF32[$1 + 100 >> 2] = 0; + HEAPF32[$1 + 124 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 44 >> 2]; + HEAPF32[$1 + 128 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 48 >> 2]; + HEAPF32[$1 + 108 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 60 >> 2]; + HEAPF32[$1 + 112 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 56 >> 2]; + HEAP8[$1 + 116 | 0] = HEAP8[HEAP32[$2 + 8 >> 2] + 40 | 0] & 1; + HEAP8[$1 + 104 | 0] = HEAP8[HEAP32[$2 + 8 >> 2] + 52 | 0] & 1; + HEAPF32[$1 + 204 >> 2] = 0; + __stack_pointer = $2 + 16 | 0; + return $1; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Shape__20_28b2EdgeShape____29_28b2BlockAllocator__29_20const___invoke_b2EdgeShape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Shape__20_28b2EdgeShape____29_28b2BlockAllocator__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 539; + $0 = emscripten__internal__TypeID_b2EdgeShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2BlockAllocator____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2BlockAllocator____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Shape__20_28b2EdgeShape____emscripten__internal__getContext_b2Shape__20_28b2EdgeShape____29_28b2BlockAllocator__29_20const__28b2Shape__20_28b2EdgeShape____20const__29_28b2BlockAllocator__29_20const_29_29_28b2BlockAllocator__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 586; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29__28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29_29_29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Fixture__20_28b2Body____29_28b2Shape_20const__2c_20float_29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Fixture__20_28b2Body____29_28b2Shape_20const__2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 578; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Shape_20const__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Shape_20const__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Fixture__20_28b2Body____emscripten__internal__getContext_b2Fixture__20_28b2Body____29_28b2Shape_20const__2c_20float_29__28b2Fixture__20_28b2Body____20const__29_28b2Shape_20const__2c_20float_29_29_29_28b2Shape_20const__2c_20float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2Fixture__Synchronize_28b2BroadPhase__2c_20b2Transform_20const__2c_20b2Transform_20const__29($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[$4 + 76 >> 2] = $0; + HEAP32[$4 + 72 >> 2] = $1; + HEAP32[$4 + 68 >> 2] = $2; + HEAP32[$4 + 64 >> 2] = $3; + label$1: { + $0 = HEAP32[$4 + 76 >> 2]; + if (!HEAP32[$0 + 28 >> 2]) { + break label$1; + } + HEAP32[$4 + 60 >> 2] = 0; + while (1) { + if (HEAP32[$4 + 60 >> 2] >= HEAP32[$0 + 28 >> 2]) { + break label$1; + } + HEAP32[$4 + 56 >> 2] = HEAP32[$0 + 24 >> 2] + Math_imul(HEAP32[$4 + 60 >> 2], 28); + b2AABB__b2AABB_28_29($4 + 40 | 0); + b2AABB__b2AABB_28_29($4 + 24 | 0); + $1 = HEAP32[$0 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 24 >> 2]]($1, $4 + 40 | 0, HEAP32[$4 + 68 >> 2], HEAP32[HEAP32[$4 + 56 >> 2] + 20 >> 2]); + $1 = HEAP32[$0 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 24 >> 2]]($1, $4 + 24 | 0, HEAP32[$4 + 64 >> 2], HEAP32[HEAP32[$4 + 56 >> 2] + 20 >> 2]); + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$4 + 56 >> 2], $4 + 40 | 0, $4 + 24 | 0); + b2AABB__GetCenter_28_29_20const($4 + 8 | 0, $4 + 24 | 0); + b2AABB__GetCenter_28_29_20const($4, $4 + 40 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 16 | 0, $4 + 8 | 0, $4); + b2BroadPhase__MoveProxy_28int_2c_20b2AABB_20const__2c_20b2Vec2_20const__29(HEAP32[$4 + 72 >> 2], HEAP32[HEAP32[$4 + 56 >> 2] + 24 >> 2], HEAP32[$4 + 56 >> 2], $4 + 16 | 0); + HEAP32[$4 + 60 >> 2] = HEAP32[$4 + 60 >> 2] + 1; + continue; + } + } + __stack_pointer = $4 + 80 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Shape____29_28b2MassData__2c_20float_29_20const___invoke_b2Shape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Shape____29_28b2MassData__2c_20float_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 525; + $0 = emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2MassData__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2MassData__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Shape____emscripten__internal__getContext_void_20_28b2Shape____29_28b2MassData__2c_20float_29_20const__28void_20_28b2Shape____20const__29_28b2MassData__2c_20float_29_20const_29_29_28b2MassData__2c_20float_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______reset_5babi_v160004_5d_28std____2____tree_node_b2Fixture__2c_20void____29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = HEAP32[std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______first_5babi_v160004_5d_28_29($0) >> 2], + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$2 + 8 >> 2]; + wasm2js_i32$0 = std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______first_5babi_v160004_5d_28_29($0), + wasm2js_i32$1 = $1, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + if (HEAP32[$2 + 4 >> 2]) { + std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______operator_28_29_5babi_v160004_5d_28std____2____tree_node_b2Fixture__2c_20void____29(std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______second_5babi_v160004_5d_28_29($0), HEAP32[$2 + 4 >> 2]); + } + __stack_pointer = $2 + 16 | 0; +} + +function b2LinearStiffness_28float__2c_20float__2c_20float_2c_20float_2c_20b2Body_20const__2c_20b2Body_20const__29($0, $1, $2, $3, $4, $5) { + var $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[$6 + 44 >> 2] = $0; + HEAP32[$6 + 40 >> 2] = $1; + HEAPF32[$6 + 36 >> 2] = $2; + HEAPF32[$6 + 32 >> 2] = $3; + HEAP32[$6 + 28 >> 2] = $4; + HEAP32[$6 + 24 >> 2] = $5; + wasm2js_i32$0 = $6, wasm2js_f32$0 = b2Body__GetMass_28_29_20const(HEAP32[$6 + 28 >> 2]), + HEAPF32[wasm2js_i32$0 + 20 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $6, wasm2js_f32$0 = b2Body__GetMass_28_29_20const(HEAP32[$6 + 24 >> 2]), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + label$1: { + if (!(!(HEAPF32[$6 + 20 >> 2] > Math_fround(0)) | !(HEAPF32[$6 + 16 >> 2] > Math_fround(0)))) { + HEAPF32[$6 + 12 >> 2] = Math_fround(HEAPF32[$6 + 20 >> 2] * HEAPF32[$6 + 16 >> 2]) / Math_fround(HEAPF32[$6 + 20 >> 2] + HEAPF32[$6 + 16 >> 2]); + break label$1; + } + label$3: { + if (HEAPF32[$6 + 20 >> 2] > Math_fround(0)) { + HEAPF32[$6 + 12 >> 2] = HEAPF32[$6 + 20 >> 2]; + break label$3; + } + HEAPF32[$6 + 12 >> 2] = HEAPF32[$6 + 16 >> 2]; + } + } + HEAPF32[$6 + 8 >> 2] = HEAPF32[$6 + 36 >> 2] * Math_fround(6.2831854820251465); + HEAPF32[HEAP32[$6 + 44 >> 2] >> 2] = Math_fround(HEAPF32[$6 + 12 >> 2] * HEAPF32[$6 + 8 >> 2]) * HEAPF32[$6 + 8 >> 2]; + $2 = HEAPF32[$6 + 12 >> 2]; + HEAPF32[HEAP32[$6 + 40 >> 2] >> 2] = Math_fround(Math_fround($2 + $2) * HEAPF32[$6 + 32 >> 2]) * HEAPF32[$6 + 8 >> 2]; + __stack_pointer = $6 + 48 | 0; +} + +function __cxxabiv1____si_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 + 8 >> 2], $4)) { + __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($1, $1, $2, $3); + return; + } + label$2: { + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 >> 2], $4)) { + if (!(HEAP32[$1 + 16 >> 2] != ($2 | 0) & HEAP32[$1 + 20 >> 2] != ($2 | 0))) { + if (($3 | 0) != 1) { + break label$2; + } + HEAP32[$1 + 32 >> 2] = 1; + return; + } + HEAP32[$1 + 32 >> 2] = $3; + label$6: { + if (HEAP32[$1 + 44 >> 2] == 4) { + break label$6; + } + HEAP16[$1 + 52 >> 1] = 0; + $0 = HEAP32[$0 + 8 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 20 >> 2]]($0, $1, $2, $2, 1, $4); + if (HEAPU8[$1 + 53 | 0]) { + HEAP32[$1 + 44 >> 2] = 3; + if (!HEAPU8[$1 + 52 | 0]) { + break label$6; + } + break label$2; + } + HEAP32[$1 + 44 >> 2] = 4; + } + HEAP32[$1 + 20 >> 2] = $2; + HEAP32[$1 + 40 >> 2] = HEAP32[$1 + 40 >> 2] + 1; + if (HEAP32[$1 + 36 >> 2] != 1 | HEAP32[$1 + 24 >> 2] != 2) { + break label$2; + } + HEAP8[$1 + 54 | 0] = 1; + return; + } + $0 = HEAP32[$0 + 8 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $1, $2, $3, $4); + } +} + +function cosf($0) { + var $1 = Math_fround(0), $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + $4 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + $3 = $4 & 2147483647; + label$1: { + if ($3 >>> 0 <= 1061752794) { + $1 = Math_fround(1); + if ($3 >>> 0 < 964689920) { + break label$1; + } + $1 = __cosdf(+$0); + break label$1; + } + if ($3 >>> 0 <= 1081824209) { + if ($3 >>> 0 >= 1075235812) { + $1 = Math_fround(-__cosdf((($4 | 0) < 0 ? 3.141592653589793 : -3.141592653589793) + +$0)); + break label$1; + } + $5 = +$0; + if (($4 | 0) < 0) { + $1 = __sindf($5 + 1.5707963267948966); + break label$1; + } + $1 = __sindf(1.5707963267948966 - $5); + break label$1; + } + if ($3 >>> 0 <= 1088565717) { + if ($3 >>> 0 >= 1085271520) { + $1 = __cosdf((($4 | 0) < 0 ? 6.283185307179586 : -6.283185307179586) + +$0); + break label$1; + } + if (($4 | 0) < 0) { + $1 = __sindf(-4.71238898038469 - +$0); + break label$1; + } + $1 = __sindf(+$0 + -4.71238898038469); + break label$1; + } + $1 = Math_fround($0 - $0); + if ($3 >>> 0 >= 2139095040) { + break label$1; + } + label$9: { + switch (__rem_pio2f($0, $2 + 8 | 0) & 3) { + case 0: + $1 = __cosdf(HEAPF64[$2 + 8 >> 3]); + break label$1; + + case 1: + $1 = __sindf(-HEAPF64[$2 + 8 >> 3]); + break label$1; + + case 2: + $1 = Math_fround(-__cosdf(HEAPF64[$2 + 8 >> 3])); + break label$1; + + default: + break label$9; + } + } + $1 = __sindf(HEAPF64[$2 + 8 >> 3]); + } + __stack_pointer = $2 + 16 | 0; + return $1; +} + +function sinf($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + $4 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + $2 = $4 & 2147483647; + label$1: { + if ($2 >>> 0 <= 1061752794) { + if ($2 >>> 0 < 964689920) { + break label$1; + } + $0 = __sindf(+$0); + break label$1; + } + if ($2 >>> 0 <= 1081824209) { + $3 = +$0; + if ($2 >>> 0 <= 1075235811) { + if (($4 | 0) < 0) { + $0 = Math_fround(-__cosdf($3 + 1.5707963267948966)); + break label$1; + } + $0 = __cosdf($3 + -1.5707963267948966); + break label$1; + } + $0 = __sindf(-((($4 | 0) >= 0 ? -3.141592653589793 : 3.141592653589793) + $3)); + break label$1; + } + if ($2 >>> 0 <= 1088565717) { + if ($2 >>> 0 <= 1085271519) { + $3 = +$0; + if (($4 | 0) < 0) { + $0 = __cosdf($3 + 4.71238898038469); + break label$1; + } + $0 = Math_fround(-__cosdf($3 + -4.71238898038469)); + break label$1; + } + $0 = __sindf((($4 | 0) < 0 ? 6.283185307179586 : -6.283185307179586) + +$0); + break label$1; + } + if ($2 >>> 0 >= 2139095040) { + $0 = Math_fround($0 - $0); + break label$1; + } + label$10: { + switch (__rem_pio2f($0, $1 + 8 | 0) & 3) { + case 0: + $0 = __sindf(HEAPF64[$1 + 8 >> 3]); + break label$1; + + case 1: + $0 = __cosdf(HEAPF64[$1 + 8 >> 3]); + break label$1; + + case 2: + $0 = __sindf(-HEAPF64[$1 + 8 >> 3]); + break label$1; + + default: + break label$10; + } + } + $0 = Math_fround(-__cosdf(HEAPF64[$1 + 8 >> 3])); + } + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2ContactListener____29_28unsigned_20int_29___invoke_b2ContactListener_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2ContactListener____29_28unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 478; + $0 = emscripten__internal__TypeID_b2ContactListener_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2ContactListener____emscripten__internal__getContext_void_20_28b2ContactListener____29_28unsigned_20int_29__28void_20_28b2ContactListener____20const__29_28unsigned_20int_29_29_29_28unsigned_20int_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2DynamicTree__CreateProxy_28b2AABB_20const__2c_20void__29($0, $1, $2) { + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 44 >> 2] = $0; + HEAP32[$3 + 40 >> 2] = $1; + HEAP32[$3 + 36 >> 2] = $2; + $4 = HEAP32[$3 + 44 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2DynamicTree__AllocateNode_28_29($4), HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + b2Vec2__b2Vec2_28float_2c_20float_29($3 + 24 | 0, Math_fround(.10000000149011612), Math_fround(.10000000149011612)); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 16 | 0, HEAP32[$3 + 40 >> 2], $3 + 24 | 0); + $0 = HEAP32[$3 + 20 >> 2]; + $1 = HEAP32[$3 + 16 >> 2]; + $2 = $1; + $1 = HEAP32[$4 + 4 >> 2] + Math_imul(HEAP32[$3 + 32 >> 2], 40) | 0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 8 | 0, HEAP32[$3 + 40 >> 2] + 8 | 0, $3 + 24 | 0); + $1 = HEAP32[$3 + 12 >> 2]; + $0 = HEAP32[$3 + 8 >> 2]; + $2 = $0; + $0 = HEAP32[$4 + 4 >> 2] + Math_imul(HEAP32[$3 + 32 >> 2], 40) | 0; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + HEAP32[(HEAP32[$4 + 4 >> 2] + Math_imul(HEAP32[$3 + 32 >> 2], 40) | 0) + 16 >> 2] = HEAP32[$3 + 36 >> 2]; + HEAP32[(HEAP32[$4 + 4 >> 2] + Math_imul(HEAP32[$3 + 32 >> 2], 40) | 0) + 32 >> 2] = 0; + HEAP8[(HEAP32[$4 + 4 >> 2] + Math_imul(HEAP32[$3 + 32 >> 2], 40) | 0) + 36 | 0] = 1; + b2DynamicTree__InsertLeaf_28int_29($4, HEAP32[$3 + 32 >> 2]); + __stack_pointer = $3 + 48 | 0; + return HEAP32[$3 + 32 >> 2]; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Fixture__20_28b2Body____29_28b2FixtureDef_20const__29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Fixture__20_28b2Body____29_28b2FixtureDef_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 577; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2FixtureDef_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2FixtureDef_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Fixture__20_28b2Body____emscripten__internal__getContext_b2Fixture__20_28b2Body____29_28b2FixtureDef_20const__29__28b2Fixture__20_28b2Body____20const__29_28b2FixtureDef_20const__29_29_29_28b2FixtureDef_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2QueryCallback____29_28unsigned_20int_29___invoke_b2QueryCallback_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28b2QueryCallback____29_28unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 468; + $0 = emscripten__internal__TypeID_b2QueryCallback_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2QueryCallback__2c_20unsigned_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2QueryCallback__2c_20unsigned_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2QueryCallback____emscripten__internal__getContext_bool_20_28b2QueryCallback____29_28unsigned_20int_29__28bool_20_28b2QueryCallback____20const__29_28unsigned_20int_29_29_29_28unsigned_20int_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function __vfprintf_internal($0, $1, $2, $3, $4) { + var $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $5 = __stack_pointer - 208 | 0; + __stack_pointer = $5; + HEAP32[$5 + 204 >> 2] = $2; + __memset($5 + 160 | 0, 0, 40); + HEAP32[$5 + 200 >> 2] = HEAP32[$5 + 204 >> 2]; + label$1: { + if ((printf_core(0, $1, $5 + 200 | 0, $5 + 80 | 0, $5 + 160 | 0, $3, $4) | 0) < 0) { + $4 = -1; + break label$1; + } + if (HEAP32[$0 + 76 >> 2] >= 0) { + $8 = __lockfile($0); + } + $6 = HEAP32[$0 >> 2]; + if (HEAP32[$0 + 72 >> 2] <= 0) { + HEAP32[$0 >> 2] = $6 & -33; + } + label$5: { + label$6: { + label$7: { + if (!HEAP32[$0 + 48 >> 2]) { + HEAP32[$0 + 48 >> 2] = 80; + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + $7 = HEAP32[$0 + 44 >> 2]; + HEAP32[$0 + 44 >> 2] = $5; + break label$7; + } + if (HEAP32[$0 + 16 >> 2]) { + break label$6; + } + } + $2 = -1; + if (__towrite($0)) { + break label$5; + } + } + $2 = printf_core($0, $1, $5 + 200 | 0, $5 + 80 | 0, $5 + 160 | 0, $3, $4); + } + $4 = $6 & 32; + if ($7) { + FUNCTION_TABLE[HEAP32[$0 + 36 >> 2]]($0, 0, 0) | 0; + HEAP32[$0 + 48 >> 2] = 0; + HEAP32[$0 + 44 >> 2] = $7; + HEAP32[$0 + 28 >> 2] = 0; + $3 = HEAP32[$0 + 20 >> 2]; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + $2 = $3 ? $2 : -1; + } + $3 = HEAP32[$0 >> 2]; + HEAP32[$0 >> 2] = $4 | $3; + $4 = $3 & 32 ? -1 : $2; + if (!$8) { + break label$1; + } + __unlockfile($0); + } + __stack_pointer = $5 + 208 | 0; + return $4; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Joint__20_28b2World____29_28b2JointDef_20const__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Joint__20_28b2World____29_28b2JointDef_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 511; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Joint__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2JointDef_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Joint__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2JointDef_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Joint__20_28b2World____emscripten__internal__getContext_b2Joint__20_28b2World____29_28b2JointDef_20const__29__28b2Joint__20_28b2World____20const__29_28b2JointDef_20const__29_29_29_28b2JointDef_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2BroadPhase__QueryCallback_28int_29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + $0 = HEAP32[$2 + 24 >> 2]; + label$1: { + if (HEAP32[$2 + 20 >> 2] == HEAP32[$0 + 56 >> 2]) { + break label$1; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2DynamicTree__WasMoved_28int_29_20const($0, HEAP32[$2 + 20 >> 2]) & 1, + HEAP8[wasm2js_i32$0 + 19 | 0] = wasm2js_i32$1; + if (!(!(HEAP8[$2 + 19 | 0] & 1) | HEAP32[$2 + 20 >> 2] <= HEAP32[$0 + 56 >> 2])) { + break label$1; + } + if (HEAP32[$0 + 52 >> 2] == HEAP32[$0 + 48 >> 2]) { + HEAP32[$2 + 12 >> 2] = HEAP32[$0 + 44 >> 2]; + HEAP32[$0 + 48 >> 2] = HEAP32[$0 + 48 >> 2] + (HEAP32[$0 + 48 >> 2] >> 1); + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Alloc_28int_29(HEAP32[$0 + 48 >> 2] << 3), + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + __memcpy(HEAP32[$0 + 44 >> 2], HEAP32[$2 + 12 >> 2], HEAP32[$0 + 52 >> 2] << 3); + b2Free_28void__29(HEAP32[$2 + 12 >> 2]); + } + $1 = int_20b2Min_int__28int_2c_20int_29(HEAP32[$2 + 20 >> 2], HEAP32[$0 + 56 >> 2]); + HEAP32[HEAP32[$0 + 44 >> 2] + (HEAP32[$0 + 52 >> 2] << 3) >> 2] = $1; + $1 = int_20b2Max_int__28int_2c_20int_29(HEAP32[$2 + 20 >> 2], HEAP32[$0 + 56 >> 2]); + HEAP32[(HEAP32[$0 + 44 >> 2] + (HEAP32[$0 + 52 >> 2] << 3) | 0) + 4 >> 2] = $1; + HEAP32[$0 + 52 >> 2] = HEAP32[$0 + 52 >> 2] + 1; + } + HEAP8[$2 + 31 | 0] = 1; + __stack_pointer = $2 + 32 | 0; + return HEAP8[$2 + 31 | 0] & 1; +} + +function __fdopen($0, $1) { + var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + label$1: { + label$2: { + label$3: { + if (!strchr(10404, HEAP8[$1 | 0])) { + wasm2js_i32$0 = __errno_location(), wasm2js_i32$1 = 28, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$3; + } + $2 = dlmalloc(1176); + if ($2) { + break label$2; + } + } + $2 = 0; + break label$1; + } + __memset($2, 0, 144); + if (!strchr($1, 43)) { + HEAP32[$2 >> 2] = HEAPU8[$1 | 0] == 114 ? 8 : 4; + } + label$6: { + if (HEAPU8[$1 | 0] != 97) { + $1 = HEAP32[$2 >> 2]; + break label$6; + } + $1 = __syscall_fcntl64($0 | 0, 3, 0) | 0; + if (!($1 & 1024)) { + $1 = $1 | 1024; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $1 >> 31; + __syscall_fcntl64($0 | 0, 4, $3 + 16 | 0) | 0; + } + $1 = HEAP32[$2 >> 2] | 128; + HEAP32[$2 >> 2] = $1; + } + HEAP32[$2 + 80 >> 2] = -1; + HEAP32[$2 + 48 >> 2] = 1024; + HEAP32[$2 + 60 >> 2] = $0; + HEAP32[$2 + 44 >> 2] = $2 + 152; + label$9: { + if ($1 & 8) { + break label$9; + } + HEAP32[$3 >> 2] = $3 + 24; + HEAP32[$3 + 4 >> 2] = 0; + if (__syscall_ioctl($0 | 0, 21523, $3 | 0) | 0) { + break label$9; + } + HEAP32[$2 + 80 >> 2] = 10; + } + HEAP32[$2 + 40 >> 2] = 958; + HEAP32[$2 + 36 >> 2] = 959; + HEAP32[$2 + 32 >> 2] = 960; + HEAP32[$2 + 12 >> 2] = 961; + if (!HEAPU8[31025]) { + HEAP32[$2 + 76 >> 2] = -1; + } + $2 = __ofl_add($2); + } + __stack_pointer = $3 + 32 | 0; + return $2; +} + +function emscripten__value_object_b2Filter___20emscripten__value_object_b2Filter___field_b2Filter_2c_20unsigned_20short__28char_20const__2c_20unsigned_20short_20b2Filter____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 464; + HEAP32[$3 + 4 >> 2] = 465; + $1 = emscripten__internal__TypeID_b2Filter_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_unsigned_20short_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = unsigned_20short_20b2Filter_____20emscripten__internal__getContext_unsigned_20short_20b2Filter_____28unsigned_20short_20b2Filter____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_unsigned_20short_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$3 + 4 >> 2], unsigned_20short_20b2Filter_____20emscripten__internal__getContext_unsigned_20short_20b2Filter_____28unsigned_20short_20b2Filter____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function emscripten__internal__WireTypePack_unsigned_20int__2c_20unsigned_20int____WireTypePack_28unsigned_20int__2c_20unsigned_20int__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 24 >> 2] = $0; + HEAP32[$3 + 20 >> 2] = $1; + HEAP32[$3 + 16 >> 2] = $2; + $0 = HEAP32[$3 + 24 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$3 + 20 >> 2]; + $2 = HEAP32[$3 + 16 >> 2]; + HEAP32[$3 + 36 >> 2] = $3 + 12; + HEAP32[$3 + 32 >> 2] = $1; + HEAP32[$3 + 28 >> 2] = $2; + void_20emscripten__internal__writeGenericWireType_unsigned_20int__28emscripten__internal__GenericWireType___2c_20unsigned_20int_29(HEAP32[$3 + 36 >> 2], emscripten__internal__BindingType_unsigned_20int_2c_20void___toWireType_28unsigned_20int_20const__29(HEAP32[$3 + 32 >> 2])); + $1 = HEAP32[$3 + 28 >> 2]; + HEAP32[$3 + 44 >> 2] = HEAP32[$3 + 36 >> 2]; + HEAP32[$3 + 40 >> 2] = $1; + void_20emscripten__internal__writeGenericWireType_unsigned_20int__28emscripten__internal__GenericWireType___2c_20unsigned_20int_29(HEAP32[$3 + 44 >> 2], emscripten__internal__BindingType_unsigned_20int_2c_20void___toWireType_28unsigned_20int_20const__29(HEAP32[$3 + 40 >> 2])); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[$3 + 44 >> 2]); + __stack_pointer = $3 + 48 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28unsigned_20long_2c_20int_20const__29_2c_20void_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____invoke_28void_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28unsigned_20long_2c_20int_20const__29_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 28 >> 2] = $0; + HEAP32[$4 + 24 >> 2] = $1; + HEAP32[$4 + 20 >> 2] = $2; + HEAP32[$4 + 16 >> 2] = $3; + $2 = emscripten__internal__BindingType_std____2__vector_int_2c_20std____2__allocator_int____2c_20void___fromWireType_28std____2__vector_int_2c_20std____2__allocator_int____29(HEAP32[$4 + 24 >> 2]); + $0 = HEAP32[$4 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $1 = emscripten__internal__BindingType_unsigned_20long_2c_20void___fromWireType_28unsigned_20long_29(HEAP32[$4 + 20 >> 2]); + wasm2js_i32$0 = $4, wasm2js_i32$1 = emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$4 + 16 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + FUNCTION_TABLE[$0 | 0]($2, $1, $4 + 12 | 0); + __stack_pointer = $4 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2PolygonShape____29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_2c_20void_2c_20b2PolygonShape__2c_20float_2c_20float_2c_20b2Vec2_20const__2c_20float___invoke_28void_20_28b2PolygonShape____20const__29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_2c_20b2PolygonShape__2c_20float_2c_20float_2c_20b2Vec2__2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = $4 | 0; + $5 = Math_fround($5); + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAPF32[$6 + 20 >> 2] = $2; + HEAPF32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAPF32[$6 + 8 >> 2] = $5; + $4 = emscripten__internal__BindingType_b2PolygonShape__2c_20void___fromWireType_28b2PolygonShape__29(HEAP32[$6 + 24 >> 2]); + $0 = HEAP32[$6 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$6 + 20 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$6 + 16 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$6 + 12 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$6 + 8 >> 2])); + __stack_pointer = $6 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29_2c_20void_2c_20b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const____invoke_28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29_2c_20b2Draw__2c_20b2Vec2__2c_20float_2c_20b2Vec2__2c_20b2Color__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = $4 | 0; + $5 = $5 | 0; + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAP32[$6 + 20 >> 2] = $2; + HEAPF32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAP32[$6 + 8 >> 2] = $5; + $2 = emscripten__internal__BindingType_b2Draw__2c_20void___fromWireType_28b2Draw__29(HEAP32[$6 + 24 >> 2]); + $0 = HEAP32[$6 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$6 + 20 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$6 + 16 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$6 + 12 >> 2]), emscripten__internal__GenericBindingType_b2Color___fromWireType_28b2Color__29(HEAP32[$6 + 8 >> 2])); + __stack_pointer = $6 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28b2MassData__29_20const___invoke_b2Fixture_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Fixture____29_28b2MassData__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 571; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2MassData____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2MassData____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28b2MassData__29_20const__28void_20_28b2Fixture____20const__29_28b2MassData__29_20const_29_29_28b2MassData__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2Fixture____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const_2c_20bool_2c_20b2Fixture_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int___invoke_28bool_20_28b2Fixture____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const_2c_20b2Fixture_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + $2 = emscripten__internal__BindingType_b2Fixture_20const__2c_20void___fromWireType_28b2Fixture_20const__29(HEAP32[$5 + 24 >> 2]); + $0 = HEAP32[$5 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2RayCastOutput__2c_20void___fromWireType_28b2RayCastOutput__29(HEAP32[$5 + 20 >> 2]), emscripten__internal__GenericBindingType_b2RayCastInput___fromWireType_28b2RayCastInput__29(HEAP32[$5 + 16 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$5 + 12 >> 2])) & 1); + __stack_pointer = $5 + 32 | 0; + return $0 & 1; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2ContactListenerWrapper____29_28unsigned_20int_29___invoke_b2ContactListener__28char_20const__2c_20void_20_28b2ContactListenerWrapper____29_28unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 480; + $0 = emscripten__internal__TypeID_b2ContactListenerWrapper_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2ContactListenerWrapper____emscripten__internal__getContext_void_20_28b2ContactListenerWrapper____29_28unsigned_20int_29__28void_20_28b2ContactListenerWrapper____20const__29_28unsigned_20int_29_29_29_28unsigned_20int_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2ContactListenerWrapper____29_28unsigned_20int_29___invoke_b2ContactListener__28char_20const__2c_20bool_20_28b2ContactListenerWrapper____29_28unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 481; + $0 = emscripten__internal__TypeID_b2ContactListenerWrapper_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2ContactListenerWrapper____emscripten__internal__getContext_bool_20_28b2ContactListenerWrapper____29_28unsigned_20int_29__28bool_20_28b2ContactListenerWrapper____20const__29_28unsigned_20int_29_29_29_28unsigned_20int_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Body__20_28b2World____29_28b2BodyDef_20const__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Body__20_28b2World____29_28b2BodyDef_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 509; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2BodyDef_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2BodyDef_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Body__20_28b2World____emscripten__internal__getContext_b2Body__20_28b2World____29_28b2BodyDef_20const__29__28b2Body__20_28b2World____20const__29_28b2BodyDef_20const__29_29_29_28b2BodyDef_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______lower_bound_b2Fixture___28b2Fixture__20const__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_end_node_std____2____tree_node_base_void______29($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 24 >> 2] = $0; + HEAP32[$4 + 20 >> 2] = $1; + HEAP32[$4 + 16 >> 2] = $2; + HEAP32[$4 + 12 >> 2] = $3; + $0 = HEAP32[$4 + 24 >> 2]; + while (1) { + if (HEAP32[$4 + 16 >> 2]) { + if (!(std____2__less_b2Fixture____operator_28_29_5babi_v160004_5d_28b2Fixture__20const__2c_20b2Fixture__20const__29_20const(std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____value_comp_5babi_v160004_5d_28_29($0), HEAP32[$4 + 16 >> 2] + 16 | 0, HEAP32[$4 + 20 >> 2]) & 1)) { + HEAP32[$4 + 12 >> 2] = HEAP32[$4 + 16 >> 2]; + HEAP32[$4 + 16 >> 2] = HEAP32[HEAP32[$4 + 16 >> 2] >> 2]; + continue; + } + HEAP32[$4 + 16 >> 2] = HEAP32[HEAP32[$4 + 16 >> 2] + 4 >> 2]; + continue; + } + break; + } + std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____tree_iterator_5babi_v160004_5d_28std____2____tree_end_node_std____2____tree_node_base_void______29($4 + 28 | 0, HEAP32[$4 + 12 >> 2]); + __stack_pointer = $4 + 32 | 0; + return HEAP32[$4 + 28 >> 2]; +} + +function emscripten__value_object_b2RayCastOutput___20emscripten__value_object_b2RayCastOutput___field_b2RayCastOutput_2c_20b2Vec2__28char_20const__2c_20b2Vec2_20b2RayCastOutput____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 452; + HEAP32[$3 + 4 >> 2] = 453; + $1 = emscripten__internal__TypeID_b2RayCastOutput_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = b2Vec2_20b2RayCastOutput_____20emscripten__internal__getContext_b2Vec2_20b2RayCastOutput_____28b2Vec2_20b2RayCastOutput____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$3 + 4 >> 2], b2Vec2_20b2RayCastOutput_____20emscripten__internal__getContext_b2Vec2_20b2RayCastOutput_____28b2Vec2_20b2RayCastOutput____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function b2Body__SynchronizeFixtures_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0; + $1 = __stack_pointer - 48 | 0; + __stack_pointer = $1; + HEAP32[$1 + 44 >> 2] = $0; + $2 = HEAP32[$1 + 44 >> 2]; + HEAP32[$1 + 40 >> 2] = HEAP32[$2 + 88 >> 2] + 102868; + label$1: { + if (HEAPU16[$2 + 4 >> 1] & 2) { + b2Transform__b2Transform_28_29($1 + 24 | 0); + b2Rot__Set_28float_29($1 + 32 | 0, HEAPF32[$2 + 52 >> 2]); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($1 + 8 | 0, $1 + 32 | 0, $2 + 28 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 16 | 0, $2 + 36 | 0, $1 + 8 | 0); + $3 = HEAP32[$1 + 20 >> 2]; + $0 = HEAP32[$1 + 16 >> 2]; + $4 = $0; + $0 = $1 + 24 | 0; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 4 >> 2] = $3; + HEAP32[$1 + 4 >> 2] = HEAP32[$2 + 100 >> 2]; + while (1) { + if (HEAP32[$1 + 4 >> 2]) { + b2Fixture__Synchronize_28b2BroadPhase__2c_20b2Transform_20const__2c_20b2Transform_20const__29(HEAP32[$1 + 4 >> 2], HEAP32[$1 + 40 >> 2], $1 + 24 | 0, $2 + 12 | 0); + HEAP32[$1 + 4 >> 2] = HEAP32[HEAP32[$1 + 4 >> 2] + 4 >> 2]; + continue; + } + break; + } + break label$1; + } + HEAP32[$1 >> 2] = HEAP32[$2 + 100 >> 2]; + while (1) { + if (HEAP32[$1 >> 2]) { + b2Fixture__Synchronize_28b2BroadPhase__2c_20b2Transform_20const__2c_20b2Transform_20const__29(HEAP32[$1 >> 2], HEAP32[$1 + 40 >> 2], $2 + 12 | 0, $2 + 12 | 0); + HEAP32[$1 >> 2] = HEAP32[HEAP32[$1 >> 2] + 4 >> 2]; + continue; + } + break; + } + } + __stack_pointer = $1 + 48 | 0; +} + +function std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_________compressed_pair_5babi_v160004_5d_std____2____tree_node_b2Fixture__2c_20void_____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______28std____2____tree_node_b2Fixture__2c_20void_____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + std____2____compressed_pair_elem_std____2____tree_node_b2Fixture__2c_20void____2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std____2____tree_node_b2Fixture__2c_20void_____2c_20void__28std____2____tree_node_b2Fixture__2c_20void_____29($0, HEAP32[$3 + 8 >> 2]); + std____2____compressed_pair_elem_std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_201_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20void__28std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______29($0 + 4 | 0, HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; + return $0; +} + +function emscripten__internal__FunctionInvoker_bool_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29_2c_20bool_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____invoke_28bool_20_28___29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 28 >> 2] = $0; + HEAP32[$4 + 24 >> 2] = $1; + HEAP32[$4 + 20 >> 2] = $2; + HEAP32[$4 + 16 >> 2] = $3; + $0 = HEAP32[HEAP32[$4 + 28 >> 2] >> 2]; + $1 = emscripten__internal__GenericBindingType_std____2__vector_int_2c_20std____2__allocator_int_____fromWireType_28std____2__vector_int_2c_20std____2__allocator_int____29(HEAP32[$4 + 24 >> 2]); + $2 = emscripten__internal__BindingType_unsigned_20long_2c_20void___fromWireType_28unsigned_20long_29(HEAP32[$4 + 20 >> 2]); + wasm2js_i32$0 = $4, wasm2js_i32$1 = emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$4 + 16 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($1, $2, $4 + 12 | 0) & 1); + __stack_pointer = $4 + 32 | 0; + return $0 & 1; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28b2Transform_20const__29___invoke_b2Draw_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Draw____29_28b2Transform_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 492; + $0 = emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Transform_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Transform_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28b2Transform_20const__29__28void_20_28b2Draw____20const__29_28b2Transform_20const__29_29_29_28b2Transform_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__value_object_b2RayCastOutput___20emscripten__value_object_b2RayCastOutput___field_b2RayCastOutput_2c_20float__28char_20const__2c_20float_20b2RayCastOutput____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 454; + HEAP32[$3 + 4 >> 2] = 455; + $1 = emscripten__internal__TypeID_b2RayCastOutput_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = float_20b2RayCastOutput_____20emscripten__internal__getContext_float_20b2RayCastOutput_____28float_20b2RayCastOutput____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$3 + 4 >> 2], float_20b2RayCastOutput_____20emscripten__internal__getContext_float_20b2RayCastOutput_____28float_20b2RayCastOutput____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function b2Contact__b2Contact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + $0 = HEAP32[$5 + 28 >> 2]; + HEAP32[$0 >> 2] = 18408; + b2Manifold__b2Manifold_28_29($0 - -64 | 0); + HEAP32[$0 + 4 >> 2] = 4; + HEAP32[$0 + 48 >> 2] = HEAP32[$5 + 24 >> 2]; + HEAP32[$0 + 52 >> 2] = HEAP32[$5 + 16 >> 2]; + HEAP32[$0 + 56 >> 2] = HEAP32[$5 + 20 >> 2]; + HEAP32[$0 + 60 >> 2] = HEAP32[$5 + 12 >> 2]; + HEAP32[$0 + 124 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 36 >> 2] = 0; + HEAP32[$0 + 40 >> 2] = 0; + HEAP32[$0 + 44 >> 2] = 0; + HEAP32[$0 + 32 >> 2] = 0; + HEAP32[$0 + 128 >> 2] = 0; + wasm2js_i32$0 = $0, wasm2js_f32$0 = b2MixFriction_28float_2c_20float_29(HEAPF32[HEAP32[$0 + 48 >> 2] + 16 >> 2], HEAPF32[HEAP32[$0 + 52 >> 2] + 16 >> 2]), + HEAPF32[wasm2js_i32$0 + 136 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $0, wasm2js_f32$0 = b2MixRestitution_28float_2c_20float_29(HEAPF32[HEAP32[$0 + 48 >> 2] + 20 >> 2], HEAPF32[HEAP32[$0 + 52 >> 2] + 20 >> 2]), + HEAPF32[wasm2js_i32$0 + 140 >> 2] = wasm2js_f32$0; + HEAPF32[$0 + 144 >> 2] = 0; + __stack_pointer = $5 + 32 | 0; + return $0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2ContactListener__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2ContactListener__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 506; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2ContactListener____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2ContactListener____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2ContactListener__29__28void_20_28b2World____20const__29_28b2ContactListener__29_29_29_28b2ContactListener__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2MassData__29_20const___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Body____29_28b2MassData__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 589; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20b2MassData____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20b2MassData____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2MassData__29_20const__28void_20_28b2Body____20const__29_28b2MassData__29_20const_29_29_28b2MassData__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__value_object_b2RayCastInput___20emscripten__value_object_b2RayCastInput___field_b2RayCastInput_2c_20b2Vec2__28char_20const__2c_20b2Vec2_20b2RayCastInput____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 446; + HEAP32[$3 + 4 >> 2] = 447; + $1 = emscripten__internal__TypeID_b2RayCastInput_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = b2Vec2_20b2RayCastInput_____20emscripten__internal__getContext_b2Vec2_20b2RayCastInput_____28b2Vec2_20b2RayCastInput____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$3 + 4 >> 2], b2Vec2_20b2RayCastInput_____20emscripten__internal__getContext_b2Vec2_20b2RayCastInput_____28b2Vec2_20b2RayCastInput____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function emscripten__value_object_b2RayCastInput___20emscripten__value_object_b2RayCastInput___field_b2RayCastInput_2c_20float__28char_20const__2c_20float_20b2RayCastInput____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 448; + HEAP32[$3 + 4 >> 2] = 449; + $1 = emscripten__internal__TypeID_b2RayCastInput_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = float_20b2RayCastInput_____20emscripten__internal__getContext_float_20b2RayCastInput_____28float_20b2RayCastInput____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$3 + 4 >> 2], float_20b2RayCastInput_____20emscripten__internal__getContext_float_20b2RayCastInput_____28float_20b2RayCastInput____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2PrismaticJoint____29_28float_2c_20float_29___invoke_b2PrismaticJoint__28char_20const__2c_20void_20_28b2PrismaticJoint____29_28float_2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 647; + $0 = emscripten__internal__TypeID_b2PrismaticJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float_2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float_2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2PrismaticJoint____emscripten__internal__getContext_void_20_28b2PrismaticJoint____29_28float_2c_20float_29__28void_20_28b2PrismaticJoint____20const__29_28float_2c_20float_29_29_29_28float_2c_20float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2RevoluteJoint____29_28float_2c_20float_29___invoke_b2RevoluteJoint__28char_20const__2c_20void_20_28b2RevoluteJoint____29_28float_2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 660; + $0 = emscripten__internal__TypeID_b2RevoluteJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float_2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float_2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2RevoluteJoint____emscripten__internal__getContext_void_20_28b2RevoluteJoint____29_28float_2c_20float_29__28void_20_28b2RevoluteJoint____20const__29_28float_2c_20float_29_29_29_28float_2c_20float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2DistanceJoint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 144 | 0; + __stack_pointer = $1; + HEAP32[$1 + 140 >> 2] = $0; + $0 = HEAP32[$1 + 140 >> 2]; + HEAP32[$1 + 136 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 132 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(13635, 0); + HEAP32[$1 + 96 >> 2] = HEAP32[$1 + 136 >> 2]; + b2Dump_28char_20const__2c_20____29(13849, $1 + 96 | 0); + HEAP32[$1 + 80 >> 2] = HEAP32[$1 + 132 >> 2]; + b2Dump_28char_20const__2c_20____29(13823, $1 + 80 | 0); + HEAP32[$1 + 64 >> 2] = HEAP8[$0 + 61 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14859, $1 - -64 | 0); + $2 = HEAPF32[$0 + 80 >> 2]; + HEAPF64[$1 + 56 >> 3] = HEAPF32[$0 + 84 >> 2]; + HEAPF64[$1 + 48 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14265, $1 + 48 | 0); + $2 = HEAPF32[$0 + 88 >> 2]; + HEAPF64[$1 + 40 >> 3] = HEAPF32[$0 + 92 >> 2]; + HEAPF64[$1 + 32 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14158, $1 + 32 | 0); + HEAPF64[$1 + 16 >> 3] = HEAPF32[$0 + 104 >> 2]; + b2Dump_28char_20const__2c_20____29(12920, $1 + 16 | 0); + HEAPF64[$1 >> 3] = HEAPF32[$0 + 68 >> 2]; + b2Dump_28char_20const__2c_20____29(12730, $1); + HEAPF64[$1 + 112 >> 3] = HEAPF32[$0 + 72 >> 2]; + b2Dump_28char_20const__2c_20____29(12965, $1 + 112 | 0); + HEAP32[$1 + 128 >> 2] = HEAP32[$0 + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(14538, $1 + 128 | 0); + __stack_pointer = $1 + 144 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 643; + $0 = emscripten__internal__TypeID_b2PrismaticJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20const__20_28b2PrismaticJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const__28b2Vec2_20const__20_28b2PrismaticJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2WeldJoint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 144 | 0; + __stack_pointer = $1; + HEAP32[$1 + 140 >> 2] = $0; + $0 = HEAP32[$1 + 140 >> 2]; + HEAP32[$1 + 136 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 132 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(13661, 0); + HEAP32[$1 + 96 >> 2] = HEAP32[$1 + 136 >> 2]; + b2Dump_28char_20const__2c_20____29(13849, $1 + 96 | 0); + HEAP32[$1 + 80 >> 2] = HEAP32[$1 + 132 >> 2]; + b2Dump_28char_20const__2c_20____29(13823, $1 + 80 | 0); + HEAP32[$1 + 64 >> 2] = HEAP8[$0 + 61 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14859, $1 - -64 | 0); + $2 = HEAPF32[$0 + 80 >> 2]; + HEAPF64[$1 + 56 >> 3] = HEAPF32[$0 + 84 >> 2]; + HEAPF64[$1 + 48 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14265, $1 + 48 | 0); + $2 = HEAPF32[$0 + 88 >> 2]; + HEAPF64[$1 + 40 >> 3] = HEAPF32[$0 + 92 >> 2]; + HEAPF64[$1 + 32 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14158, $1 + 32 | 0); + HEAPF64[$1 + 16 >> 3] = HEAPF32[$0 + 96 >> 2]; + b2Dump_28char_20const__2c_20____29(13167, $1 + 16 | 0); + HEAPF64[$1 >> 3] = HEAPF32[$0 + 68 >> 2]; + b2Dump_28char_20const__2c_20____29(12730, $1); + HEAPF64[$1 + 112 >> 3] = HEAPF32[$0 + 72 >> 2]; + b2Dump_28char_20const__2c_20____29(12965, $1 + 112 | 0); + HEAP32[$1 + 128 >> 2] = HEAP32[$0 + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(14538, $1 + 128 | 0); + __stack_pointer = $1 + 144 | 0; +} + +function void_20std____2____tree_left_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$1 + 8 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] + 4 >> 2]; + HEAP32[HEAP32[$1 + 12 >> 2] + 4 >> 2] = HEAP32[HEAP32[$1 + 8 >> 2] >> 2]; + if (HEAP32[HEAP32[$1 + 12 >> 2] + 4 >> 2]) { + std____2____tree_node_base_void______set_parent_5babi_v160004_5d_28std____2____tree_node_base_void____29(HEAP32[HEAP32[$1 + 12 >> 2] + 4 >> 2], HEAP32[$1 + 12 >> 2]); + } + HEAP32[HEAP32[$1 + 8 >> 2] + 8 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] + 8 >> 2]; + label$2: { + if (bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$1 + 12 >> 2]) & 1) { + HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] + 8 >> 2] >> 2] = HEAP32[$1 + 8 >> 2]; + break label$2; + } + $0 = HEAP32[$1 + 8 >> 2]; + wasm2js_i32$0 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]), + wasm2js_i32$1 = $0, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + } + HEAP32[HEAP32[$1 + 8 >> 2] >> 2] = HEAP32[$1 + 12 >> 2]; + std____2____tree_node_base_void______set_parent_5babi_v160004_5d_28std____2____tree_node_base_void____29(HEAP32[$1 + 12 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2PolygonShape____29_28float_2c_20float_29___invoke_b2PolygonShape__28char_20const__2c_20void_20_28b2PolygonShape____29_28float_2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 556; + $0 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2PolygonShape____emscripten__internal__getContext_void_20_28b2PolygonShape____29_28float_2c_20float_29__28void_20_28b2PolygonShape____20const__29_28float_2c_20float_29_29_29_28float_2c_20float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__value_object_b2Transform___20emscripten__value_object_b2Transform___field_b2Transform_2c_20b2Vec2__28char_20const__2c_20b2Vec2_20b2Transform____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 436; + HEAP32[$3 + 4 >> 2] = 437; + $1 = emscripten__internal__TypeID_b2Transform_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = b2Vec2_20b2Transform_____20emscripten__internal__getContext_b2Vec2_20b2Transform_____28b2Vec2_20b2Transform____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$3 + 4 >> 2], b2Vec2_20b2Transform_____20emscripten__internal__getContext_b2Vec2_20b2Transform_____28b2Vec2_20b2Transform____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function b2Contact__AddType_28b2Contact__20_28__29_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29_2c_20void_20_28__29_28b2Contact__2c_20b2BlockAllocator__29_2c_20b2Shape__Type_2c_20b2Shape__Type_29($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + if (!(HEAP32[$4 + 4 >> 2] < 4 & HEAP32[$4 + 4 >> 2] >= 0)) { + __assert_fail(2326, 5153, 58, 9292); + wasm2js_trap(); + } + if (!(HEAP32[$4 >> 2] < 4 & HEAP32[$4 >> 2] >= 0)) { + __assert_fail(2283, 5153, 59, 9292); + wasm2js_trap(); + } + HEAP32[(Math_imul(HEAP32[$4 + 4 >> 2], 48) + 30784 | 0) + Math_imul(HEAP32[$4 >> 2], 12) >> 2] = HEAP32[$4 + 12 >> 2]; + HEAP32[((Math_imul(HEAP32[$4 + 4 >> 2], 48) + 30784 | 0) + Math_imul(HEAP32[$4 >> 2], 12) | 0) + 4 >> 2] = HEAP32[$4 + 8 >> 2]; + HEAP8[((Math_imul(HEAP32[$4 + 4 >> 2], 48) + 30784 | 0) + Math_imul(HEAP32[$4 >> 2], 12) | 0) + 8 | 0] = 1; + if (HEAP32[$4 + 4 >> 2] != HEAP32[$4 >> 2]) { + HEAP32[(Math_imul(HEAP32[$4 >> 2], 48) + 30784 | 0) + Math_imul(HEAP32[$4 + 4 >> 2], 12) >> 2] = HEAP32[$4 + 12 >> 2]; + HEAP32[((Math_imul(HEAP32[$4 >> 2], 48) + 30784 | 0) + Math_imul(HEAP32[$4 + 4 >> 2], 12) | 0) + 4 >> 2] = HEAP32[$4 + 8 >> 2]; + HEAP8[((Math_imul(HEAP32[$4 >> 2], 48) + 30784 | 0) + Math_imul(HEAP32[$4 + 4 >> 2], 12) | 0) + 8 | 0] = 0; + } + __stack_pointer = $4 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Vec2_20const__2c_20float_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2Vec2_20const__2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 580; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2Vec2_20const__2c_20float_29__28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20float_29_29_29_28b2Vec2_20const__2c_20float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20b2Vec2_20const__20_28b2RevoluteJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 656; + $0 = emscripten__internal__TypeID_b2RevoluteJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20const__20_28b2RevoluteJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2RevoluteJoint____29_28_29_20const__28b2Vec2_20const__20_28b2RevoluteJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2DistanceJoint____29_28_29_20const___invoke_b2DistanceJoint__28char_20const__2c_20b2Vec2_20const__20_28b2DistanceJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 614; + $0 = emscripten__internal__TypeID_b2DistanceJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20const__20_28b2DistanceJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2DistanceJoint____29_28_29_20const__28b2Vec2_20const__20_28b2DistanceJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20std____2____tree_right_rotate_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$1 + 8 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[HEAP32[$1 + 12 >> 2] >> 2] = HEAP32[HEAP32[$1 + 8 >> 2] + 4 >> 2]; + if (HEAP32[HEAP32[$1 + 12 >> 2] >> 2]) { + std____2____tree_node_base_void______set_parent_5babi_v160004_5d_28std____2____tree_node_base_void____29(HEAP32[HEAP32[$1 + 12 >> 2] >> 2], HEAP32[$1 + 12 >> 2]); + } + HEAP32[HEAP32[$1 + 8 >> 2] + 8 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] + 8 >> 2]; + label$2: { + if (bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$1 + 12 >> 2]) & 1) { + HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] + 8 >> 2] >> 2] = HEAP32[$1 + 8 >> 2]; + break label$2; + } + $0 = HEAP32[$1 + 8 >> 2]; + wasm2js_i32$0 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]), + wasm2js_i32$1 = $0, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + } + HEAP32[HEAP32[$1 + 8 >> 2] + 4 >> 2] = HEAP32[$1 + 12 >> 2]; + std____2____tree_node_base_void______set_parent_5babi_v160004_5d_28std____2____tree_node_base_void____29(HEAP32[$1 + 12 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2PrismaticJoint____29_28float_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20float_20_28b2PrismaticJoint____29_28float_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 649; + $0 = emscripten__internal__TypeID_b2PrismaticJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2PrismaticJoint____emscripten__internal__getContext_float_20_28b2PrismaticJoint____29_28float_29_20const__28float_20_28b2PrismaticJoint____20const__29_28float_29_20const_29_29_28float_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28float_2c_20int_2c_20int_29___invoke_b2World__28char_20const__2c_20void_20_28b2World____29_28float_2c_20int_2c_20int_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 513; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20float_2c_20int_2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20float_2c_20int_2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28float_2c_20int_2c_20int_29__28void_20_28b2World____20const__29_28float_2c_20int_2c_20int_29_29_29_28float_2c_20int_2c_20int_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Fixture____29_28b2Vec2_20const__29_20const___invoke_b2Fixture__28char_20const__2c_20bool_20_28b2Fixture____29_28b2Vec2_20const__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 569; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2Fixture____emscripten__internal__getContext_bool_20_28b2Fixture____29_28b2Vec2_20const__29_20const__28bool_20_28b2Fixture____20const__29_28b2Vec2_20const__29_20const_29_29_28b2Vec2_20const__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__value_object_b2Transform___20emscripten__value_object_b2Transform___field_b2Transform_2c_20b2Rot__28char_20const__2c_20b2Rot_20b2Transform____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 438; + HEAP32[$3 + 4 >> 2] = 439; + $1 = emscripten__internal__TypeID_b2Transform_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_b2Rot_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = b2Rot_20b2Transform_____20emscripten__internal__getContext_b2Rot_20b2Transform_____28b2Rot_20b2Transform____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_b2Rot_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$3 + 4 >> 2], b2Rot_20b2Transform_____20emscripten__internal__getContext_b2Rot_20b2Transform_____28b2Rot_20b2Transform____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function emscripten__value_object_b2MassData___20emscripten__value_object_b2MassData___field_b2MassData_2c_20b2Vec2__28char_20const__2c_20b2Vec2_20b2MassData____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 460; + HEAP32[$3 + 4 >> 2] = 461; + $1 = emscripten__internal__TypeID_b2MassData_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = b2Vec2_20b2MassData_____20emscripten__internal__getContext_b2Vec2_20b2MassData_____28b2Vec2_20b2MassData____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$3 + 4 >> 2], b2Vec2_20b2MassData_____20emscripten__internal__getContext_b2Vec2_20b2MassData_____28b2Vec2_20b2MassData____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Vec2_20const__2c_20bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2Vec2_20const__2c_20bool_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 587; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20bool___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20bool___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2Vec2_20const__2c_20bool_29__28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20bool_29_29_29_28b2Vec2_20const__2c_20bool_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2RevoluteJoint____29_28float_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20float_20_28b2RevoluteJoint____29_28float_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 662; + $0 = emscripten__internal__TypeID_b2RevoluteJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2RevoluteJoint____emscripten__internal__getContext_float_20_28b2RevoluteJoint____29_28float_29_20const__28float_20_28b2RevoluteJoint____20const__29_28float_29_20const_29_29_28float_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2AABB_20const__20_28b2Fixture____29_28int_29_20const___invoke_b2Fixture__28char_20const__2c_20b2AABB_20const__20_28b2Fixture____29_28int_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 574; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2AABB_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2AABB_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2AABB_20const__20_28b2Fixture____emscripten__internal__getContext_b2AABB_20const__20_28b2Fixture____29_28int_29_20const__28b2AABB_20const__20_28b2Fixture____20const__29_28int_29_20const_29_29_28int_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__value_object_b2MassData___20emscripten__value_object_b2MassData___field_b2MassData_2c_20float__28char_20const__2c_20float_20b2MassData____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 458; + HEAP32[$3 + 4 >> 2] = 459; + $1 = emscripten__internal__TypeID_b2MassData_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = float_20b2MassData_____20emscripten__internal__getContext_float_20b2MassData_____28float_20b2MassData____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$3 + 4 >> 2], float_20b2MassData_____20emscripten__internal__getContext_float_20b2MassData_____28float_20b2MassData____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function __rem_pio2f($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + $5 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + $2 = $5 & 2147483647; + label$1: { + if ($2 >>> 0 <= 1305022426) { + $6 = +$0; + $3 = $6 * .6366197723675814 + 6755399441055744 + -6755399441055744; + $7 = $6 + $3 * -1.5707963109016418 + $3 * -1.5893254773528196e-8; + HEAPF64[$1 >> 3] = $7; + $5 = $7 < -.7853981852531433; + if (Math_abs($3) < 2147483648) { + $2 = ~~$3; + } else { + $2 = -2147483648; + } + if ($5) { + $3 = $3 + -1; + HEAPF64[$1 >> 3] = $6 + $3 * -1.5707963109016418 + $3 * -1.5893254773528196e-8; + $2 = $2 - 1 | 0; + break label$1; + } + if (!($7 > .7853981852531433)) { + break label$1; + } + $3 = $3 + 1; + HEAPF64[$1 >> 3] = $6 + $3 * -1.5707963109016418 + $3 * -1.5893254773528196e-8; + $2 = $2 + 1 | 0; + break label$1; + } + if ($2 >>> 0 >= 2139095040) { + HEAPF64[$1 >> 3] = Math_fround($0 - $0); + $2 = 0; + break label$1; + } + $8 = ($2 >>> 23 | 0) - 150 | 0; + HEAPF64[$4 + 8 >> 3] = (wasm2js_scratch_store_i32(2, $2 - ($8 << 23) | 0), wasm2js_scratch_load_f32()); + $2 = __rem_pio2_large($4 + 8 | 0, $4, $8, 1, 0); + $3 = HEAPF64[$4 >> 3]; + if (($5 | 0) < 0) { + HEAPF64[$1 >> 3] = -$3; + $2 = 0 - $2 | 0; + break label$1; + } + HEAPF64[$1 >> 3] = $3; + } + __stack_pointer = $4 + 16 | 0; + return $2; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 592; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20_28b2Body____emscripten__internal__getContext_b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const__28b2Vec2_20_28b2Body____20const__29_28b2Vec2_20const__29_20const_29_29_28b2Vec2_20const__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____20std____2____dispatch_copy_or_move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2____move_loop_std____2___ClassicAlgPolicy__2c_20std____2____move_trivial_2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 28 >> 2] = $1; + HEAP32[$4 + 24 >> 2] = $2; + HEAP32[$4 + 20 >> 2] = $3; + HEAP32[$4 + 16 >> 2] = HEAP32[$4 + 28 >> 2]; + HEAP32[$4 + 12 >> 2] = HEAP32[$4 + 24 >> 2]; + HEAP32[$4 + 8 >> 2] = HEAP32[$4 + 20 >> 2]; + std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____20std____2____unwrap_and_dispatch_5babi_v160004_5d_std____2____overload_std____2____move_loop_std____2___ClassicAlgPolicy__2c_20std____2____move_trivial__2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_200__28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($0, HEAP32[$4 + 16 >> 2], HEAP32[$4 + 12 >> 2], HEAP32[$4 + 8 >> 2]); + __stack_pointer = $4 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Fixture__29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2Body____29_28b2Fixture__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 579; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Fixture____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Fixture____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2Fixture__29__28void_20_28b2Body____20const__29_28b2Fixture__29_29_29_28b2Fixture__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 689; + $0 = emscripten__internal__TypeID_b2WheelJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20const__20_28b2WheelJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const__28b2Vec2_20const__20_28b2WheelJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2MouseJoint____29_28_29_20const___invoke_b2MouseJoint__28char_20const__2c_20b2Vec2_20const__20_28b2MouseJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 634; + $0 = emscripten__internal__TypeID_b2MouseJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20const__20_28b2MouseJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2MouseJoint____29_28_29_20const__28b2Vec2_20const__20_28b2MouseJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2MotorJoint____29_28_29_20const___invoke_b2MotorJoint__28char_20const__2c_20b2Vec2_20const__20_28b2MotorJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 624; + $0 = emscripten__internal__TypeID_b2MotorJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20const__20_28b2MotorJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2MotorJoint____29_28_29_20const__28b2Vec2_20const__20_28b2MotorJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2Joint__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2Joint__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 512; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Joint____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Joint____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2Joint__29__28void_20_28b2World____20const__29_28b2Joint__29_29_29_28b2Joint__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2AABB____29_28b2AABB_20const__29_20const___invoke_b2AABB__28char_20const__2c_20bool_20_28b2AABB____29_28b2AABB_20const__29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 503; + $0 = emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20b2AABB_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20b2AABB_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2AABB____emscripten__internal__getContext_bool_20_28b2AABB____29_28b2AABB_20const__29_20const__28bool_20_28b2AABB____20const__29_28b2AABB_20const__29_20const_29_29_28b2AABB_20const__29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2MouseJoint____29_28b2Vec2_20const__29___invoke_b2MouseJoint__28char_20const__2c_20void_20_28b2MouseJoint____29_28b2Vec2_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 633; + $0 = emscripten__internal__TypeID_b2MouseJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2MouseJoint____emscripten__internal__getContext_void_20_28b2MouseJoint____29_28b2Vec2_20const__29__28void_20_28b2MouseJoint____20const__29_28b2Vec2_20const__29_29_29_28b2Vec2_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2MotorJoint____29_28b2Vec2_20const__29___invoke_b2MotorJoint__28char_20const__2c_20void_20_28b2MotorJoint____29_28b2Vec2_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 623; + $0 = emscripten__internal__TypeID_b2MotorJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2MotorJoint____emscripten__internal__getContext_void_20_28b2MotorJoint____29_28b2Vec2_20const__29__28void_20_28b2MotorJoint____20const__29_28b2Vec2_20const__29_29_29_28b2Vec2_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______recommend_5babi_v160004_5d_28unsigned_20long_29_20const($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + $0 = HEAP32[$2 + 24 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____max_size_28_29_20const($0), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + if (HEAPU32[$2 + 20 >> 2] > HEAPU32[$2 + 16 >> 2]) { + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______throw_length_error_5babi_v160004_5d_28_29_20const($0); + wasm2js_trap(); + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____capacity_5babi_v160004_5d_28_29_20const($0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + label$2: { + if (HEAPU32[$2 + 12 >> 2] >= HEAP32[$2 + 16 >> 2] >>> 1 >>> 0) { + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 16 >> 2]; + break label$2; + } + HEAP32[$2 + 8 >> 2] = HEAP32[$2 + 12 >> 2] << 1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = HEAP32[unsigned_20long_20const__20std____2__max_5babi_v160004_5d_unsigned_20long__28unsigned_20long_20const__2c_20unsigned_20long_20const__29($2 + 8 | 0, $2 + 20 | 0) >> 2], + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + } + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______construct_at_end_28unsigned_20long_2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____ConstructTransaction___ConstructTransaction_5babi_v160004_5d_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_29($3 + 8 | 0, $0, HEAP32[$3 + 24 >> 2]); + HEAP32[$3 + 4 >> 2] = HEAP32[$3 + 16 >> 2]; + HEAP32[$3 >> 2] = HEAP32[$3 + 12 >> 2]; + while (1) { + if (HEAP32[$3 >> 2] != HEAP32[$3 + 4 >> 2]) { + void_20std____2__allocator_traits_std____2__allocator_b2Vec2____construct_5babi_v160004_5d_b2Vec2_2c_20b2Vec2_20const__2c_20void__28std____2__allocator_b2Vec2___2c_20b2Vec2__2c_20b2Vec2_20const__29(std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______alloc_5babi_v160004_5d_28_29($0), b2Vec2__20std____2____to_address_5babi_v160004_5d_b2Vec2__28b2Vec2__29(HEAP32[$3 >> 2]), HEAP32[$3 + 20 >> 2]); + $1 = HEAP32[$3 >> 2] + 8 | 0; + HEAP32[$3 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $1; + continue; + } + break; + } + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____ConstructTransaction____ConstructTransaction_5babi_v160004_5d_28_29($3 + 8 | 0); + __stack_pointer = $3 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2WeldJoint____29_28_29_20const___invoke_b2WeldJoint__28char_20const__2c_20b2Vec2_20const__20_28b2WeldJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 680; + $0 = emscripten__internal__TypeID_b2WeldJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20const__20_28b2WeldJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2WeldJoint____29_28_29_20const__28b2Vec2_20const__20_28b2WeldJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2RopeJoint____29_28_29_20const___invoke_b2RopeJoint__28char_20const__2c_20b2Vec2_20const__20_28b2RopeJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 669; + $0 = emscripten__internal__TypeID_b2RopeJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20const__20_28b2RopeJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2RopeJoint____29_28_29_20const__28b2Vec2_20const__20_28b2RopeJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2WheelJoint____29_28float_29_20const___invoke_b2WheelJoint__28char_20const__2c_20float_20_28b2WheelJoint____29_28float_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 694; + $0 = emscripten__internal__TypeID_b2WheelJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2WheelJoint____emscripten__internal__getContext_float_20_28b2WheelJoint____29_28float_29_20const__28float_20_28b2WheelJoint____20const__29_28float_29_20const_29_29_28float_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2Draw__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2Draw__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 507; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Draw____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Draw____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2Draw__29__28void_20_28b2World____20const__29_28b2Draw__29_29_29_28b2Draw__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2Body__29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28b2Body__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 510; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Body____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Body____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2Body__29__28void_20_28b2World____20const__29_28b2Body__29_29_29_28b2Body__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Joint____29_28_29_20const___invoke_b2Joint_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Vec2_20_28b2Joint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 604; + $0 = emscripten__internal__TypeID_b2Joint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20_28b2Joint____emscripten__internal__getContext_b2Vec2_20_28b2Joint____29_28_29_20const__28b2Vec2_20_28b2Joint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__value_object_b2Filter___20emscripten__value_object_b2Filter___field_b2Filter_2c_20short__28char_20const__2c_20short_20b2Filter____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 466; + HEAP32[$3 + 4 >> 2] = 467; + $1 = emscripten__internal__TypeID_b2Filter_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_short_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = short_20b2Filter_____20emscripten__internal__getContext_short_20b2Filter_____28short_20b2Filter____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_short_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$3 + 4 >> 2], short_20b2Filter_____20emscripten__internal__getContext_short_20b2Filter_____28short_20b2Filter____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const_2c_20void_2c_20b2World_20const__2c_20b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const____invoke_28void_20_28b2World____20const__29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const_2c_20b2World_20const__2c_20b2RayCastCallback__2c_20b2Vec2__2c_20b2Vec2__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + $2 = emscripten__internal__BindingType_b2World_20const__2c_20void___fromWireType_28b2World_20const__29(HEAP32[$5 + 24 >> 2]); + $0 = HEAP32[$5 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2RayCastCallback__2c_20void___fromWireType_28b2RayCastCallback__29(HEAP32[$5 + 20 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$5 + 16 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$5 + 12 >> 2])); + __stack_pointer = $5 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Filter_20const__20_28b2Fixture____29_28_29_20const___invoke_b2Fixture__28char_20const__2c_20b2Filter_20const__20_28b2Fixture____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 566; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Filter_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Filter_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Filter_20const__20_28b2Fixture____emscripten__internal__getContext_b2Filter_20const__20_28b2Fixture____29_28_29_20const__28b2Filter_20const__20_28b2Fixture____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28unsigned_20long_2c_20b2Vec2_20const__29_2c_20void_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____invoke_28void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28unsigned_20long_2c_20b2Vec2_20const__29_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20void___fromWireType_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_unsigned_20long_2c_20void___fromWireType_28unsigned_20long_29(HEAP32[$4 + 4 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2RopeJoint____29_28float_29_20const___invoke_b2RopeJoint__28char_20const__2c_20b2Vec2_20_28b2RopeJoint____29_28float_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 670; + $0 = emscripten__internal__TypeID_b2RopeJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20_28b2RopeJoint____emscripten__internal__getContext_b2Vec2_20_28b2RopeJoint____29_28float_29_20const__28b2Vec2_20_28b2RopeJoint____20const__29_28float_29_20const_29_29_28float_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2Simplex__GetMetric_28_29_20const($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 32 | 0; + __stack_pointer = $1; + HEAP32[$1 + 24 >> 2] = $0; + label$1: { + label$2: { + label$3: { + label$4: { + label$5: { + label$6: { + $0 = HEAP32[$1 + 24 >> 2]; + switch (HEAP32[$0 + 108 >> 2]) { + case 3: + break label$3; + + case 2: + break label$4; + + case 1: + break label$5; + + case 0: + break label$6; + + default: + break label$2; + } + } + __assert_fail(9147, 6034, 257, 10392); + wasm2js_trap(); + } + HEAPF32[$1 + 28 >> 2] = 0; + break label$1; + } + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Distance_28b2Vec2_20const__2c_20b2Vec2_20const__29($0 + 16 | 0, $0 + 52 | 0), + HEAPF32[wasm2js_i32$0 + 28 >> 2] = wasm2js_f32$0; + break label$1; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 16 | 0, $0 + 52 | 0, $0 + 16 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 8 | 0, $0 + 88 | 0, $0 + 16 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 16 | 0, $1 + 8 | 0), + HEAPF32[wasm2js_i32$0 + 28 >> 2] = wasm2js_f32$0; + break label$1; + } + __assert_fail(9147, 6034, 270, 10392); + wasm2js_trap(); + } + __stack_pointer = $1 + 32 | 0; + return HEAPF32[$1 + 28 >> 2]; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28b2Filter_20const__29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28b2Filter_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 565; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20b2Filter_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20b2Filter_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28b2Filter_20const__29__28void_20_28b2Fixture____20const__29_28b2Filter_20const__29_29_29_28b2Filter_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2RopeJoint____29_28float_29_20const___invoke_b2RopeJoint__28char_20const__2c_20float_20_28b2RopeJoint____29_28float_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 671; + $0 = emscripten__internal__TypeID_b2RopeJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2RopeJoint____emscripten__internal__getContext_float_20_28b2RopeJoint____29_28float_29_20const__28float_20_28b2RopeJoint____20const__29_28float_29_20const_29_29_28float_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Transform_20const__20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20b2Transform_20const__20_28b2Body____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 581; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Transform_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Transform_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Transform_20const__20_28b2Body____emscripten__internal__getContext_b2Transform_20const__20_28b2Body____29_28_29_20const__28b2Transform_20const__20_28b2Body____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__value_object_b2Color___20emscripten__value_object_b2Color___field_b2Color_2c_20float__28char_20const__2c_20float_20b2Color____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 442; + HEAP32[$3 + 4 >> 2] = 443; + $1 = emscripten__internal__TypeID_b2Color_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = float_20b2Color_____20emscripten__internal__getContext_float_20b2Color_____28float_20b2Color____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$3 + 4 >> 2], float_20b2Color_____20emscripten__internal__getContext_float_20b2Color_____28float_20b2Color____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function b2MotorJoint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 144 | 0; + __stack_pointer = $1; + HEAP32[$1 + 140 >> 2] = $0; + $0 = HEAP32[$1 + 140 >> 2]; + HEAP32[$1 + 136 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 132 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(13493, 0); + HEAP32[$1 + 96 >> 2] = HEAP32[$1 + 136 >> 2]; + b2Dump_28char_20const__2c_20____29(13849, $1 + 96 | 0); + HEAP32[$1 + 80 >> 2] = HEAP32[$1 + 132 >> 2]; + b2Dump_28char_20const__2c_20____29(13823, $1 + 80 | 0); + HEAP32[$1 + 64 >> 2] = HEAP8[$0 + 61 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14859, $1 - -64 | 0); + $2 = HEAPF32[$0 + 68 >> 2]; + HEAPF64[$1 + 56 >> 3] = HEAPF32[$0 + 72 >> 2]; + HEAPF64[$1 + 48 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14029, $1 + 48 | 0); + HEAPF64[$1 + 32 >> 3] = HEAPF32[$0 + 76 >> 2]; + b2Dump_28char_20const__2c_20____29(12674, $1 + 32 | 0); + HEAPF64[$1 + 16 >> 3] = HEAPF32[$0 + 92 >> 2]; + b2Dump_28char_20const__2c_20____29(13223, $1 + 16 | 0); + HEAPF64[$1 >> 3] = HEAPF32[$0 + 96 >> 2]; + b2Dump_28char_20const__2c_20____29(13044, $1); + HEAPF64[$1 + 112 >> 3] = HEAPF32[$0 + 100 >> 2]; + b2Dump_28char_20const__2c_20____29(12754, $1 + 112 | 0); + HEAP32[$1 + 128 >> 2] = HEAP32[$0 + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(14538, $1 + 128 | 0); + __stack_pointer = $1 + 144 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______recommend_5babi_v160004_5d_28unsigned_20long_29_20const($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + $0 = HEAP32[$2 + 24 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__vector_int_2c_20std____2__allocator_int____max_size_28_29_20const($0), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + if (HEAPU32[$2 + 20 >> 2] > HEAPU32[$2 + 16 >> 2]) { + std____2__vector_int_2c_20std____2__allocator_int______throw_length_error_5babi_v160004_5d_28_29_20const($0); + wasm2js_trap(); + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__vector_int_2c_20std____2__allocator_int____capacity_5babi_v160004_5d_28_29_20const($0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + label$2: { + if (HEAPU32[$2 + 12 >> 2] >= HEAP32[$2 + 16 >> 2] >>> 1 >>> 0) { + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 16 >> 2]; + break label$2; + } + HEAP32[$2 + 8 >> 2] = HEAP32[$2 + 12 >> 2] << 1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = HEAP32[unsigned_20long_20const__20std____2__max_5babi_v160004_5d_unsigned_20long__28unsigned_20long_20const__2c_20unsigned_20long_20const__29($2 + 8 | 0, $2 + 20 | 0) >> 2], + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + } + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function emscripten__value_object_b2Vec2___20emscripten__value_object_b2Vec2___field_b2Vec2_2c_20float__28char_20const__2c_20float_20b2Vec2____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 420; + HEAP32[$3 + 4 >> 2] = 421; + $1 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = float_20b2Vec2_____20emscripten__internal__getContext_float_20b2Vec2_____28float_20b2Vec2____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$3 + 4 >> 2], float_20b2Vec2_____20emscripten__internal__getContext_float_20b2Vec2_____28float_20b2Vec2____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20float_20_28b2PrismaticJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 644; + $0 = emscripten__internal__TypeID_b2PrismaticJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2PrismaticJoint____emscripten__internal__getContext_float_20_28b2PrismaticJoint____29_28_29_20const__28float_20_28b2PrismaticJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2Island__Report_28b2ContactVelocityConstraint_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 48 | 0; + __stack_pointer = $2; + HEAP32[$2 + 44 >> 2] = $0; + HEAP32[$2 + 40 >> 2] = $1; + label$1: { + $0 = HEAP32[$2 + 44 >> 2]; + if (!HEAP32[$0 + 4 >> 2]) { + break label$1; + } + HEAP32[$2 + 36 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 36 >> 2] >= HEAP32[$0 + 36 >> 2]) { + break label$1; + } + HEAP32[$2 + 32 >> 2] = HEAP32[HEAP32[$0 + 12 >> 2] + (HEAP32[$2 + 36 >> 2] << 2) >> 2]; + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 40 >> 2] + Math_imul(HEAP32[$2 + 36 >> 2], 156); + HEAP32[$2 + 24 >> 2] = HEAP32[HEAP32[$2 + 28 >> 2] + 148 >> 2]; + HEAP32[$2 + 4 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 4 >> 2] < HEAP32[HEAP32[$2 + 28 >> 2] + 148 >> 2]) { + HEAPF32[($2 + 8 | 0) + (HEAP32[$2 + 4 >> 2] << 2) >> 2] = HEAPF32[(HEAP32[$2 + 28 >> 2] + Math_imul(HEAP32[$2 + 4 >> 2], 36) | 0) + 16 >> 2]; + HEAPF32[($2 + 16 | 0) + (HEAP32[$2 + 4 >> 2] << 2) >> 2] = HEAPF32[(HEAP32[$2 + 28 >> 2] + Math_imul(HEAP32[$2 + 4 >> 2], 36) | 0) + 20 >> 2]; + HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] + 1; + continue; + } + break; + } + $1 = HEAP32[$0 + 4 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 20 >> 2]]($1, HEAP32[$2 + 32 >> 2], $2 + 8 | 0); + HEAP32[$2 + 36 >> 2] = HEAP32[$2 + 36 >> 2] + 1; + continue; + } + } + __stack_pointer = $2 + 48 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2FixtureDef__2c_20b2Shape_20const__29___invoke_b2FixtureDef_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2FixtureDef__2c_20b2Shape_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 559; + $0 = emscripten__internal__TypeID_b2FixtureDef_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2FixtureDef__2c_20b2Shape_20const____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2FixtureDef__2c_20b2Shape_20const____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28__emscripten__internal__getContext_void_20_28__29_28b2FixtureDef__2c_20b2Shape_20const__29__28void_20_28__20const__29_28b2FixtureDef__2c_20b2Shape_20const__29_29_29_28b2FixtureDef__2c_20b2Shape_20const__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Shape__20_28b2Fixture____29_28_29___invoke_b2Fixture_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Shape__20_28b2Fixture____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 562; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Shape__20_28b2Fixture____emscripten__internal__getContext_b2Shape__20_28b2Fixture____29_28_29__28b2Shape__20_28b2Fixture____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2PrismaticJoint____29_28float_29___invoke_b2PrismaticJoint__28char_20const__2c_20void_20_28b2PrismaticJoint____29_28float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 648; + $0 = emscripten__internal__TypeID_b2PrismaticJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2PrismaticJoint____emscripten__internal__getContext_void_20_28b2PrismaticJoint____29_28float_29__28void_20_28b2PrismaticJoint____20const__29_28float_29_29_29_28float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20float_20_28b2RevoluteJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 657; + $0 = emscripten__internal__TypeID_b2RevoluteJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2RevoluteJoint____emscripten__internal__getContext_float_20_28b2RevoluteJoint____29_28_29_20const__28float_20_28b2RevoluteJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2DistanceJoint____29_28_29_20const___invoke_b2DistanceJoint__28char_20const__2c_20float_20_28b2DistanceJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 616; + $0 = emscripten__internal__TypeID_b2DistanceJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2DistanceJoint____emscripten__internal__getContext_float_20_28b2DistanceJoint____29_28_29_20const__28float_20_28b2DistanceJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2PrismaticJoint____29_28_29_20const___invoke_b2PrismaticJoint__28char_20const__2c_20bool_20_28b2PrismaticJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 645; + $0 = emscripten__internal__TypeID_b2PrismaticJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2PrismaticJoint____emscripten__internal__getContext_bool_20_28b2PrismaticJoint____29_28_29_20const__28bool_20_28b2PrismaticJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Shape__Type_20_28b2Fixture____29_28_29_20const___invoke_b2Fixture__28char_20const__2c_20b2Shape__Type_20_28b2Fixture____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 561; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Shape__Type_20_28b2Fixture____emscripten__internal__getContext_b2Shape__Type_20_28b2Fixture____29_28_29_20const__28b2Shape__Type_20_28b2Fixture____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__value_object_b2Rot___20emscripten__value_object_b2Rot___field_b2Rot_2c_20float__28char_20const__2c_20float_20b2Rot____29($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 20 >> 2] = $0; + HEAP32[$3 + 16 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $0 = HEAP32[$3 + 20 >> 2]; + HEAP32[$3 + 8 >> 2] = 432; + HEAP32[$3 + 4 >> 2] = 433; + $1 = emscripten__internal__TypeID_b2Rot_2c_20void___get_28_29(); + $2 = HEAP32[$3 + 16 >> 2]; + $4 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 8 >> 2]; + $5 = char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29(); + $6 = HEAP32[$3 + 8 >> 2]; + $7 = float_20b2Rot_____20emscripten__internal__getContext_float_20b2Rot_____28float_20b2Rot____20const__29($3 + 12 | 0); + $8 = emscripten__internal__TypeID_float_2c_20void___get_28_29(); + HEAP32[$3 + 28 >> 2] = HEAP32[$3 + 4 >> 2]; + _embind_register_value_object_field($1 | 0, $2 | 0, $4 | 0, $5 | 0, $6 | 0, $7 | 0, $8 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$3 + 4 >> 2], float_20b2Rot_____20emscripten__internal__getContext_float_20b2Rot_____28float_20b2Rot____20const__29($3 + 12 | 0) | 0); + __stack_pointer = $3 + 32 | 0; + return $0; +} + +function std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____20std____2____dispatch_copy_or_move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2____move_loop_std____2___ClassicAlgPolicy__2c_20std____2____move_trivial_2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 28 >> 2] = $1; + HEAP32[$4 + 24 >> 2] = $2; + HEAP32[$4 + 20 >> 2] = $3; + HEAP32[$4 + 16 >> 2] = HEAP32[$4 + 28 >> 2]; + HEAP32[$4 + 12 >> 2] = HEAP32[$4 + 24 >> 2]; + HEAP32[$4 + 8 >> 2] = HEAP32[$4 + 20 >> 2]; + std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____20std____2____unwrap_and_dispatch_5babi_v160004_5d_std____2____overload_std____2____move_loop_std____2___ClassicAlgPolicy__2c_20std____2____move_trivial__2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_200__28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($0, HEAP32[$4 + 16 >> 2], HEAP32[$4 + 12 >> 2], HEAP32[$4 + 8 >> 2]); + __stack_pointer = $4 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Body__20_28b2Fixture____29_28_29___invoke_b2Fixture_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Body__20_28b2Fixture____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 568; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Body__20_28b2Fixture____emscripten__internal__getContext_b2Body__20_28b2Fixture____29_28_29__28b2Body__20_28b2Fixture____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2RevoluteJoint____29_28float_29___invoke_b2RevoluteJoint__28char_20const__2c_20void_20_28b2RevoluteJoint____29_28float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 661; + $0 = emscripten__internal__TypeID_b2RevoluteJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2RevoluteJoint____emscripten__internal__getContext_void_20_28b2RevoluteJoint____29_28float_29__28void_20_28b2RevoluteJoint____20const__29_28float_29_29_29_28float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2PrismaticJoint____29_28bool_29___invoke_b2PrismaticJoint__28char_20const__2c_20void_20_28b2PrismaticJoint____29_28bool_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 646; + $0 = emscripten__internal__TypeID_b2PrismaticJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20bool___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20bool___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2PrismaticJoint____emscripten__internal__getContext_void_20_28b2PrismaticJoint____29_28bool_29__28void_20_28b2PrismaticJoint____20const__29_28bool_29_29_29_28bool_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2DistanceJoint____29_28float_29___invoke_b2DistanceJoint__28char_20const__2c_20void_20_28b2DistanceJoint____29_28float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 615; + $0 = emscripten__internal__TypeID_b2DistanceJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2DistanceJoint____emscripten__internal__getContext_void_20_28b2DistanceJoint____29_28float_29__28void_20_28b2DistanceJoint____20const__29_28float_29_29_29_28float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__FunctionInvoker_bool_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29_2c_20bool_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____invoke_28bool_20_28___29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $0 = HEAP32[HEAP32[$4 + 12 >> 2] >> 2]; + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0](emscripten__internal__GenericBindingType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____fromWireType_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29(HEAP32[$4 + 8 >> 2]), emscripten__internal__BindingType_unsigned_20long_2c_20void___fromWireType_28unsigned_20long_29(HEAP32[$4 + 4 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$4 >> 2])) & 1); + __stack_pointer = $4 + 16 | 0; + return $0 & 1; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28float_2c_20bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28float_2c_20bool_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 588; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float_2c_20bool___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float_2c_20bool___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28float_2c_20bool_29__28void_20_28b2Body____20const__29_28float_2c_20bool_29_29_29_28float_2c_20bool_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Fixture__20_28b2Body____29_28_29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Fixture__20_28b2Body____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 597; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Fixture__20_28b2Body____emscripten__internal__getContext_b2Fixture__20_28b2Body____29_28_29__28b2Fixture__20_28b2Body____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2RevoluteJoint____29_28_29_20const___invoke_b2RevoluteJoint__28char_20const__2c_20bool_20_28b2RevoluteJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 658; + $0 = emscripten__internal__TypeID_b2RevoluteJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2RevoluteJoint____emscripten__internal__getContext_bool_20_28b2RevoluteJoint____29_28_29_20const__28bool_20_28b2RevoluteJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2Joint____29_28float_29_20const___invoke_b2Joint__28char_20const__2c_20b2Vec2_20_28b2Joint____29_28float_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 605; + $0 = emscripten__internal__TypeID_b2Joint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20_28b2Joint____emscripten__internal__getContext_b2Vec2_20_28b2Joint____29_28float_29_20const__28b2Vec2_20_28b2Joint____20const__29_28float_29_20const_29_29_28float_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2PolygonShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20void_2c_20b2PolygonShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___invoke_28void_20_28b2PolygonShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2PolygonShape_20const__2c_20b2AABB__2c_20b2Transform__2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + $2 = emscripten__internal__BindingType_b2PolygonShape_20const__2c_20void___fromWireType_28b2PolygonShape_20const__29(HEAP32[$5 + 24 >> 2]); + $0 = HEAP32[$5 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2AABB__2c_20void___fromWireType_28b2AABB__29(HEAP32[$5 + 20 >> 2]), emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$5 + 16 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$5 + 12 >> 2])); + __stack_pointer = $5 + 32 | 0; +} + +function SetLinearFrequencyAndDampingRatio_28b2Joint__2c_20float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAPF32[$3 + 24 >> 2] = $1; + HEAPF32[$3 + 20 >> 2] = $2; + b2LinearStiffness_28float__2c_20float__2c_20float_2c_20float_2c_20b2Body_20const__2c_20b2Body_20const__29($3 + 16 | 0, $3 + 12 | 0, HEAPF32[$3 + 24 >> 2], HEAPF32[$3 + 20 >> 2], b2Joint__GetBodyA_28_29(HEAP32[$3 + 28 >> 2]), b2Joint__GetBodyB_28_29(HEAP32[$3 + 28 >> 2])); + label$1: { + label$2: { + switch (b2Joint__GetType_28_29_20const(HEAP32[$3 + 28 >> 2]) - 3 | 0) { + case 0: + b2DistanceJoint__SetStiffness_28float_29(HEAP32[$3 + 28 >> 2], HEAPF32[$3 + 16 >> 2]); + b2DistanceJoint__SetDamping_28float_29(HEAP32[$3 + 28 >> 2], HEAPF32[$3 + 12 >> 2]); + break label$1; + + case 5: + b2WeldJoint__SetStiffness_28float_29(HEAP32[$3 + 28 >> 2], HEAPF32[$3 + 16 >> 2]); + b2WeldJoint__SetDamping_28float_29(HEAP32[$3 + 28 >> 2], HEAPF32[$3 + 12 >> 2]); + break label$1; + + case 4: + break label$2; + + default: + break label$1; + } + } + b2WheelJoint__SetStiffness_28float_29(HEAP32[$3 + 28 >> 2], HEAPF32[$3 + 16 >> 2]); + b2WheelJoint__SetDamping_28float_29(HEAP32[$3 + 28 >> 2], HEAPF32[$3 + 12 >> 2]); + } + __stack_pointer = $3 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28b2Vec2_20const__29___invoke_b2World__28char_20const__2c_20void_20_28b2World____29_28b2Vec2_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 518; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2Vec2_20const__29__28void_20_28b2World____20const__29_28b2Vec2_20const__29_29_29_28b2Vec2_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29___invoke_b2AABB_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 502; + $0 = emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2AABB__2c_20b2AABB__2c_20b2AABB____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2AABB__2c_20b2AABB__2c_20b2AABB____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28__emscripten__internal__getContext_void_20_28__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29__28void_20_28__20const__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_29_29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function fflush($0) { + var $1 = 0, $2 = 0, $3 = 0; + if (!$0) { + if (HEAP32[7464]) { + $1 = fflush(HEAP32[7464]); + } + if (HEAP32[7502]) { + $1 = fflush(HEAP32[7502]) | $1; + } + $0 = HEAP32[__ofl_lock() >> 2]; + if ($0) { + while (1) { + $2 = 0; + if (HEAP32[$0 + 76 >> 2] >= 0) { + $2 = __lockfile($0); + } + if (HEAP32[$0 + 20 >> 2] != HEAP32[$0 + 28 >> 2]) { + $1 = fflush($0) | $1; + } + if ($2) { + __unlockfile($0); + } + $0 = HEAP32[$0 + 56 >> 2]; + if ($0) { + continue; + } + break; + } + } + __ofl_unlock(); + return $1; + } + if (HEAP32[$0 + 76 >> 2] >= 0) { + $2 = __lockfile($0); + } + label$10: { + label$11: { + label$12: { + if (HEAP32[$0 + 20 >> 2] == HEAP32[$0 + 28 >> 2]) { + break label$12; + } + FUNCTION_TABLE[HEAP32[$0 + 36 >> 2]]($0, 0, 0) | 0; + if (HEAP32[$0 + 20 >> 2]) { + break label$12; + } + $1 = -1; + if ($2) { + break label$11; + } + break label$10; + } + $1 = HEAP32[$0 + 4 >> 2]; + $3 = HEAP32[$0 + 8 >> 2]; + if (($1 | 0) != ($3 | 0)) { + $1 = $1 - $3 | 0; + FUNCTION_TABLE[HEAP32[$0 + 40 >> 2]]($0, $1, $1 >> 31, 1) | 0; + } + $1 = 0; + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + if (!$2) { + break label$10; + } + } + __unlockfile($0); + } + return $1; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20const__20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20b2Vec2_20const__20_28b2Body____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 582; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20const__20_28b2Body____emscripten__internal__getContext_b2Vec2_20const__20_28b2Body____29_28_29_20const__28b2Vec2_20const__20_28b2Body____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2Joint____29_28float_29_20const___invoke_b2Joint__28char_20const__2c_20float_20_28b2Joint____29_28float_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 606; + $0 = emscripten__internal__TypeID_b2Joint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2Joint____emscripten__internal__getContext_float_20_28b2Joint____29_28float_29_20const__28float_20_28b2Joint____20const__29_28float_29_20const_29_29_28float_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2RevoluteJoint____29_28bool_29___invoke_b2RevoluteJoint__28char_20const__2c_20void_20_28b2RevoluteJoint____29_28bool_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 659; + $0 = emscripten__internal__TypeID_b2RevoluteJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20bool___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20bool___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2RevoluteJoint____emscripten__internal__getContext_void_20_28b2RevoluteJoint____29_28bool_29__28void_20_28b2RevoluteJoint____20const__29_28bool_29_29_29_28bool_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2CircleShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20void_2c_20b2CircleShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___invoke_28void_20_28b2CircleShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2CircleShape_20const__2c_20b2AABB__2c_20b2Transform__2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + $2 = emscripten__internal__BindingType_b2CircleShape_20const__2c_20void___fromWireType_28b2CircleShape_20const__29(HEAP32[$5 + 24 >> 2]); + $0 = HEAP32[$5 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2AABB__2c_20void___fromWireType_28b2AABB__29(HEAP32[$5 + 20 >> 2]), emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$5 + 16 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$5 + 12 >> 2])); + __stack_pointer = $5 + 32 | 0; +} + +function b2EdgeShape__ComputeAABB_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[$4 + 76 >> 2] = $0; + HEAP32[$4 + 72 >> 2] = $1; + HEAP32[$4 + 68 >> 2] = $2; + HEAP32[$4 + 64 >> 2] = $3; + $0 = HEAP32[$4 + 76 >> 2]; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 56 | 0, HEAP32[$4 + 68 >> 2], $0 + 12 | 0); + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($4 + 48 | 0, HEAP32[$4 + 68 >> 2], $0 + 20 | 0); + b2Min_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 40 | 0, $4 + 56 | 0, $4 + 48 | 0); + b2Max_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 32 | 0, $4 + 56 | 0, $4 + 48 | 0); + b2Vec2__b2Vec2_28float_2c_20float_29($4 + 24 | 0, HEAPF32[$0 + 8 >> 2], HEAPF32[$0 + 8 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 16 | 0, $4 + 40 | 0, $4 + 24 | 0); + $0 = HEAP32[$4 + 20 >> 2]; + $1 = HEAP32[$4 + 16 >> 2]; + $2 = $1; + $1 = HEAP32[$4 + 72 >> 2]; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($4 + 8 | 0, $4 + 32 | 0, $4 + 24 | 0); + $1 = HEAP32[$4 + 12 >> 2]; + $0 = HEAP32[$4 + 8 >> 2]; + $2 = $0; + $0 = HEAP32[$4 + 72 >> 2]; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + __stack_pointer = $4 + 80 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2PolygonShape____29_28_29_20const___invoke_b2PolygonShape__28char_20const__2c_20bool_20_28b2PolygonShape____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 555; + $0 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2PolygonShape____emscripten__internal__getContext_bool_20_28b2PolygonShape____29_28_29_20const__28bool_20_28b2PolygonShape____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Shape__Type_20_28b2Shape____29_28_29_20const___invoke_b2Shape__28char_20const__2c_20b2Shape__Type_20_28b2Shape____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 520; + $0 = emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Shape__Type_20_28b2Shape____emscripten__internal__getContext_b2Shape__Type_20_28b2Shape____29_28_29_20const__28b2Shape__Type_20_28b2Shape____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2Vec2_20const__29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2Vec2_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 584; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2Vec2_20const__29__28void_20_28b2Body____20const__29_28b2Vec2_20const__29_29_29_28b2Vec2_20const__29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_unsigned_20int_20_28b2Draw____29_28_29_20const___invoke_b2Draw__28char_20const__2c_20unsigned_20int_20_28b2Draw____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 487; + $0 = emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20emscripten__internal__AllowedRawPointer_b2Draw_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20emscripten__internal__AllowedRawPointer_b2Draw_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], unsigned_20int_20_28b2Draw____emscripten__internal__getContext_unsigned_20int_20_28b2Draw____29_28_29_20const__28unsigned_20int_20_28b2Draw____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Body__20_28b2Joint____29_28_29___invoke_b2Joint_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Body__20_28b2Joint____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 603; + $0 = emscripten__internal__TypeID_b2Joint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Joint____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Joint____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Body__20_28b2Joint____emscripten__internal__getContext_b2Body__20_28b2Joint____29_28_29__28b2Body__20_28b2Joint____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2World__20_28b2Body____29_28_29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2World__20_28b2Body____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 598; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Body____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Body____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2World__20_28b2Body____emscripten__internal__getContext_b2World__20_28b2Body____29_28_29__28b2World__20_28b2Body____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodCaller_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const__29($0, $1, $2, $3, $4, $5) { + var $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer + -64 | 0; + __stack_pointer = $6; + HEAP32[$6 + 60 >> 2] = $0; + HEAP32[$6 + 56 >> 2] = $1; + HEAP32[$6 + 52 >> 2] = $2; + HEAP32[$6 + 48 >> 2] = $3; + HEAP32[$6 + 44 >> 2] = $4; + HEAP32[$6 + 40 >> 2] = $5; + wasm2js_i32$0 = $6, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____get_method_caller_28_29(), + HEAP32[wasm2js_i32$0 + 36 >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____WireTypePack_28b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const__29($6, HEAP32[$6 + 52 >> 2], HEAP32[$6 + 48 >> 2], HEAP32[$6 + 44 >> 2], HEAP32[$6 + 40 >> 2]); + _emval_call_void_method(HEAP32[$6 + 36 >> 2], HEAP32[$6 + 60 >> 2], HEAP32[$6 + 56 >> 2], emscripten__internal__WireTypePack_b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____operator_20void_20const__28_29_20const($6) | 0); + __stack_pointer = $6 - -64 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_int_20_28b2PolygonShape____29_28_29_20const___invoke_b2PolygonShape__28char_20const__2c_20int_20_28b2PolygonShape____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 549; + $0 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], int_20_28b2PolygonShape____emscripten__internal__getContext_int_20_28b2PolygonShape____29_28_29_20const__28int_20_28b2PolygonShape____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______construct_at_end_28unsigned_20long_2c_20int_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + std____2__vector_int_2c_20std____2__allocator_int_____ConstructTransaction___ConstructTransaction_5babi_v160004_5d_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_29($3 + 8 | 0, $0, HEAP32[$3 + 24 >> 2]); + HEAP32[$3 + 4 >> 2] = HEAP32[$3 + 16 >> 2]; + HEAP32[$3 >> 2] = HEAP32[$3 + 12 >> 2]; + while (1) { + if (HEAP32[$3 >> 2] != HEAP32[$3 + 4 >> 2]) { + void_20std____2__allocator_traits_std____2__allocator_int____construct_5babi_v160004_5d_int_2c_20int_20const__2c_20void__28std____2__allocator_int___2c_20int__2c_20int_20const__29(std____2__vector_int_2c_20std____2__allocator_int______alloc_5babi_v160004_5d_28_29($0), int__20std____2____to_address_5babi_v160004_5d_int__28int__29(HEAP32[$3 >> 2]), HEAP32[$3 + 20 >> 2]); + $1 = HEAP32[$3 >> 2] + 4 | 0; + HEAP32[$3 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $1; + continue; + } + break; + } + std____2__vector_int_2c_20std____2__allocator_int_____ConstructTransaction____ConstructTransaction_5babi_v160004_5d_28_29($3 + 8 | 0); + __stack_pointer = $3 + 32 | 0; +} + +function b2FrictionJoint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 128 | 0; + __stack_pointer = $1; + HEAP32[$1 + 124 >> 2] = $0; + $0 = HEAP32[$1 + 124 >> 2]; + HEAP32[$1 + 120 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 116 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(13538, 0); + HEAP32[$1 + 80 >> 2] = HEAP32[$1 + 120 >> 2]; + b2Dump_28char_20const__2c_20____29(13849, $1 + 80 | 0); + HEAP32[$1 + 64 >> 2] = HEAP32[$1 + 116 >> 2]; + b2Dump_28char_20const__2c_20____29(13823, $1 - -64 | 0); + HEAP32[$1 + 48 >> 2] = HEAP8[$0 + 61 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14859, $1 + 48 | 0); + $2 = HEAPF32[$0 + 68 >> 2]; + HEAPF64[$1 + 40 >> 3] = HEAPF32[$0 + 72 >> 2]; + HEAPF64[$1 + 32 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14265, $1 + 32 | 0); + $2 = HEAPF32[$0 + 76 >> 2]; + HEAPF64[$1 + 24 >> 3] = HEAPF32[$0 + 80 >> 2]; + HEAPF64[$1 + 16 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14158, $1 + 16 | 0); + HEAPF64[$1 >> 3] = HEAPF32[$0 + 96 >> 2]; + b2Dump_28char_20const__2c_20____29(13223, $1); + HEAPF64[$1 + 96 >> 3] = HEAPF32[$0 + 100 >> 2]; + b2Dump_28char_20const__2c_20____29(13044, $1 + 96 | 0); + HEAP32[$1 + 112 >> 2] = HEAP32[$0 + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(14538, $1 + 112 | 0); + __stack_pointer = $1 + 128 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Draw____29_28unsigned_20int_29___invoke_b2Draw__28char_20const__2c_20void_20_28b2Draw____29_28unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 486; + $0 = emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28unsigned_20int_29__28void_20_28b2Draw____20const__29_28unsigned_20int_29_29_29_28unsigned_20int_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20float_20_28b2WheelJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 690; + $0 = emscripten__internal__TypeID_b2WheelJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2WheelJoint____emscripten__internal__getContext_float_20_28b2WheelJoint____29_28_29_20const__28float_20_28b2WheelJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2MouseJoint____29_28_29_20const___invoke_b2MouseJoint__28char_20const__2c_20float_20_28b2MouseJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 636; + $0 = emscripten__internal__TypeID_b2MouseJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2MouseJoint____emscripten__internal__getContext_float_20_28b2MouseJoint____29_28_29_20const__28float_20_28b2MouseJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2MotorJoint____29_28_29_20const___invoke_b2MotorJoint__28char_20const__2c_20float_20_28b2MotorJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 626; + $0 = emscripten__internal__TypeID_b2MotorJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2MotorJoint____emscripten__internal__getContext_float_20_28b2MotorJoint____29_28_29_20const__28float_20_28b2MotorJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2EdgeShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20void_2c_20b2EdgeShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___invoke_28void_20_28b2EdgeShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2EdgeShape_20const__2c_20b2AABB__2c_20b2Transform__2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + $2 = emscripten__internal__BindingType_b2EdgeShape_20const__2c_20void___fromWireType_28b2EdgeShape_20const__29(HEAP32[$5 + 24 >> 2]); + $0 = HEAP32[$5 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2AABB__2c_20void___fromWireType_28b2AABB__29(HEAP32[$5 + 20 >> 2]), emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$5 + 16 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$5 + 12 >> 2])); + __stack_pointer = $5 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2Body__2c_20b2MassData_20const__29___invoke_b2Body_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2Body__2c_20b2MassData_20const__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 590; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Body__2c_20b2MassData_20const____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Body__2c_20b2MassData_20const____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28__emscripten__internal__getContext_void_20_28__29_28b2Body__2c_20b2MassData_20const__29__28void_20_28__20const__29_28b2Body__2c_20b2MassData_20const__29_29_29_28b2Body__2c_20b2MassData_20const__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2JointType_20_28b2Joint____29_28_29_20const___invoke_b2Joint__28char_20const__2c_20b2JointType_20_28b2Joint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 602; + $0 = emscripten__internal__TypeID_b2Joint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2JointType_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2JointType_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2JointType_20_28b2Joint____emscripten__internal__getContext_b2JointType_20_28b2Joint____29_28_29_20const__28b2JointType_20_28b2Joint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2WheelJoint____29_28float_29___invoke_b2WheelJoint__28char_20const__2c_20void_20_28b2WheelJoint____29_28float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 693; + $0 = emscripten__internal__TypeID_b2WheelJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2WheelJoint____emscripten__internal__getContext_void_20_28b2WheelJoint____29_28float_29__28void_20_28b2WheelJoint____20const__29_28float_29_29_29_28float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2MouseJoint____29_28float_29___invoke_b2MouseJoint__28char_20const__2c_20void_20_28b2MouseJoint____29_28float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 635; + $0 = emscripten__internal__TypeID_b2MouseJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2MouseJoint____emscripten__internal__getContext_void_20_28b2MouseJoint____29_28float_29__28void_20_28b2MouseJoint____20const__29_28float_29_29_29_28float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2MotorJoint____29_28float_29___invoke_b2MotorJoint__28char_20const__2c_20void_20_28b2MotorJoint____29_28float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 625; + $0 = emscripten__internal__TypeID_b2MotorJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2MotorJoint____emscripten__internal__getContext_void_20_28b2MotorJoint____29_28float_29__28void_20_28b2MotorJoint____20const__29_28float_29_29_29_28float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_int_20_28b2CircleShape____29_28_29_20const___invoke_b2CircleShape__28char_20const__2c_20int_20_28b2CircleShape____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 532; + $0 = emscripten__internal__TypeID_b2CircleShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], int_20_28b2CircleShape____emscripten__internal__getContext_int_20_28b2CircleShape____29_28_29_20const__28int_20_28b2CircleShape____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2World__b2World_28b2Vec2_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + $2 = HEAP32[$3 + 12 >> 2]; + b2BlockAllocator__b2BlockAllocator_28_29($2); + b2StackAllocator__b2StackAllocator_28_29($2 + 68 | 0); + b2ContactManager__b2ContactManager_28_29($2 + 102868 | 0); + b2Vec2__b2Vec2_28_29($2 + 102964 | 0); + HEAP32[$2 + 102976 >> 2] = 0; + HEAP32[$2 + 102980 >> 2] = 0; + HEAP32[$2 + 102948 >> 2] = 0; + HEAP32[$2 + 102952 >> 2] = 0; + HEAP32[$2 + 102956 >> 2] = 0; + HEAP32[$2 + 102960 >> 2] = 0; + HEAP8[$2 + 102991 | 0] = 1; + HEAP8[$2 + 102992 | 0] = 1; + HEAP8[$2 + 102993 | 0] = 0; + HEAP8[$2 + 102994 | 0] = 1; + HEAP8[$2 + 102972 | 0] = 1; + $1 = HEAP32[$3 + 8 >> 2]; + $0 = HEAP32[$1 >> 2]; + $4 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = $2 + 102964 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $4; + HEAP8[$2 + 102988 | 0] = 0; + HEAP8[$2 + 102989 | 0] = 0; + HEAP8[$2 + 102990 | 0] = 1; + HEAPF32[$2 + 102984 >> 2] = 0; + HEAP32[$2 + 102944 >> 2] = $2; + $0 = $2 + 102996 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + __stack_pointer = $3 + 16 | 0; + return $2; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2WeldJoint____29_28_29_20const___invoke_b2WeldJoint__28char_20const__2c_20float_20_28b2WeldJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 681; + $0 = emscripten__internal__TypeID_b2WeldJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2WeldJoint____emscripten__internal__getContext_float_20_28b2WeldJoint____29_28_29_20const__28float_20_28b2WeldJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2RopeJoint____29_28_29_20const___invoke_b2RopeJoint__28char_20const__2c_20float_20_28b2RopeJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 673; + $0 = emscripten__internal__TypeID_b2RopeJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2RopeJoint____emscripten__internal__getContext_float_20_28b2RopeJoint____29_28_29_20const__28float_20_28b2RopeJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2WheelJoint____29_28_29_20const___invoke_b2WheelJoint__28char_20const__2c_20bool_20_28b2WheelJoint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 691; + $0 = emscripten__internal__TypeID_b2WheelJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2WheelJoint____emscripten__internal__getContext_bool_20_28b2WheelJoint____29_28_29_20const__28bool_20_28b2WheelJoint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28_29___invoke_b2World_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28b2World____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 508; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28_29__28void_20_28b2World____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2PolygonShape__TestPoint_28b2Transform_20const__2c_20b2Vec2_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 40 >> 2] = $0; + HEAP32[$3 + 36 >> 2] = $1; + HEAP32[$3 + 32 >> 2] = $2; + $0 = HEAP32[$3 + 40 >> 2]; + $1 = HEAP32[$3 + 36 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 16 | 0, HEAP32[$3 + 32 >> 2], HEAP32[$3 + 36 >> 2]); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 24 | 0, $1 + 8 | 0, $3 + 16 | 0); + HEAP32[$3 + 12 >> 2] = 0; + label$1: { + while (1) { + if (HEAP32[$3 + 12 >> 2] < HEAP32[$0 + 148 >> 2]) { + $1 = HEAP32[$3 + 12 >> 2] << 3; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3, $3 + 24 | 0, ($0 + 20 | 0) + (HEAP32[$3 + 12 >> 2] << 3) | 0); + wasm2js_i32$0 = $3, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + ($0 + 84 | 0) | 0, $3), + HEAPF32[wasm2js_i32$0 + 8 >> 2] = wasm2js_f32$0; + if (HEAPF32[$3 + 8 >> 2] > Math_fround(0)) { + HEAP8[$3 + 47 | 0] = 0; + break label$1; + } else { + HEAP32[$3 + 12 >> 2] = HEAP32[$3 + 12 >> 2] + 1; + continue; + } + } + break; + } + HEAP8[$3 + 47 | 0] = 1; + } + __stack_pointer = $3 + 48 | 0; + return HEAP8[$3 + 47 | 0] & 1; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2WheelJoint____29_28bool_29___invoke_b2WheelJoint__28char_20const__2c_20void_20_28b2WheelJoint____29_28bool_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 692; + $0 = emscripten__internal__TypeID_b2WheelJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20bool___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20bool___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2WheelJoint____emscripten__internal__getContext_void_20_28b2WheelJoint____29_28bool_29__28void_20_28b2WheelJoint____20const__29_28bool_29_29_29_28bool_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2WeldJoint____29_28float_29___invoke_b2WeldJoint__28char_20const__2c_20void_20_28b2WeldJoint____29_28float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 682; + $0 = emscripten__internal__TypeID_b2WeldJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2WeldJoint____emscripten__internal__getContext_void_20_28b2WeldJoint____29_28float_29__28void_20_28b2WeldJoint____20const__29_28float_29_29_29_28float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2RopeJoint____29_28float_29___invoke_b2RopeJoint__28char_20const__2c_20void_20_28b2RopeJoint____29_28float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 672; + $0 = emscripten__internal__TypeID_b2RopeJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2RopeJoint____emscripten__internal__getContext_void_20_28b2RopeJoint____29_28float_29__28void_20_28b2RopeJoint____20const__29_28float_29_29_29_28float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2____tree_node_base_void____20std____2____tree_next_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + label$1: { + if (HEAP32[HEAP32[$1 + 8 >> 2] + 4 >> 2]) { + wasm2js_i32$0 = $1, wasm2js_i32$1 = std____2____tree_node_base_void____20std____2____tree_min_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[HEAP32[$1 + 8 >> 2] + 4 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + break label$1; + } + while (1) { + if ((bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$1 + 8 >> 2]) ^ -1) & 1) { + wasm2js_i32$0 = $1, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + continue; + } + break; + } + wasm2js_i32$0 = $1, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + } + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function void_20emscripten__internal__RegisterClassMethod_b2BodyType_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20b2BodyType_20_28b2Body____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 594; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2BodyType_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2BodyType_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2BodyType_20_28b2Body____emscripten__internal__getContext_b2BodyType_20_28b2Body____29_28_29_20const__28b2BodyType_20_28b2Body____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____20std____2____move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 28 >> 2] = $1; + HEAP32[$4 + 24 >> 2] = $2; + HEAP32[$4 + 20 >> 2] = $3; + HEAP32[$4 + 16 >> 2] = HEAP32[$4 + 28 >> 2]; + HEAP32[$4 + 12 >> 2] = HEAP32[$4 + 24 >> 2]; + HEAP32[$4 + 8 >> 2] = HEAP32[$4 + 20 >> 2]; + std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____20std____2____dispatch_copy_or_move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2____move_loop_std____2___ClassicAlgPolicy__2c_20std____2____move_trivial_2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($0, HEAP32[$4 + 16 >> 2], HEAP32[$4 + 12 >> 2], HEAP32[$4 + 8 >> 2]); + __stack_pointer = $4 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Shape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20void_2c_20b2Shape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___invoke_28void_20_28b2Shape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2Shape_20const__2c_20b2AABB__2c_20b2Transform__2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + $2 = emscripten__internal__BindingType_b2Shape_20const__2c_20void___fromWireType_28b2Shape_20const__29(HEAP32[$5 + 24 >> 2]); + $0 = HEAP32[$5 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2AABB__2c_20void___fromWireType_28b2AABB__29(HEAP32[$5 + 20 >> 2]), emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$5 + 16 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$5 + 12 >> 2])); + __stack_pointer = $5 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_int_20_28b2EdgeShape____29_28_29_20const___invoke_b2EdgeShape__28char_20const__2c_20int_20_28b2EdgeShape____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 540; + $0 = emscripten__internal__TypeID_b2EdgeShape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], int_20_28b2EdgeShape____emscripten__internal__getContext_int_20_28b2EdgeShape____29_28_29_20const__28int_20_28b2EdgeShape____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28b2BodyType_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28b2BodyType_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 593; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2BodyType___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2BodyType___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2BodyType_29__28void_20_28b2Body____20const__29_28b2BodyType_29_29_29_28b2BodyType_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2Fixture____29_28_29_20const___invoke_b2Fixture__28char_20const__2c_20float_20_28b2Fixture____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 573; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2Fixture____emscripten__internal__getContext_float_20_28b2Fixture____29_28_29_20const__28float_20_28b2Fixture____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodCaller_bool_2c_20unsigned_20int____call_28emscripten___EM_VAL__2c_20char_20const__2c_20unsigned_20int__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 44 >> 2] = $0; + HEAP32[$3 + 40 >> 2] = $1; + HEAP32[$3 + 36 >> 2] = $2; + wasm2js_i32$0 = $3, wasm2js_i32$1 = emscripten__internal__Signature_bool_2c_20unsigned_20int____get_method_caller_28_29(), + HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_unsigned_20int____WireTypePack_28unsigned_20int__29($3 + 24 | 0, HEAP32[$3 + 36 >> 2]); + wasm2js_i32$0 = $3, wasm2js_f64$0 = +_emval_call_method(HEAP32[$3 + 32 >> 2], HEAP32[$3 + 44 >> 2], HEAP32[$3 + 40 >> 2], $3 + 20 | 0, emscripten__internal__WireTypePack_unsigned_20int____operator_20void_20const__28_29_20const($3 + 24 | 0) | 0), + HEAPF64[wasm2js_i32$0 + 8 >> 3] = wasm2js_f64$0; + emscripten__internal__DestructorsRunner__DestructorsRunner_28emscripten__internal___EM_DESTRUCTORS__29($3 + 4 | 0, HEAP32[$3 + 20 >> 2]); + $0 = bool_20emscripten__internal__fromGenericWireType_bool__28double_29(HEAPF64[$3 + 8 >> 3]); + emscripten__internal__DestructorsRunner___DestructorsRunner_28_29($3 + 4 | 0); + __stack_pointer = $3 + 48 | 0; + return $0 & 1; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2PrismaticJoint____29_28_29___invoke_b2PrismaticJoint__28char_20const__2c_20void_20_28b2PrismaticJoint____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 650; + $0 = emscripten__internal__TypeID_b2PrismaticJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2PrismaticJoint____emscripten__internal__getContext_void_20_28b2PrismaticJoint____29_28_29__28void_20_28b2PrismaticJoint____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28float_29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 572; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28float_29__28void_20_28b2Fixture____20const__29_28float_29_29_29_28float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2Fixture__CreateProxies_28b2BroadPhase__2c_20b2Transform_20const__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + if (HEAP32[$0 + 28 >> 2]) { + __assert_fail(12304, 5695, 128, 3522); + wasm2js_trap(); + } + $1 = HEAP32[$0 + 12 >> 2]; + wasm2js_i32$0 = $0, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 12 >> 2]]($1) | 0, + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + HEAP32[$3 + 16 >> 2] = 0; + while (1) { + if (HEAP32[$3 + 16 >> 2] < HEAP32[$0 + 28 >> 2]) { + HEAP32[$3 + 12 >> 2] = HEAP32[$0 + 24 >> 2] + Math_imul(HEAP32[$3 + 16 >> 2], 28); + $1 = HEAP32[$0 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 24 >> 2]]($1, HEAP32[$3 + 12 >> 2], HEAP32[$3 + 20 >> 2], HEAP32[$3 + 16 >> 2]); + $1 = b2BroadPhase__CreateProxy_28b2AABB_20const__2c_20void__29(HEAP32[$3 + 24 >> 2], HEAP32[$3 + 12 >> 2], HEAP32[$3 + 12 >> 2]); + HEAP32[HEAP32[$3 + 12 >> 2] + 24 >> 2] = $1; + HEAP32[HEAP32[$3 + 12 >> 2] + 16 >> 2] = $0; + HEAP32[HEAP32[$3 + 12 >> 2] + 20 >> 2] = HEAP32[$3 + 16 >> 2]; + HEAP32[$3 + 16 >> 2] = HEAP32[$3 + 16 >> 2] + 1; + continue; + } + break; + } + __stack_pointer = $3 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Fixture____29_28_29_20const___invoke_b2Fixture__28char_20const__2c_20bool_20_28b2Fixture____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 564; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2Fixture____emscripten__internal__getContext_bool_20_28b2Fixture____29_28_29_20const__28bool_20_28b2Fixture____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2RevoluteJoint____29_28_29___invoke_b2RevoluteJoint__28char_20const__2c_20void_20_28b2RevoluteJoint____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 663; + $0 = emscripten__internal__TypeID_b2RevoluteJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2RevoluteJoint____emscripten__internal__getContext_void_20_28b2RevoluteJoint____29_28_29__28void_20_28b2RevoluteJoint____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2DistanceJoint____29_28_29___invoke_b2DistanceJoint__28char_20const__2c_20void_20_28b2DistanceJoint____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 617; + $0 = emscripten__internal__TypeID_b2DistanceJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2DistanceJoint____emscripten__internal__getContext_void_20_28b2DistanceJoint____29_28_29__28void_20_28b2DistanceJoint____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_2c_20void_2c_20b2Draw__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____invoke_28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_2c_20b2Draw__2c_20b2Vec2__2c_20b2Vec2__2c_20b2Color__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + $2 = emscripten__internal__BindingType_b2Draw__2c_20void___fromWireType_28b2Draw__29(HEAP32[$5 + 24 >> 2]); + $0 = HEAP32[$5 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$5 + 20 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$5 + 16 >> 2]), emscripten__internal__GenericBindingType_b2Color___fromWireType_28b2Color__29(HEAP32[$5 + 12 >> 2])); + __stack_pointer = $5 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28_29_20const_2c_20unsigned_20long_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const____invoke_28unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28_29_20const_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20void___fromWireType_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = FUNCTION_TABLE[$0 | 0]($1) | 0, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_unsigned_20long_2c_20void___toWireType_28unsigned_20long_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2World____29_28_29_20const___invoke_b2World__28char_20const__2c_20b2Vec2_20_28b2World____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 519; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2World_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2World_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20_28b2World____emscripten__internal__getContext_b2Vec2_20_28b2World____29_28_29_20const__28b2Vec2_20_28b2World____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28bool_29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28bool_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 563; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20bool___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20bool___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28bool_29__28void_20_28b2Fixture____20const__29_28bool_29_29_29_28bool_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2____tree_end_node_std____2____tree_node_base_void______20std____2____tree_next_iter_5babi_v160004_5d_std____2____tree_end_node_std____2____tree_node_base_void______2c_20std____2____tree_node_base_void_____28std____2____tree_node_base_void____29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + label$1: { + if (HEAP32[HEAP32[$1 + 8 >> 2] + 4 >> 2]) { + wasm2js_i32$0 = $1, wasm2js_i32$1 = std____2____tree_node_base_void____20std____2____tree_min_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[HEAP32[$1 + 8 >> 2] + 4 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + break label$1; + } + while (1) { + if ((bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$1 + 8 >> 2]) ^ -1) & 1) { + wasm2js_i32$0 = $1, wasm2js_i32$1 = std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + continue; + } + break; + } + HEAP32[$1 + 12 >> 2] = HEAP32[HEAP32[$1 + 8 >> 2] + 8 >> 2]; + } + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function __lshrti3($0, $1, $2, $3, $4, $5) { + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; + label$1: { + if ($5 & 64) { + $7 = $4; + $8 = $3; + $9 = $5 + -64 | 0; + $6 = $9 & 31; + if (($9 & 63) >>> 0 >= 32) { + $1 = $7 >>> $6 | 0; + } else { + $10 = $7 >>> $6 | 0; + $1 = ((1 << $6) - 1 & $7) << 32 - $6 | $8 >>> $6; + } + $2 = $10; + $3 = 0; + $4 = 0; + break label$1; + } + if (!$5) { + break label$1; + } + $10 = $4; + $7 = $3; + $9 = 64 - $5 | 0; + $6 = $9 & 31; + if (($9 & 63) >>> 0 >= 32) { + $8 = $7 << $6; + $11 = 0; + } else { + $8 = (1 << $6) - 1 & $7 >>> 32 - $6 | $10 << $6; + $11 = $7 << $6; + } + $12 = $8; + $8 = $2; + $10 = $1; + $7 = 0; + $9 = $5; + $6 = $9 & 31; + if (($9 & 63) >>> 0 >= 32) { + $9 = $8 >>> $6 | 0; + } else { + $7 = $8 >>> $6 | 0; + $9 = ((1 << $6) - 1 & $8) << 32 - $6 | $10 >>> $6; + } + $10 = $7; + $8 = $11; + $1 = $8 | $9; + $7 = $12; + $10 = $7 | $10; + $2 = $10; + $10 = $4; + $7 = $3; + $8 = 0; + $9 = $5; + $6 = $9 & 31; + if (($9 & 63) >>> 0 >= 32) { + $3 = $10 >>> $6 | 0; + } else { + $8 = $10 >>> $6 | 0; + $3 = ((1 << $6) - 1 & $10) << 32 - $6 | $7 >>> $6; + } + $4 = $8; + } + $7 = $0; + HEAP32[$7 >> 2] = $1; + $8 = $2; + HEAP32[$7 + 4 >> 2] = $8; + HEAP32[$7 + 8 >> 2] = $3; + $8 = $4; + HEAP32[$7 + 12 >> 2] = $8; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Shape_20const__20_28__29_28b2FixtureDef__29___invoke_b2FixtureDef_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Shape_20const__20_28__29_28b2FixtureDef__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 560; + $0 = emscripten__internal__TypeID_b2FixtureDef_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape_20const__2c_20b2FixtureDef____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape_20const__2c_20b2FixtureDef____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Shape_20const__20_28__emscripten__internal__getContext_b2Shape_20const__20_28__29_28b2FixtureDef__29__28b2Shape_20const__20_28__20const__29_28b2FixtureDef__29_29_29_28b2FixtureDef__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28int_29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28int_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 575; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20int___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20int___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28int_29__28void_20_28b2Fixture____20const__29_28int_29_29_29_28int_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2JointDef__2c_20b2Body__29___invoke_b2JointDef_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2JointDef__2c_20b2Body__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 600; + $0 = emscripten__internal__TypeID_b2JointDef_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2JointDef__2c_20b2Body____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2JointDef__2c_20b2Body____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28__emscripten__internal__getContext_void_20_28__29_28b2JointDef__2c_20b2Body__29__28void_20_28__20const__29_28b2JointDef__2c_20b2Body__29_29_29_28b2JointDef__2c_20b2Body__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Vec2_20_28b2AABB____29_28_29_20const___invoke_b2AABB__28char_20const__2c_20b2Vec2_20_28b2AABB____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 499; + $0 = emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Vec2_20_28b2AABB____emscripten__internal__getContext_b2Vec2_20_28b2AABB____29_28_29_20const__28b2Vec2_20_28b2AABB____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2StackAllocator__Allocate_28int_29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAP32[$0 + 102796 >> 2] >= 32) { + __assert_fail(3536, 5418, 42, 8952); + wasm2js_trap(); + } + HEAP32[$2 + 4 >> 2] = ($0 + 102412 | 0) + Math_imul(HEAP32[$0 + 102796 >> 2], 12); + HEAP32[HEAP32[$2 + 4 >> 2] + 4 >> 2] = HEAP32[$2 + 8 >> 2]; + label$2: { + if ((HEAP32[$0 + 102400 >> 2] + HEAP32[$2 + 8 >> 2] | 0) > 102400) { + $1 = b2Alloc_28int_29(HEAP32[$2 + 8 >> 2]); + HEAP32[HEAP32[$2 + 4 >> 2] >> 2] = $1; + HEAP8[HEAP32[$2 + 4 >> 2] + 8 | 0] = 1; + break label$2; + } + HEAP32[HEAP32[$2 + 4 >> 2] >> 2] = HEAP32[$0 + 102400 >> 2] + $0; + HEAP8[HEAP32[$2 + 4 >> 2] + 8 | 0] = 0; + HEAP32[$0 + 102400 >> 2] = HEAP32[$2 + 8 >> 2] + HEAP32[$0 + 102400 >> 2]; + } + HEAP32[$0 + 102404 >> 2] = HEAP32[$2 + 8 >> 2] + HEAP32[$0 + 102404 >> 2]; + wasm2js_i32$0 = $0, wasm2js_i32$1 = int_20b2Max_int__28int_2c_20int_29(HEAP32[$0 + 102408 >> 2], HEAP32[$0 + 102404 >> 2]), + HEAP32[wasm2js_i32$0 + 102408 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 102796 >> 2] = HEAP32[$0 + 102796 >> 2] + 1; + __stack_pointer = $2 + 16 | 0; + return HEAP32[HEAP32[$2 + 4 >> 2] >> 2]; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2AABB____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const_2c_20bool_2c_20b2AABB_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const____invoke_28bool_20_28b2AABB____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const_2c_20b2AABB_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2AABB_20const__2c_20void___fromWireType_28b2AABB_20const__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2RayCastOutput__2c_20void___fromWireType_28b2RayCastOutput__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__GenericBindingType_b2RayCastInput___fromWireType_28b2RayCastInput__29(HEAP32[$4 >> 2])) & 1); + __stack_pointer = $4 + 16 | 0; + return $0 & 1; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20float_20_28b2Body____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 583; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2Body____emscripten__internal__getContext_float_20_28b2Body____29_28_29_20const__28float_20_28b2Body____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28b2AABB____29_28_29_20const___invoke_b2AABB__28char_20const__2c_20float_20_28b2AABB____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 500; + $0 = emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28b2AABB____emscripten__internal__getContext_float_20_28b2AABB____29_28_29_20const__28float_20_28b2AABB____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2World____29_28_29_20const___invoke_b2World__28char_20const__2c_20bool_20_28b2World____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 517; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2World_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2World_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2World____emscripten__internal__getContext_bool_20_28b2World____29_28_29_20const__28bool_20_28b2World____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Joint____29_28_29_20const___invoke_b2Joint__28char_20const__2c_20bool_20_28b2Joint____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 607; + $0 = emscripten__internal__TypeID_b2Joint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2Joint____emscripten__internal__getContext_bool_20_28b2Joint____29_28_29_20const__28bool_20_28b2Joint____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2PolygonShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20bool_2c_20b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____invoke_28bool_20_28b2PolygonShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20b2PolygonShape_20const__2c_20b2Transform__2c_20b2Vec2__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2PolygonShape_20const__2c_20void___fromWireType_28b2PolygonShape_20const__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$4 >> 2])) & 1); + __stack_pointer = $4 + 16 | 0; + return $0 & 1; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______construct_at_end_28unsigned_20long_2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2______ConstructTransaction___ConstructTransaction_5babi_v160004_5d_28b2Vec2___2c_20unsigned_20long_29($3 + 8 | 0, $0 + 8 | 0, HEAP32[$3 + 24 >> 2]); + while (1) { + if (HEAP32[$3 + 8 >> 2] != HEAP32[$3 + 12 >> 2]) { + void_20std____2__allocator_traits_std____2__allocator_b2Vec2____construct_5babi_v160004_5d_b2Vec2_2c_20b2Vec2_20const__2c_20void__28std____2__allocator_b2Vec2___2c_20b2Vec2__2c_20b2Vec2_20const__29(std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______alloc_5babi_v160004_5d_28_29($0), b2Vec2__20std____2____to_address_5babi_v160004_5d_b2Vec2__28b2Vec2__29(HEAP32[$3 + 8 >> 2]), HEAP32[$3 + 20 >> 2]); + HEAP32[$3 + 8 >> 2] = HEAP32[$3 + 8 >> 2] + 8; + continue; + } + break; + } + std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2______ConstructTransaction____ConstructTransaction_5babi_v160004_5d_28_29($3 + 8 | 0); + __stack_pointer = $3 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29_2c_20void_2c_20b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Color_20const____invoke_28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29_2c_20b2Draw__2c_20b2Vec2__2c_20float_2c_20b2Color__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAPF32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + $2 = emscripten__internal__BindingType_b2Draw__2c_20void___fromWireType_28b2Draw__29(HEAP32[$5 + 24 >> 2]); + $0 = HEAP32[$5 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$5 + 20 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$5 + 16 >> 2]), emscripten__internal__GenericBindingType_b2Color___fromWireType_28b2Color__29(HEAP32[$5 + 12 >> 2])); + __stack_pointer = $5 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28bool_29___invoke_b2World__28char_20const__2c_20void_20_28b2World____29_28bool_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 516; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20bool___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20bool___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28bool_29__28void_20_28b2World____20const__29_28bool_29_29_29_28bool_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28float_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 585; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28float_29__28void_20_28b2Body____20const__29_28float_29_29_29_28float_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29_2c_20void_2c_20b2Draw__2c_20unsigned_20int_2c_20int_2c_20b2Color_20const____invoke_28void_20_28b2Draw____20const__29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29_2c_20b2Draw__2c_20unsigned_20int_2c_20int_2c_20b2Color__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + $2 = emscripten__internal__BindingType_b2Draw__2c_20void___fromWireType_28b2Draw__29(HEAP32[$5 + 24 >> 2]); + $0 = HEAP32[$5 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$5 + 20 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$5 + 16 >> 2]), emscripten__internal__GenericBindingType_b2Color___fromWireType_28b2Color__29(HEAP32[$5 + 12 >> 2])); + __stack_pointer = $5 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_int_20_28b2Shape____29_28_29_20const___invoke_b2Shape__28char_20const__2c_20int_20_28b2Shape____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 521; + $0 = emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], int_20_28b2Shape____emscripten__internal__getContext_int_20_28b2Shape____29_28_29_20const__28int_20_28b2Shape____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2CircleShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20bool_2c_20b2CircleShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____invoke_28bool_20_28b2CircleShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20b2CircleShape_20const__2c_20b2Transform__2c_20b2Vec2__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2CircleShape_20const__2c_20void___fromWireType_28b2CircleShape_20const__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$4 >> 2])) & 1); + __stack_pointer = $4 + 16 | 0; + return $0 & 1; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2Body____29_28_29_20const___invoke_b2Body__28char_20const__2c_20bool_20_28b2Body____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 596; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2Body____emscripten__internal__getContext_bool_20_28b2Body____29_28_29_20const__28bool_20_28b2Body____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_bool_20_28b2AABB____29_28_29_20const___invoke_b2AABB__28char_20const__2c_20bool_20_28b2AABB____29_28_29_20const_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 498; + $0 = emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], bool_20_28b2AABB____emscripten__internal__getContext_bool_20_28b2AABB____29_28_29_20const__28bool_20_28b2AABB____20const__29_28_29_20const_29_29_28_29_20const($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2WheelJoint____29_28_29___invoke_b2WheelJoint__28char_20const__2c_20void_20_28b2WheelJoint____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 695; + $0 = emscripten__internal__TypeID_b2WheelJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2WheelJoint____emscripten__internal__getContext_void_20_28b2WheelJoint____29_28_29__28void_20_28b2WheelJoint____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2MouseJoint____29_28_29___invoke_b2MouseJoint__28char_20const__2c_20void_20_28b2MouseJoint____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 637; + $0 = emscripten__internal__TypeID_b2MouseJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2MouseJoint____emscripten__internal__getContext_void_20_28b2MouseJoint____29_28_29__28void_20_28b2MouseJoint____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2MotorJoint____29_28_29___invoke_b2MotorJoint__28char_20const__2c_20void_20_28b2MotorJoint____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 627; + $0 = emscripten__internal__TypeID_b2MotorJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2MotorJoint____emscripten__internal__getContext_void_20_28b2MotorJoint____29_28_29__28void_20_28b2MotorJoint____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__FunctionInvoker_emscripten__val_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29_2c_20emscripten__val_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long___invoke_28emscripten__val_20_28___29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[HEAP32[$3 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0]($3, emscripten__internal__GenericBindingType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____fromWireType_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29(HEAP32[$3 + 8 >> 2]), emscripten__internal__BindingType_unsigned_20long_2c_20void___fromWireType_28unsigned_20long_29(HEAP32[$3 + 4 >> 2])); + $0 = emscripten__internal__BindingType_emscripten__val_2c_20void___toWireType_28emscripten__val_20const__29($3); + emscripten__val___val_28_29($3); + __stack_pointer = $3 + 16 | 0; + return $0 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28bool_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28bool_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 595; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20bool___getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20bool___getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28bool_29__28void_20_28b2Body____20const__29_28bool_29_29_29_28bool_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______unique_ptr_5babi_v160004_5d_true_2c_20void__28std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____dependent_type_std____2____unique_ptr_deleter_sfinae_std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______2c_20true_____good_rval_ref_type_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_________compressed_pair_5babi_v160004_5d_std____2____tree_node_b2Fixture__2c_20void_____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______28std____2____tree_node_b2Fixture__2c_20void_____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______29($0, $3 + 8 | 0, HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; + return $0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______tree_28std____2__less_b2Fixture___20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + std____2____compressed_pair_std____2____tree_end_node_std____2____tree_node_base_void_____2c_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void________compressed_pair_5babi_v160004_5d_true_2c_20void__28_29($0 + 4 | 0); + HEAP32[$2 + 4 >> 2] = 0; + std____2____compressed_pair_unsigned_20long_2c_20std____2__less_b2Fixture_______compressed_pair_5babi_v160004_5d_int_2c_20std____2__less_b2Fixture___20const___28int___2c_20std____2__less_b2Fixture___20const__29($0 + 8 | 0, $2 + 4 | 0, HEAP32[$2 + 8 >> 2]); + $1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______end_node_5babi_v160004_5d_28_29($0); + wasm2js_i32$0 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______begin_node_5babi_v160004_5d_28_29($0), + wasm2js_i32$1 = $1, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____20std____2____move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 28 >> 2] = $1; + HEAP32[$4 + 24 >> 2] = $2; + HEAP32[$4 + 20 >> 2] = $3; + HEAP32[$4 + 16 >> 2] = HEAP32[$4 + 28 >> 2]; + HEAP32[$4 + 12 >> 2] = HEAP32[$4 + 24 >> 2]; + HEAP32[$4 + 8 >> 2] = HEAP32[$4 + 20 >> 2]; + std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____20std____2____dispatch_copy_or_move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2____move_loop_std____2___ClassicAlgPolicy__2c_20std____2____move_trivial_2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($0, HEAP32[$4 + 16 >> 2], HEAP32[$4 + 12 >> 2], HEAP32[$4 + 8 >> 2]); + __stack_pointer = $4 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2WeldJoint____29_28_29___invoke_b2WeldJoint__28char_20const__2c_20void_20_28b2WeldJoint____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 683; + $0 = emscripten__internal__TypeID_b2WeldJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2WeldJoint____emscripten__internal__getContext_void_20_28b2WeldJoint____29_28_29__28void_20_28b2WeldJoint____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2RopeJoint____29_28_29___invoke_b2RopeJoint__28char_20const__2c_20void_20_28b2RopeJoint____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 674; + $0 = emscripten__internal__TypeID_b2RopeJoint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2RopeJoint____emscripten__internal__getContext_void_20_28b2RopeJoint____29_28_29__28void_20_28b2RopeJoint____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2EdgeShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20bool_2c_20b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____invoke_28bool_20_28b2EdgeShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20b2EdgeShape_20const__2c_20b2Transform__2c_20b2Vec2__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2EdgeShape_20const__2c_20void___fromWireType_28b2EdgeShape_20const__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$4 >> 2])) & 1); + __stack_pointer = $4 + 16 | 0; + return $0 & 1; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29_2c_20void_2c_20b2Body__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool___invoke_28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29_2c_20b2Body__2c_20b2Vec2__2c_20b2Vec2__2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP8[$5 + 15 | 0] = $4 & 1; + $2 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$5 + 24 >> 2]); + $0 = HEAP32[$5 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$5 + 20 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$5 + 16 >> 2]), emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$5 + 15 | 0] & 1) & 1); + __stack_pointer = $5 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28_29_20const_2c_20unsigned_20long_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const____invoke_28unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28_29_20const_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20void___fromWireType_28std____2__vector_int_2c_20std____2__allocator_int___20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = FUNCTION_TABLE[$0 | 0]($1) | 0, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_unsigned_20long_2c_20void___toWireType_28unsigned_20long_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2ContactSolver__StoreImpulses_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 32 | 0; + __stack_pointer = $1; + HEAP32[$1 + 28 >> 2] = $0; + $0 = HEAP32[$1 + 28 >> 2]; + HEAP32[$1 + 24 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 24 >> 2] < HEAP32[$0 + 48 >> 2]) { + HEAP32[$1 + 20 >> 2] = HEAP32[$0 + 40 >> 2] + Math_imul(HEAP32[$1 + 24 >> 2], 156); + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Contact__GetManifold_28_29(HEAP32[HEAP32[$0 + 44 >> 2] + (HEAP32[HEAP32[$1 + 20 >> 2] + 152 >> 2] << 2) >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + HEAP32[$1 + 12 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 12 >> 2] < HEAP32[HEAP32[$1 + 20 >> 2] + 148 >> 2]) { + HEAPF32[(HEAP32[$1 + 16 >> 2] + Math_imul(HEAP32[$1 + 12 >> 2], 20) | 0) + 8 >> 2] = HEAPF32[(HEAP32[$1 + 20 >> 2] + Math_imul(HEAP32[$1 + 12 >> 2], 36) | 0) + 16 >> 2]; + HEAPF32[(HEAP32[$1 + 16 >> 2] + Math_imul(HEAP32[$1 + 12 >> 2], 20) | 0) + 12 >> 2] = HEAPF32[(HEAP32[$1 + 20 >> 2] + Math_imul(HEAP32[$1 + 12 >> 2], 36) | 0) + 20 >> 2]; + HEAP32[$1 + 12 >> 2] = HEAP32[$1 + 12 >> 2] + 1; + continue; + } + break; + } + HEAP32[$1 + 24 >> 2] = HEAP32[$1 + 24 >> 2] + 1; + continue; + } + break; + } + __stack_pointer = $1 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2AABB__2c_20b2AABB__29___invoke_b2AABB_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2AABB__2c_20b2AABB__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 501; + $0 = emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2AABB__2c_20b2AABB____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2AABB__2c_20b2AABB____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28__emscripten__internal__getContext_void_20_28__29_28b2AABB__2c_20b2AABB__29__28void_20_28__20const__29_28b2AABB__2c_20b2AABB__29_29_29_28b2AABB__2c_20b2AABB__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2Shape__2c_20float_29___invoke_b2Shape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2Shape__2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 526; + $0 = emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Shape__2c_20float___getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Shape__2c_20float___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28__emscripten__internal__getContext_void_20_28__29_28b2Shape__2c_20float_29__28void_20_28__20const__29_28b2Shape__2c_20float_29_29_29_28b2Shape__2c_20float_29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_28char_20const__2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 24 >> 2] = $0; + HEAP32[$3 + 20 >> 2] = $1; + HEAP32[$3 + 16 >> 2] = $2; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$3 + 28 >> 2] = $0; + std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char______compressed_pair_5babi_v160004_5d_std____2____default_init_tag_2c_20std____2____default_init_tag__28std____2____default_init_tag___2c_20std____2____default_init_tag___29($0, $3 + 15 | 0, $3 + 14 | 0); + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______init_28char_20const__2c_20unsigned_20long_29($0, HEAP32[$3 + 20 >> 2], HEAP32[$3 + 16 >> 2]); + void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($0); + __stack_pointer = $3 + 32 | 0; + return HEAP32[$3 + 28 >> 2]; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Fixture____29_28_29___invoke_b2Fixture__28char_20const__2c_20void_20_28b2Fixture____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 567; + $0 = emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28_29__28void_20_28b2Fixture____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function __ashlti3($0, $1, $2, $3, $4, $5) { + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; + label$1: { + if ($5 & 64) { + $7 = $2; + $8 = $1; + $5 = $5 + -64 | 0; + $6 = $5 & 31; + if (($5 & 63) >>> 0 >= 32) { + $9 = $8 << $6; + $3 = 0; + } else { + $9 = (1 << $6) - 1 & $8 >>> 32 - $6 | $7 << $6; + $3 = $8 << $6; + } + $4 = $9; + $1 = 0; + $2 = 0; + break label$1; + } + if (!$5) { + break label$1; + } + $10 = $5; + $9 = $4; + $7 = $3; + $6 = $5 & 31; + if (($5 & 63) >>> 0 >= 32) { + $8 = $7 << $6; + $3 = 0; + } else { + $8 = (1 << $6) - 1 & $7 >>> 32 - $6 | $9 << $6; + $3 = $7 << $6; + } + $4 = $8; + $8 = $2; + $9 = $1; + $7 = 0; + $5 = 64 - $5 | 0; + $6 = $5 & 31; + if (($5 & 63) >>> 0 >= 32) { + $5 = $8 >>> $6 | 0; + } else { + $7 = $8 >>> $6 | 0; + $5 = ((1 << $6) - 1 & $8) << 32 - $6 | $9 >>> $6; + } + $9 = $7; + $8 = $3; + $3 = $8 | $5; + $7 = $4; + $9 = $7 | $9; + $4 = $9; + $9 = $2; + $7 = $1; + $5 = $10; + $6 = $5 & 31; + if (($5 & 63) >>> 0 >= 32) { + $8 = $7 << $6; + $1 = 0; + } else { + $8 = (1 << $6) - 1 & $7 >>> 32 - $6 | $9 << $6; + $1 = $7 << $6; + } + $2 = $8; + } + $7 = $0; + HEAP32[$7 >> 2] = $1; + $8 = $2; + HEAP32[$7 + 4 >> 2] = $8; + HEAP32[$7 + 8 >> 2] = $3; + $8 = $4; + HEAP32[$7 + 12 >> 2] = $8; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2Shape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20bool_2c_20b2Shape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____invoke_28bool_20_28b2Shape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20b2Shape_20const__2c_20b2Transform__2c_20b2Vec2__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2Shape_20const__2c_20void___fromWireType_28b2Shape_20const__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$4 >> 2])) & 1); + __stack_pointer = $4 + 16 | 0; + return $0 & 1; +} + +function std____2__reverse_iterator_b2Vec2___20std____2____uninitialized_allocator_move_if_noexcept_5babi_v160004_5d_std____2__allocator_b2Vec2__2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20b2Vec2_2c_20void__28std____2__allocator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 24 >> 2] = $1; + HEAP32[$4 + 20 >> 2] = $2; + HEAP32[$4 + 16 >> 2] = $3; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = HEAP32[$4 + 24 >> 2]; + HEAP32[$4 + 4 >> 2] = HEAP32[$4 + 20 >> 2]; + HEAP32[$4 >> 2] = HEAP32[$4 + 16 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__reverse_iterator_b2Vec2___20std____2__move_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29(HEAP32[$4 + 8 >> 2], HEAP32[$4 + 4 >> 2], HEAP32[$4 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + __stack_pointer = $4 + 32 | 0; + return HEAP32[$4 + 28 >> 2]; +} + +function emscripten__internal__FunctionInvoker_emscripten__val_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29_2c_20emscripten__val_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long___invoke_28emscripten__val_20_28___29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[HEAP32[$3 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0]($3, emscripten__internal__GenericBindingType_std____2__vector_int_2c_20std____2__allocator_int_____fromWireType_28std____2__vector_int_2c_20std____2__allocator_int____29(HEAP32[$3 + 8 >> 2]), emscripten__internal__BindingType_unsigned_20long_2c_20void___fromWireType_28unsigned_20long_29(HEAP32[$3 + 4 >> 2])); + $0 = emscripten__internal__BindingType_emscripten__val_2c_20void___toWireType_28emscripten__val_20const__29($3); + emscripten__val___val_28_29($3); + __stack_pointer = $3 + 16 | 0; + return $0 | 0; +} + +function b2DynamicTree__b2DynamicTree_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$0 >> 2] = -1; + HEAP32[$0 + 12 >> 2] = 16; + HEAP32[$0 + 8 >> 2] = 0; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Alloc_28int_29(Math_imul(HEAP32[$0 + 12 >> 2], 40)), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + __memset(HEAP32[$0 + 4 >> 2], 0, Math_imul(HEAP32[$0 + 12 >> 2], 40)); + HEAP32[$1 + 4 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 4 >> 2] < (HEAP32[$0 + 12 >> 2] - 1 | 0)) { + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$1 + 4 >> 2], 40) | 0) + 20 >> 2] = HEAP32[$1 + 4 >> 2] + 1; + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$1 + 4 >> 2], 40) | 0) + 32 >> 2] = -1; + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] + 1; + continue; + } + break; + } + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$0 + 12 >> 2] - 1 | 0, 40) | 0) + 20 >> 2] = -1; + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$0 + 12 >> 2] - 1 | 0, 40) | 0) + 32 >> 2] = -1; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2World____29_28_29___invoke_b2World__28char_20const__2c_20void_20_28b2World____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 508; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28_29__28void_20_28b2World____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Joint____29_28_29___invoke_b2Joint__28char_20const__2c_20void_20_28b2Joint____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 608; + $0 = emscripten__internal__TypeID_b2Joint_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Joint____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Joint____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Joint____emscripten__internal__getContext_void_20_28b2Joint____29_28_29__28void_20_28b2Joint____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2RopeJoint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 112 | 0; + __stack_pointer = $1; + HEAP32[$1 + 108 >> 2] = $0; + $0 = HEAP32[$1 + 108 >> 2]; + HEAP32[$1 + 104 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 100 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + b2Dump_28char_20const__2c_20____29(13613, 0); + HEAP32[$1 + 64 >> 2] = HEAP32[$1 + 104 >> 2]; + b2Dump_28char_20const__2c_20____29(13849, $1 - -64 | 0); + HEAP32[$1 + 48 >> 2] = HEAP32[$1 + 100 >> 2]; + b2Dump_28char_20const__2c_20____29(13823, $1 + 48 | 0); + HEAP32[$1 + 32 >> 2] = HEAP8[$0 + 61 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14859, $1 + 32 | 0); + $2 = HEAPF32[$0 + 68 >> 2]; + HEAPF64[$1 + 24 >> 3] = HEAPF32[$0 + 72 >> 2]; + HEAPF64[$1 + 16 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14265, $1 + 16 | 0); + $2 = HEAPF32[$0 + 76 >> 2]; + HEAPF64[$1 + 8 >> 3] = HEAPF32[$0 + 80 >> 2]; + HEAPF64[$1 >> 3] = $2; + b2Dump_28char_20const__2c_20____29(14158, $1); + HEAPF64[$1 + 80 >> 3] = HEAPF32[$0 + 84 >> 2]; + b2Dump_28char_20const__2c_20____29(12941, $1 + 80 | 0); + HEAP32[$1 + 96 >> 2] = HEAP32[$0 + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(14538, $1 + 96 | 0); + __stack_pointer = $1 + 112 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28int_20const__29_2c_20void_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20int_20const____invoke_28void_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28int_20const__29_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_std____2__vector_int_2c_20std____2__allocator_int____2c_20void___fromWireType_28std____2__vector_int_2c_20std____2__allocator_int____29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $3, wasm2js_i32$1 = emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$3 + 4 >> 2]), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + FUNCTION_TABLE[$0 | 0]($2, $3); + __stack_pointer = $3 + 16 | 0; +} + +function b2Mat33__GetInverse22_28b2Mat33__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 32 | 0; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + HEAPF32[$2 + 20 >> 2] = HEAPF32[$0 >> 2]; + HEAPF32[$2 + 16 >> 2] = HEAPF32[$0 + 12 >> 2]; + HEAPF32[$2 + 12 >> 2] = HEAPF32[$0 + 4 >> 2]; + HEAPF32[$2 + 8 >> 2] = HEAPF32[$0 + 16 >> 2]; + HEAPF32[$2 + 4 >> 2] = Math_fround(HEAPF32[$2 + 20 >> 2] * HEAPF32[$2 + 8 >> 2]) - Math_fround(HEAPF32[$2 + 16 >> 2] * HEAPF32[$2 + 12 >> 2]); + if (HEAPF32[$2 + 4 >> 2] != Math_fround(0)) { + HEAPF32[$2 + 4 >> 2] = Math_fround(1) / HEAPF32[$2 + 4 >> 2]; + } + HEAPF32[HEAP32[$2 + 24 >> 2] >> 2] = HEAPF32[$2 + 4 >> 2] * HEAPF32[$2 + 8 >> 2]; + HEAPF32[HEAP32[$2 + 24 >> 2] + 12 >> 2] = Math_fround(-HEAPF32[$2 + 4 >> 2]) * HEAPF32[$2 + 16 >> 2]; + HEAPF32[HEAP32[$2 + 24 >> 2] + 8 >> 2] = 0; + HEAPF32[HEAP32[$2 + 24 >> 2] + 4 >> 2] = Math_fround(-HEAPF32[$2 + 4 >> 2]) * HEAPF32[$2 + 12 >> 2]; + HEAPF32[HEAP32[$2 + 24 >> 2] + 16 >> 2] = HEAPF32[$2 + 4 >> 2] * HEAPF32[$2 + 20 >> 2]; + HEAPF32[HEAP32[$2 + 24 >> 2] + 20 >> 2] = 0; + HEAPF32[HEAP32[$2 + 24 >> 2] + 24 >> 2] = 0; + HEAPF32[HEAP32[$2 + 24 >> 2] + 28 >> 2] = 0; + HEAPF32[HEAP32[$2 + 24 >> 2] + 32 >> 2] = 0; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int_______construct_at_end_28unsigned_20long_2c_20int_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + std____2____split_buffer_int_2c_20std____2__allocator_int______ConstructTransaction___ConstructTransaction_5babi_v160004_5d_28int___2c_20unsigned_20long_29($3 + 8 | 0, $0 + 8 | 0, HEAP32[$3 + 24 >> 2]); + while (1) { + if (HEAP32[$3 + 8 >> 2] != HEAP32[$3 + 12 >> 2]) { + void_20std____2__allocator_traits_std____2__allocator_int____construct_5babi_v160004_5d_int_2c_20int_20const__2c_20void__28std____2__allocator_int___2c_20int__2c_20int_20const__29(std____2____split_buffer_int_2c_20std____2__allocator_int_______alloc_5babi_v160004_5d_28_29($0), int__20std____2____to_address_5babi_v160004_5d_int__28int__29(HEAP32[$3 + 8 >> 2]), HEAP32[$3 + 20 >> 2]); + HEAP32[$3 + 8 >> 2] = HEAP32[$3 + 8 >> 2] + 4; + continue; + } + break; + } + std____2____split_buffer_int_2c_20std____2__allocator_int______ConstructTransaction____ConstructTransaction_5babi_v160004_5d_28_29($3 + 8 | 0); + __stack_pointer = $3 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28b2Body____29_28_29___invoke_b2Body__28char_20const__2c_20void_20_28b2Body____29_28_29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + $3 = HEAP32[$1 >> 2]; + $1 = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = $3; + HEAP32[$2 + 12 >> 2] = 591; + $0 = emscripten__internal__TypeID_b2Body_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body____getCount_28_29_20const($2 + 11 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body____getTypes_28_29_20const($2 + 11 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28_29__28void_20_28b2Body____20const__29_28_29_29_29_28_29($2 + 16 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2GearJoint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 128 | 0; + __stack_pointer = $1; + HEAP32[$1 + 124 >> 2] = $0; + $0 = HEAP32[$1 + 124 >> 2]; + HEAP32[$1 + 120 >> 2] = HEAP32[HEAP32[$0 + 48 >> 2] + 8 >> 2]; + HEAP32[$1 + 116 >> 2] = HEAP32[HEAP32[$0 + 52 >> 2] + 8 >> 2]; + HEAP32[$1 + 112 >> 2] = HEAP32[HEAP32[$0 + 68 >> 2] + 56 >> 2]; + HEAP32[$1 + 108 >> 2] = HEAP32[HEAP32[$0 + 72 >> 2] + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(13516, 0); + HEAP32[$1 + 64 >> 2] = HEAP32[$1 + 120 >> 2]; + b2Dump_28char_20const__2c_20____29(13849, $1 - -64 | 0); + HEAP32[$1 + 48 >> 2] = HEAP32[$1 + 116 >> 2]; + b2Dump_28char_20const__2c_20____29(13823, $1 + 48 | 0); + HEAP32[$1 + 32 >> 2] = HEAP8[$0 + 61 | 0] & 1; + b2Dump_28char_20const__2c_20____29(14859, $1 + 32 | 0); + HEAP32[$1 + 16 >> 2] = HEAP32[$1 + 112 >> 2]; + b2Dump_28char_20const__2c_20____29(13796, $1 + 16 | 0); + HEAP32[$1 >> 2] = HEAP32[$1 + 108 >> 2]; + b2Dump_28char_20const__2c_20____29(13769, $1); + HEAPF64[$1 + 80 >> 3] = HEAPF32[$0 + 152 >> 2]; + b2Dump_28char_20const__2c_20____29(12785, $1 + 80 | 0); + HEAP32[$1 + 96 >> 2] = HEAP32[$0 + 56 >> 2]; + b2Dump_28char_20const__2c_20____29(14538, $1 + 96 | 0); + __stack_pointer = $1 + 128 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2RayCastCallbackWrapper__29___invoke_b2RayCastCallbackWrapper__28char_20const__2c_20void_20_28__29_28b2RayCastCallbackWrapper__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 477; + $0 = emscripten__internal__TypeID_b2RayCastCallbackWrapper_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2RayCastCallbackWrapper____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2RayCastCallbackWrapper____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28__emscripten__internal__getContext_void_20_28__29_28b2RayCastCallbackWrapper__29__28void_20_28__20const__29_28b2RayCastCallbackWrapper__29_29_29_28b2RayCastCallbackWrapper__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2ContactListenerWrapper__29___invoke_b2ContactListenerWrapper__28char_20const__2c_20void_20_28__29_28b2ContactListenerWrapper__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 485; + $0 = emscripten__internal__TypeID_b2ContactListenerWrapper_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2ContactListenerWrapper____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2ContactListenerWrapper____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28__emscripten__internal__getContext_void_20_28__29_28b2ContactListenerWrapper__29__28void_20_28__20const__29_28b2ContactListenerWrapper__29_29_29_28b2ContactListenerWrapper__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__FunctionInvoker_void_20_28__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_2c_20void_2c_20b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int___invoke_28void_20_28___29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_2c_20b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $0 = HEAP32[HEAP32[$4 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_b2PolygonShape__2c_20void___fromWireType_28b2PolygonShape__29(HEAP32[$4 + 8 >> 2]), emscripten__internal__GenericBindingType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____fromWireType_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29(HEAP32[$4 + 4 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function emscripten__internal__MethodCaller_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[$5 + 44 >> 2] = $0; + HEAP32[$5 + 40 >> 2] = $1; + HEAP32[$5 + 36 >> 2] = $2; + HEAP32[$5 + 32 >> 2] = $3; + HEAP32[$5 + 28 >> 2] = $4; + wasm2js_i32$0 = $5, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____get_method_caller_28_29(), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____WireTypePack_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29($5, HEAP32[$5 + 36 >> 2], HEAP32[$5 + 32 >> 2], HEAP32[$5 + 28 >> 2]); + _emval_call_void_method(HEAP32[$5 + 24 >> 2], HEAP32[$5 + 44 >> 2], HEAP32[$5 + 40 >> 2], emscripten__internal__WireTypePack_b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____operator_20void_20const__28_29_20const($5) | 0); + __stack_pointer = $5 + 48 | 0; +} + +function emscripten__internal__MethodInvoker_float_20_28b2PrismaticJoint____29_28float_29_20const_2c_20float_2c_20b2PrismaticJoint_20const__2c_20float___invoke_28float_20_28b2PrismaticJoint____20const__29_28float_29_20const_2c_20b2PrismaticJoint_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2PrismaticJoint_20const__2c_20void___fromWireType_28b2PrismaticJoint_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]))), + HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $2 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($3); + __stack_pointer = $3 + 16 | 0; + return Math_fround($2); +} + +function b2World__CreateBody_28b2BodyDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + $0 = HEAP32[$2 + 24 >> 2]; + if (b2World__IsLocked_28_29_20const($0) & 1) { + __assert_fail(9133, 6161, 117, 1635); + wasm2js_trap(); + } + label$2: { + if (b2World__IsLocked_28_29_20const($0) & 1) { + HEAP32[$2 + 28 >> 2] = 0; + break label$2; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29($0, 152), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$2 + 16 >> 2]; + b2Body__b2Body_28b2BodyDef_20const__2c_20b2World__29($1, HEAP32[$2 + 20 >> 2], $0); + HEAP32[$2 + 12 >> 2] = $1; + HEAP32[HEAP32[$2 + 12 >> 2] + 92 >> 2] = 0; + HEAP32[HEAP32[$2 + 12 >> 2] + 96 >> 2] = HEAP32[$0 + 102948 >> 2]; + if (HEAP32[$0 + 102948 >> 2]) { + HEAP32[HEAP32[$0 + 102948 >> 2] + 92 >> 2] = HEAP32[$2 + 12 >> 2]; + } + HEAP32[$0 + 102948 >> 2] = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 + 102956 >> 2] = HEAP32[$0 + 102956 >> 2] + 1; + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + } + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function b2Body__ApplyLinearImpulse_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $5 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 28 >> 2] = $0; + HEAP32[$4 + 24 >> 2] = $1; + HEAP32[$4 + 20 >> 2] = $2; + HEAP8[$4 + 19 | 0] = $3; + $0 = HEAP32[$4 + 28 >> 2]; + label$1: { + if (HEAP32[$0 >> 2] != 2) { + break label$1; + } + if (!(!(HEAP8[$4 + 19 | 0] & 1) | HEAPU16[$0 + 4 >> 1] & 2)) { + b2Body__SetAwake_28bool_29($0, 1); + } + if (!(HEAPU16[$0 + 4 >> 1] & 2)) { + break label$1; + } + operator__28float_2c_20b2Vec2_20const__29($4 + 8 | 0, HEAPF32[$0 + 120 >> 2], HEAP32[$4 + 24 >> 2]); + b2Vec2__operator___28b2Vec2_20const__29($0 - -64 | 0, $4 + 8 | 0); + $5 = HEAPF32[$0 + 128 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4, HEAP32[$4 + 20 >> 2], $0 + 44 | 0); + wasm2js_i32$0 = $0, wasm2js_f32$0 = Math_fround(Math_fround($5 * b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($4, HEAP32[$4 + 24 >> 2])) + HEAPF32[$0 + 72 >> 2]), + HEAPF32[wasm2js_i32$0 + 72 >> 2] = wasm2js_f32$0; + } + __stack_pointer = $4 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassMethod_b2Body__20_28__29_28b2JointDef__29___invoke_b2JointDef_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Body__20_28__29_28b2JointDef__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 601; + $0 = emscripten__internal__TypeID_b2JointDef_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20b2JointDef____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20b2JointDef____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], b2Body__20_28__emscripten__internal__getContext_b2Body__20_28__29_28b2JointDef__29__28b2Body__20_28__20const__29_28b2JointDef__29_29_29_28b2JointDef__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______annotate_delete_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______annotate_contiguous_container_5babi_v160004_5d_28void_20const__2c_20void_20const__2c_20void_20const__2c_20void_20const__29_20const($0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0), std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____capacity_5babi_v160004_5d_28_29_20const($0) << 3) | 0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const($0) << 3) | 0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____capacity_5babi_v160004_5d_28_29_20const($0) << 3) | 0); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_float_20_28b2RevoluteJoint____29_28float_29_20const_2c_20float_2c_20b2RevoluteJoint_20const__2c_20float___invoke_28float_20_28b2RevoluteJoint____20const__29_28float_29_20const_2c_20b2RevoluteJoint_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2RevoluteJoint_20const__2c_20void___fromWireType_28b2RevoluteJoint_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]))), + HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $2 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($3); + __stack_pointer = $3 + 16 | 0; + return Math_fround($2); +} + +function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2QueryCallbackWrapper__29___invoke_b2QueryCallbackWrapper__28char_20const__2c_20void_20_28__29_28b2QueryCallbackWrapper__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 472; + $0 = emscripten__internal__TypeID_b2QueryCallbackWrapper_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2QueryCallbackWrapper____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2QueryCallbackWrapper____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28__emscripten__internal__getContext_void_20_28__29_28b2QueryCallbackWrapper__29__28void_20_28__20const__29_28b2QueryCallbackWrapper__29_29_29_28b2QueryCallbackWrapper__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_b2Fixture__20_28b2Body____29_28b2Shape_20const__2c_20float_29_2c_20b2Fixture__2c_20b2Body__2c_20b2Shape_20const__2c_20float___invoke_28b2Fixture__20_28b2Body____20const__29_28b2Shape_20const__2c_20float_29_2c_20b2Body__2c_20b2Shape_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2Fixture__2c_20void___toWireType_28b2Fixture__29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2Shape_20const__2c_20void___fromWireType_28b2Shape_20const__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 >> 2])) | 0); + __stack_pointer = $4 + 16 | 0; + return $0 | 0; +} + +function std____2__reverse_iterator_int___20std____2____uninitialized_allocator_move_if_noexcept_5babi_v160004_5d_std____2__allocator_int__2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20int_2c_20void__28std____2__allocator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 24 >> 2] = $1; + HEAP32[$4 + 20 >> 2] = $2; + HEAP32[$4 + 16 >> 2] = $3; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = HEAP32[$4 + 24 >> 2]; + HEAP32[$4 + 4 >> 2] = HEAP32[$4 + 20 >> 2]; + HEAP32[$4 >> 2] = HEAP32[$4 + 16 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__reverse_iterator_int___20std____2__move_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29(HEAP32[$4 + 8 >> 2], HEAP32[$4 + 4 >> 2], HEAP32[$4 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + __stack_pointer = $4 + 32 | 0; + return HEAP32[$4 + 28 >> 2]; +} + +function b2DistanceJoint__b2DistanceJoint_28b2DistanceJointDef_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Joint__b2Joint_28b2JointDef_20const__29($1, HEAP32[$2 + 8 >> 2]); + HEAP32[$1 >> 2] = 18448; + b2Vec2__b2Vec2_28_29($1 + 80 | 0); + b2Vec2__b2Vec2_28_29($1 + 88 | 0); + b2Vec2__b2Vec2_28_29($1 + 116 | 0); + b2Vec2__b2Vec2_28_29($1 + 124 | 0); + b2Vec2__b2Vec2_28_29($1 + 132 | 0); + b2Vec2__b2Vec2_28_29($1 + 140 | 0); + b2Vec2__b2Vec2_28_29($1 + 148 | 0); + $3 = HEAP32[$2 + 8 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$1 + 80 >> 2] = $4; + HEAP32[$1 + 84 >> 2] = $0; + $3 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $4 = HEAP32[$3 + 32 >> 2]; + HEAP32[$1 + 88 >> 2] = $0; + HEAP32[$1 + 92 >> 2] = $4; + HEAPF32[$1 + 104 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 36 >> 2]; + HEAPF32[$1 + 68 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 40 >> 2]; + HEAPF32[$1 + 72 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 44 >> 2]; + HEAPF32[$1 + 100 >> 2] = 0; + HEAPF32[$1 + 96 >> 2] = 0; + HEAPF32[$1 + 76 >> 2] = 0; + __stack_pointer = $2 + 16 | 0; + return $1; +} + +function emscripten__internal__MethodInvoker_void_20_28b2World____29_28float_2c_20int_2c_20int_29_2c_20void_2c_20b2World__2c_20float_2c_20int_2c_20int___invoke_28void_20_28b2World____20const__29_28float_2c_20int_2c_20int_29_2c_20b2World__2c_20float_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAPF32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + $3 = emscripten__internal__BindingType_b2World__2c_20void___fromWireType_28b2World__29(HEAP32[$5 + 24 >> 2]); + $0 = HEAP32[$5 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $3 = ($1 >> 1) + $3 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$3 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($3, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$5 + 20 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$5 + 16 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$5 + 12 >> 2])); + __stack_pointer = $5 + 32 | 0; +} + +function b2Simplex__GetSearchDirection_28_29_20const($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $1; + label$1: { + label$2: { + label$3: { + label$4: { + $1 = HEAP32[$2 + 28 >> 2]; + switch (HEAP32[$1 + 108 >> 2] - 1 | 0) { + case 1: + break label$3; + + case 0: + break label$4; + + default: + break label$2; + } + } + b2Vec2__operator__28_29_20const($0, $1 + 16 | 0); + break label$1; + } + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 20 | 0, $1 + 52 | 0, $1 + 16 | 0); + b2Vec2__operator__28_29_20const($2 + 8 | 0, $1 + 16 | 0); + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 20 | 0, $2 + 8 | 0), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + if (HEAPF32[$2 + 16 >> 2] > Math_fround(0)) { + b2Cross_28float_2c_20b2Vec2_20const__29($0, Math_fround(1), $2 + 20 | 0); + break label$1; + } + b2Cross_28b2Vec2_20const__2c_20float_29($0, $2 + 20 | 0, Math_fround(1)); + break label$1; + } + __assert_fail(9147, 6034, 195, 6546); + wasm2js_trap(); + } + __stack_pointer = $2 + 32 | 0; +} + +function b2Contact__GetWorldManifold_28b2WorldManifold__29_20const($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$0 + 48 >> 2]), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetBody_28_29(HEAP32[$0 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$0 + 48 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$0 + 52 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + b2WorldManifold__Initialize_28b2Manifold_20const__2c_20b2Transform_20const__2c_20float_2c_20b2Transform_20const__2c_20float_29(HEAP32[$2 + 24 >> 2], $0 - -64 | 0, b2Body__GetTransform_28_29_20const(HEAP32[$2 + 20 >> 2]), HEAPF32[HEAP32[$2 + 12 >> 2] + 8 >> 2], b2Body__GetTransform_28_29_20const(HEAP32[$2 + 16 >> 2]), HEAPF32[HEAP32[$2 + 8 >> 2] + 8 >> 2]); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_float_20_28b2WheelJoint____29_28float_29_20const_2c_20float_2c_20b2WheelJoint_20const__2c_20float___invoke_28float_20_28b2WheelJoint____20const__29_28float_29_20const_2c_20b2WheelJoint_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2WheelJoint_20const__2c_20void___fromWireType_28b2WheelJoint_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]))), + HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $2 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($3); + __stack_pointer = $3 + 16 | 0; + return Math_fround($2); +} + +function emscripten__internal__MethodInvoker_float_20_28b2RopeJoint____29_28float_29_20const_2c_20float_2c_20b2RopeJoint_20const__2c_20float___invoke_28float_20_28b2RopeJoint____20const__29_28float_29_20const_2c_20b2RopeJoint_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2RopeJoint_20const__2c_20void___fromWireType_28b2RopeJoint_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]))), + HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $2 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($3); + __stack_pointer = $3 + 16 | 0; + return Math_fround($2); +} + +function std____2____unwrap_range_impl_char_20const__2c_20char_20const______unwrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + wasm2js_i32$0 = $3, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_28std__declval_char_20const___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true__2c_200__28char_20const__29($1), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_28std__declval_char_20const___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true__2c_200__28char_20const__29($2), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + std____2__pair_char_20const__2c_20char_20const____pair_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20_28void__290__28char_20const____2c_20char_20const____29($0, $3 + 12 | 0, $3 + 8 | 0); + __stack_pointer = $3 + 16 | 0; +} + +function std____2__reverse_iterator_b2Vec2___20std____2__move_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 40 >> 2] = $0; + HEAP32[$3 + 36 >> 2] = $1; + HEAP32[$3 + 32 >> 2] = $2; + HEAP32[$3 + 20 >> 2] = HEAP32[$3 + 40 >> 2]; + HEAP32[$3 + 16 >> 2] = HEAP32[$3 + 36 >> 2]; + HEAP32[$3 + 12 >> 2] = HEAP32[$3 + 32 >> 2]; + std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____20std____2____move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($3 + 24 | 0, HEAP32[$3 + 20 >> 2], HEAP32[$3 + 16 >> 2], HEAP32[$3 + 12 >> 2]); + HEAP32[$3 + 44 >> 2] = HEAP32[($3 + 24 | 0) + 4 >> 2]; + __stack_pointer = $3 + 48 | 0; + return HEAP32[$3 + 44 >> 2]; +} + +function b2WeldJoint__b2WeldJoint_28b2WeldJointDef_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Joint__b2Joint_28b2JointDef_20const__29($1, HEAP32[$2 + 8 >> 2]); + HEAP32[$1 >> 2] = 19528; + b2Vec2__b2Vec2_28_29($1 + 80 | 0); + b2Vec2__b2Vec2_28_29($1 + 88 | 0); + b2Vec3__b2Vec3_28_29($1 + 104 | 0); + b2Vec2__b2Vec2_28_29($1 + 124 | 0); + b2Vec2__b2Vec2_28_29($1 + 132 | 0); + b2Vec2__b2Vec2_28_29($1 + 140 | 0); + b2Vec2__b2Vec2_28_29($1 + 148 | 0); + b2Mat33__b2Mat33_28_29($1 + 172 | 0); + $3 = HEAP32[$2 + 8 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$1 + 80 >> 2] = $4; + HEAP32[$1 + 84 >> 2] = $0; + $3 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $4 = HEAP32[$3 + 32 >> 2]; + HEAP32[$1 + 88 >> 2] = $0; + HEAP32[$1 + 92 >> 2] = $4; + HEAPF32[$1 + 96 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 36 >> 2]; + HEAPF32[$1 + 68 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 40 >> 2]; + HEAPF32[$1 + 72 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 44 >> 2]; + b2Vec3__SetZero_28_29($1 + 104 | 0); + __stack_pointer = $2 + 16 | 0; + return $1; +} + +function void_20emscripten__internal__RegisterClassMethod_float_20_28__29_28b2Shape__29___invoke_b2Shape_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28b2Shape__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 527; + $0 = emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20b2Shape____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20b2Shape____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], float_20_28__emscripten__internal__getContext_float_20_28__29_28b2Shape__29__28float_20_28__20const__29_28b2Shape__29_29_29_28b2Shape__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______annotate_new_5babi_v160004_5d_28unsigned_20long_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______annotate_contiguous_container_5babi_v160004_5d_28void_20const__2c_20void_20const__2c_20void_20const__2c_20void_20const__29_20const($0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0), std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____capacity_5babi_v160004_5d_28_29_20const($0) << 3) | 0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____capacity_5babi_v160004_5d_28_29_20const($0) << 3) | 0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0) + (HEAP32[$2 + 8 >> 2] << 3) | 0); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______annotate_shrink_5babi_v160004_5d_28unsigned_20long_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______annotate_contiguous_container_5babi_v160004_5d_28void_20const__2c_20void_20const__2c_20void_20const__2c_20void_20const__29_20const($0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0), std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____capacity_5babi_v160004_5d_28_29_20const($0) << 3) | 0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0) + (HEAP32[$2 + 8 >> 2] << 3) | 0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const($0) << 3) | 0); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2ContactListener____29_28unsigned_20int_2c_20unsigned_20int_29_2c_20void_2c_20b2ContactListener__2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28b2ContactListener____20const__29_28unsigned_20int_2c_20unsigned_20int_29_2c_20b2ContactListener__2c_20unsigned_20int_2c_20unsigned_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2ContactListener__2c_20void___fromWireType_28b2ContactListener__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$4 + 4 >> 2]), emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function void_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______construct_one_at_end_5babi_v160004_5d_b2Vec2_20const___28b2Vec2_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____ConstructTransaction___ConstructTransaction_5babi_v160004_5d_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_29($2 + 12 | 0, $0, 1); + void_20std____2__allocator_traits_std____2__allocator_b2Vec2____construct_5babi_v160004_5d_b2Vec2_2c_20b2Vec2_20const__2c_20void__28std____2__allocator_b2Vec2___2c_20b2Vec2__2c_20b2Vec2_20const__29(std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______alloc_5babi_v160004_5d_28_29($0), b2Vec2__20std____2____to_address_5babi_v160004_5d_b2Vec2__28b2Vec2__29(HEAP32[$2 + 16 >> 2]), HEAP32[$2 + 24 >> 2]); + HEAP32[$2 + 16 >> 2] = HEAP32[$2 + 16 >> 2] + 8; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____ConstructTransaction____ConstructTransaction_5babi_v160004_5d_28_29($2 + 12 | 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2ContactListenerWrapper__isIndexOf_28unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + HEAP32[$2 + 20 >> 2] = HEAP32[$2 + 24 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____find_5babi_v160004_5d_28b2Fixture__20const__29($0 + 12 | 0, $2 + 20 | 0), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____end_5babi_v160004_5d_28_29($0 + 12 | 0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + $0 = std____2__operator___5babi_v160004_5d_28std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__2c_20std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__29($2 + 16 | 0, $2 + 12 | 0); + __stack_pointer = $2 + 32 | 0; + return $0 & 1; +} + +function emscripten__internal__MethodCaller_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const__29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[$5 + 44 >> 2] = $0; + HEAP32[$5 + 40 >> 2] = $1; + HEAP32[$5 + 36 >> 2] = $2; + HEAP32[$5 + 32 >> 2] = $3; + HEAP32[$5 + 28 >> 2] = $4; + wasm2js_i32$0 = $5, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const____get_method_caller_28_29(), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_b2Vec2_20const__2c_20float__2c_20b2Color_20const____WireTypePack_28b2Vec2_20const__2c_20float__2c_20b2Color_20const__29($5, HEAP32[$5 + 36 >> 2], HEAP32[$5 + 32 >> 2], HEAP32[$5 + 28 >> 2]); + _emval_call_void_method(HEAP32[$5 + 24 >> 2], HEAP32[$5 + 44 >> 2], HEAP32[$5 + 40 >> 2], emscripten__internal__WireTypePack_b2Vec2_20const__2c_20float__2c_20b2Color_20const____operator_20void_20const__28_29_20const($5) | 0); + __stack_pointer = $5 + 48 | 0; +} + +function emscripten__internal__MethodInvoker_float_20_28b2Joint____29_28float_29_20const_2c_20float_2c_20b2Joint_20const__2c_20float___invoke_28float_20_28b2Joint____20const__29_28float_29_20const_2c_20b2Joint_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2Joint_20const__2c_20void___fromWireType_28b2Joint_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]))), + HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $2 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($3); + __stack_pointer = $3 + 16 | 0; + return Math_fround($2); +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______destroy_vector__operator_28_29_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______annotate_delete_5babi_v160004_5d_28_29_20const(HEAP32[$0 >> 2]); + void_20std____2____debug_db_erase_c_5babi_v160004_5d_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29(HEAP32[$0 >> 2]); + if (HEAP32[HEAP32[$0 >> 2] >> 2]) { + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______clear_5babi_v160004_5d_28_29(HEAP32[$0 >> 2]); + std____2__allocator_traits_std____2__allocator_b2Vec2____deallocate_5babi_v160004_5d_28std____2__allocator_b2Vec2___2c_20b2Vec2__2c_20unsigned_20long_29(std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______alloc_5babi_v160004_5d_28_29(HEAP32[$0 >> 2]), HEAP32[HEAP32[$0 >> 2] >> 2], std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____capacity_5babi_v160004_5d_28_29_20const(HEAP32[$0 >> 2])); + } + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28b2Vec2_20const__29_2c_20void_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20b2Vec2_20const____invoke_28void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28b2Vec2_20const__29_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20void___fromWireType_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____20_28__29_28_29___invoke_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 702; + $0 = emscripten__internal__TypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______annotate_delete_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2__vector_int_2c_20std____2__allocator_int______annotate_contiguous_container_5babi_v160004_5d_28void_20const__2c_20void_20const__2c_20void_20const__2c_20void_20const__29_20const($0, std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0), std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_int_2c_20std____2__allocator_int____capacity_5babi_v160004_5d_28_29_20const($0) << 2) | 0, std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const($0) << 2) | 0, std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_int_2c_20std____2__allocator_int____capacity_5babi_v160004_5d_28_29_20const($0) << 2) | 0); + __stack_pointer = $1 + 16 | 0; +} + +function b2PolygonShape__SetAsBox_28float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAPF32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$0 + 148 >> 2] = 4; + b2Vec2__Set_28float_2c_20float_29($0 + 20 | 0, Math_fround(-HEAPF32[$3 + 8 >> 2]), Math_fround(-HEAPF32[$3 + 4 >> 2])); + b2Vec2__Set_28float_2c_20float_29($0 + 28 | 0, HEAPF32[$3 + 8 >> 2], Math_fround(-HEAPF32[$3 + 4 >> 2])); + b2Vec2__Set_28float_2c_20float_29($0 + 36 | 0, HEAPF32[$3 + 8 >> 2], HEAPF32[$3 + 4 >> 2]); + b2Vec2__Set_28float_2c_20float_29($0 + 44 | 0, Math_fround(-HEAPF32[$3 + 8 >> 2]), HEAPF32[$3 + 4 >> 2]); + b2Vec2__Set_28float_2c_20float_29($0 + 84 | 0, Math_fround(0), Math_fround(-1)); + b2Vec2__Set_28float_2c_20float_29($0 + 92 | 0, Math_fround(1), Math_fround(0)); + b2Vec2__Set_28float_2c_20float_29($0 + 100 | 0, Math_fround(0), Math_fround(1)); + b2Vec2__Set_28float_2c_20float_29($0 + 108 | 0, Math_fround(-1), Math_fround(0)); + b2Vec2__SetZero_28_29($0 + 12 | 0); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2QueryCallback__2c_20b2AABB_20const__29_20const_2c_20void_2c_20b2World_20const__2c_20b2QueryCallback__2c_20b2AABB_20const____invoke_28void_20_28b2World____20const__29_28b2QueryCallback__2c_20b2AABB_20const__29_20const_2c_20b2World_20const__2c_20b2QueryCallback__2c_20b2AABB__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2World_20const__2c_20void___fromWireType_28b2World_20const__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2QueryCallback__2c_20void___fromWireType_28b2QueryCallback__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__GenericBindingType_b2AABB___fromWireType_28b2AABB__29(HEAP32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function emscripten__internal__MethodCaller_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20unsigned_20int__2c_20int__2c_20b2Color_20const__29($0, $1, $2, $3, $4) { + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[$5 + 44 >> 2] = $0; + HEAP32[$5 + 40 >> 2] = $1; + HEAP32[$5 + 36 >> 2] = $2; + HEAP32[$5 + 32 >> 2] = $3; + HEAP32[$5 + 28 >> 2] = $4; + wasm2js_i32$0 = $5, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const____get_method_caller_28_29(), + HEAP32[wasm2js_i32$0 + 24 >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_unsigned_20int__2c_20int__2c_20b2Color_20const____WireTypePack_28unsigned_20int__2c_20int__2c_20b2Color_20const__29($5, HEAP32[$5 + 36 >> 2], HEAP32[$5 + 32 >> 2], HEAP32[$5 + 28 >> 2]); + _emval_call_void_method(HEAP32[$5 + 24 >> 2], HEAP32[$5 + 44 >> 2], HEAP32[$5 + 40 >> 2], emscripten__internal__WireTypePack_unsigned_20int__2c_20int__2c_20b2Color_20const____operator_20void_20const__28_29_20const($5) | 0); + __stack_pointer = $5 + 48 | 0; +} + +function b2FrictionJoint__b2FrictionJoint_28b2FrictionJointDef_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Joint__b2Joint_28b2JointDef_20const__29($1, HEAP32[$2 + 8 >> 2]); + HEAP32[$1 >> 2] = 18740; + b2Vec2__b2Vec2_28_29($1 + 68 | 0); + b2Vec2__b2Vec2_28_29($1 + 76 | 0); + b2Vec2__b2Vec2_28_29($1 + 84 | 0); + b2Vec2__b2Vec2_28_29($1 + 112 | 0); + b2Vec2__b2Vec2_28_29($1 + 120 | 0); + b2Vec2__b2Vec2_28_29($1 + 128 | 0); + b2Vec2__b2Vec2_28_29($1 + 136 | 0); + b2Mat22__b2Mat22_28_29($1 + 160 | 0); + $3 = HEAP32[$2 + 8 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$1 + 68 >> 2] = $4; + HEAP32[$1 + 72 >> 2] = $0; + $3 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $4 = HEAP32[$3 + 32 >> 2]; + HEAP32[$1 + 76 >> 2] = $0; + HEAP32[$1 + 80 >> 2] = $4; + b2Vec2__SetZero_28_29($1 + 84 | 0); + HEAPF32[$1 + 92 >> 2] = 0; + HEAPF32[$1 + 96 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 36 >> 2]; + HEAPF32[$1 + 100 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 40 >> 2]; + __stack_pointer = $2 + 16 | 0; + return $1; +} + +function emscripten__internal__MethodInvoker_void_20_28b2PolygonShape____29_28b2MassData__2c_20float_29_20const_2c_20void_2c_20b2PolygonShape_20const__2c_20b2MassData__2c_20float___invoke_28void_20_28b2PolygonShape____20const__29_28b2MassData__2c_20float_29_20const_2c_20b2PolygonShape_20const__2c_20b2MassData__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2PolygonShape_20const__2c_20void___fromWireType_28b2PolygonShape_20const__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2MassData__2c_20void___fromWireType_28b2MassData__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______operator_28_29_5babi_v160004_5d_28std____2____tree_node_b2Fixture__2c_20void____29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAP8[$0 + 4 | 0] & 1) { + void_20std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______destroy_5babi_v160004_5d_b2Fixture__2c_20void_2c_20void__28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20b2Fixture___29(HEAP32[$0 >> 2], std____2____tree_key_value_types_b2Fixture______get_ptr_5babi_v160004_5d_28b2Fixture___29(HEAP32[$2 + 8 >> 2] + 16 | 0)); + } + if (HEAP32[$2 + 8 >> 2]) { + std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______deallocate_5babi_v160004_5d_28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20unsigned_20long_29(HEAP32[$0 >> 2], HEAP32[$2 + 8 >> 2], 1); + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2CircleShape____29_28b2MassData__2c_20float_29_20const_2c_20void_2c_20b2CircleShape_20const__2c_20b2MassData__2c_20float___invoke_28void_20_28b2CircleShape____20const__29_28b2MassData__2c_20float_29_20const_2c_20b2CircleShape_20const__2c_20b2MassData__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2CircleShape_20const__2c_20void___fromWireType_28b2CircleShape_20const__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2MassData__2c_20void___fromWireType_28b2MassData__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function std____2__reverse_iterator_int___20std____2__move_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 40 >> 2] = $0; + HEAP32[$3 + 36 >> 2] = $1; + HEAP32[$3 + 32 >> 2] = $2; + HEAP32[$3 + 20 >> 2] = HEAP32[$3 + 40 >> 2]; + HEAP32[$3 + 16 >> 2] = HEAP32[$3 + 36 >> 2]; + HEAP32[$3 + 12 >> 2] = HEAP32[$3 + 32 >> 2]; + std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____20std____2____move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($3 + 24 | 0, HEAP32[$3 + 20 >> 2], HEAP32[$3 + 16 >> 2], HEAP32[$3 + 12 >> 2]); + HEAP32[$3 + 44 >> 2] = HEAP32[($3 + 24 | 0) + 4 >> 2]; + __stack_pointer = $3 + 48 | 0; + return HEAP32[$3 + 44 >> 2]; +} + +function b2Mat33__Solve22_28b2Vec2_20const__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $1; + HEAP32[$3 + 24 >> 2] = $2; + $1 = HEAP32[$3 + 28 >> 2]; + HEAPF32[$3 + 20 >> 2] = HEAPF32[$1 >> 2]; + HEAPF32[$3 + 16 >> 2] = HEAPF32[$1 + 12 >> 2]; + HEAPF32[$3 + 12 >> 2] = HEAPF32[$1 + 4 >> 2]; + HEAPF32[$3 + 8 >> 2] = HEAPF32[$1 + 16 >> 2]; + HEAPF32[$3 + 4 >> 2] = Math_fround(HEAPF32[$3 + 20 >> 2] * HEAPF32[$3 + 8 >> 2]) - Math_fround(HEAPF32[$3 + 16 >> 2] * HEAPF32[$3 + 12 >> 2]); + if (HEAPF32[$3 + 4 >> 2] != Math_fround(0)) { + HEAPF32[$3 + 4 >> 2] = Math_fround(1) / HEAPF32[$3 + 4 >> 2]; + } + b2Vec2__b2Vec2_28_29($0); + HEAPF32[$0 >> 2] = HEAPF32[$3 + 4 >> 2] * Math_fround(Math_fround(HEAPF32[$3 + 8 >> 2] * HEAPF32[HEAP32[$3 + 24 >> 2] >> 2]) - Math_fround(HEAPF32[$3 + 16 >> 2] * HEAPF32[HEAP32[$3 + 24 >> 2] + 4 >> 2])); + HEAPF32[$0 + 4 >> 2] = HEAPF32[$3 + 4 >> 2] * Math_fround(Math_fround(HEAPF32[$3 + 20 >> 2] * HEAPF32[HEAP32[$3 + 24 >> 2] + 4 >> 2]) - Math_fround(HEAPF32[$3 + 12 >> 2] * HEAPF32[HEAP32[$3 + 24 >> 2] >> 2])); + __stack_pointer = $3 + 32 | 0; +} + +function b2Mat22__Solve_28b2Vec2_20const__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $1; + HEAP32[$3 + 24 >> 2] = $2; + $1 = HEAP32[$3 + 28 >> 2]; + HEAPF32[$3 + 20 >> 2] = HEAPF32[$1 >> 2]; + HEAPF32[$3 + 16 >> 2] = HEAPF32[$1 + 8 >> 2]; + HEAPF32[$3 + 12 >> 2] = HEAPF32[$1 + 4 >> 2]; + HEAPF32[$3 + 8 >> 2] = HEAPF32[$1 + 12 >> 2]; + HEAPF32[$3 + 4 >> 2] = Math_fround(HEAPF32[$3 + 20 >> 2] * HEAPF32[$3 + 8 >> 2]) - Math_fround(HEAPF32[$3 + 16 >> 2] * HEAPF32[$3 + 12 >> 2]); + if (HEAPF32[$3 + 4 >> 2] != Math_fround(0)) { + HEAPF32[$3 + 4 >> 2] = Math_fround(1) / HEAPF32[$3 + 4 >> 2]; + } + b2Vec2__b2Vec2_28_29($0); + HEAPF32[$0 >> 2] = HEAPF32[$3 + 4 >> 2] * Math_fround(Math_fround(HEAPF32[$3 + 8 >> 2] * HEAPF32[HEAP32[$3 + 24 >> 2] >> 2]) - Math_fround(HEAPF32[$3 + 16 >> 2] * HEAPF32[HEAP32[$3 + 24 >> 2] + 4 >> 2])); + HEAPF32[$0 + 4 >> 2] = HEAPF32[$3 + 4 >> 2] * Math_fround(Math_fround(HEAPF32[$3 + 20 >> 2] * HEAPF32[HEAP32[$3 + 24 >> 2] + 4 >> 2]) - Math_fround(HEAPF32[$3 + 12 >> 2] * HEAPF32[HEAP32[$3 + 24 >> 2] >> 2])); + __stack_pointer = $3 + 32 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______annotate_shrink_5babi_v160004_5d_28unsigned_20long_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + std____2__vector_int_2c_20std____2__allocator_int______annotate_contiguous_container_5babi_v160004_5d_28void_20const__2c_20void_20const__2c_20void_20const__2c_20void_20const__29_20const($0, std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0), std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_int_2c_20std____2__allocator_int____capacity_5babi_v160004_5d_28_29_20const($0) << 2) | 0, std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0) + (HEAP32[$2 + 8 >> 2] << 2) | 0, std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const($0) << 2) | 0); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______annotate_new_5babi_v160004_5d_28unsigned_20long_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + std____2__vector_int_2c_20std____2__allocator_int______annotate_contiguous_container_5babi_v160004_5d_28void_20const__2c_20void_20const__2c_20void_20const__2c_20void_20const__29_20const($0, std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0), std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_int_2c_20std____2__allocator_int____capacity_5babi_v160004_5d_28_29_20const($0) << 2) | 0, std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0) + (std____2__vector_int_2c_20std____2__allocator_int____capacity_5babi_v160004_5d_28_29_20const($0) << 2) | 0, std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0) + (HEAP32[$2 + 8 >> 2] << 2) | 0); + __stack_pointer = $2 + 16 | 0; +} +function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28b2DrawWrapper__29___invoke_b2DrawWrapper__28char_20const__2c_20void_20_28__29_28b2DrawWrapper__29_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 496; + $0 = emscripten__internal__TypeID_b2DrawWrapper_2c_20void___get_28_29(); + $1 = HEAP32[$2 + 24 >> 2]; + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2DrawWrapper____getCount_28_29_20const($2 + 19 | 0); + $4 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2DrawWrapper____getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_class_function($0 | 0, $1 | 0, $3 | 0, $4 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], void_20_28__emscripten__internal__getContext_void_20_28__29_28b2DrawWrapper__29__28void_20_28__20const__29_28b2DrawWrapper__29_29_29_28b2DrawWrapper__29($2 + 20 | 0) | 0, 0, 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2EdgeShape____29_28b2MassData__2c_20float_29_20const_2c_20void_2c_20b2EdgeShape_20const__2c_20b2MassData__2c_20float___invoke_28void_20_28b2EdgeShape____20const__29_28b2MassData__2c_20float_29_20const_2c_20b2EdgeShape_20const__2c_20b2MassData__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2EdgeShape_20const__2c_20void___fromWireType_28b2EdgeShape_20const__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2MassData__2c_20void___fromWireType_28b2MassData__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_std____2__vector_int_2c_20std____2__allocator_int____20_28__29_28_29___invoke_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 696; + $0 = emscripten__internal__TypeID_std____2__vector_int_2c_20std____2__allocator_int___2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_std____2__vector_int_2c_20std____2__allocator_int______getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_std____2__vector_int_2c_20std____2__allocator_int______getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function b2MotorJoint__b2MotorJoint_28b2MotorJointDef_20const__29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + b2Joint__b2Joint_28b2JointDef_20const__29($0, HEAP32[$2 + 8 >> 2]); + HEAP32[$0 >> 2] = 18904; + b2Vec2__b2Vec2_28_29($0 + 68 | 0); + b2Vec2__b2Vec2_28_29($0 + 80 | 0); + b2Vec2__b2Vec2_28_29($0 + 112 | 0); + b2Vec2__b2Vec2_28_29($0 + 120 | 0); + b2Vec2__b2Vec2_28_29($0 + 128 | 0); + b2Vec2__b2Vec2_28_29($0 + 136 | 0); + b2Vec2__b2Vec2_28_29($0 + 144 | 0); + b2Mat22__b2Mat22_28_29($0 + 172 | 0); + $1 = HEAP32[$2 + 8 >> 2]; + $3 = HEAP32[$1 + 24 >> 2]; + HEAP32[$0 + 68 >> 2] = HEAP32[$1 + 20 >> 2]; + HEAP32[$0 + 72 >> 2] = $3; + HEAPF32[$0 + 76 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 28 >> 2]; + b2Vec2__SetZero_28_29($0 + 80 | 0); + HEAPF32[$0 + 88 >> 2] = 0; + HEAPF32[$0 + 92 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 32 >> 2]; + HEAPF32[$0 + 96 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 36 >> 2]; + HEAPF32[$0 + 100 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 40 >> 2]; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function b2Sweep__GetTransform_28b2Transform__2c_20float_29_20const($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 44 >> 2] = $0; + HEAP32[$3 + 40 >> 2] = $1; + HEAPF32[$3 + 36 >> 2] = $2; + $2 = HEAPF32[$3 + 36 >> 2]; + $4 = HEAP32[$3 + 44 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 12 | 0, $4 + 16 | 0, $4 + 8 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 20 | 0, $2, $3 + 12 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 28 | 0, $4 + 8 | 0, $3 + 20 | 0); + $5 = HEAP32[$3 + 32 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 40 >> 2]; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $5; + HEAPF32[$3 + 8 >> 2] = Math_fround(HEAPF32[$3 + 36 >> 2] * Math_fround(HEAPF32[$4 + 28 >> 2] - HEAPF32[$4 + 24 >> 2])) + HEAPF32[$4 + 24 >> 2]; + b2Rot__Set_28float_29(HEAP32[$3 + 40 >> 2] + 8 | 0, HEAPF32[$3 + 8 >> 2]); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($3, HEAP32[$3 + 40 >> 2] + 8 | 0, $4); + b2Vec2__operator___28b2Vec2_20const__29_1(HEAP32[$3 + 40 >> 2], $3); + __stack_pointer = $3 + 48 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______destroy_vector__operator_28_29_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2__vector_int_2c_20std____2__allocator_int______annotate_delete_5babi_v160004_5d_28_29_20const(HEAP32[$0 >> 2]); + void_20std____2____debug_db_erase_c_5babi_v160004_5d_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____29(HEAP32[$0 >> 2]); + if (HEAP32[HEAP32[$0 >> 2] >> 2]) { + std____2__vector_int_2c_20std____2__allocator_int______clear_5babi_v160004_5d_28_29(HEAP32[$0 >> 2]); + std____2__allocator_traits_std____2__allocator_int____deallocate_5babi_v160004_5d_28std____2__allocator_int___2c_20int__2c_20unsigned_20long_29(std____2__vector_int_2c_20std____2__allocator_int______alloc_5babi_v160004_5d_28_29(HEAP32[$0 >> 2]), HEAP32[HEAP32[$0 >> 2] >> 2], std____2__vector_int_2c_20std____2__allocator_int____capacity_5babi_v160004_5d_28_29_20const(HEAP32[$0 >> 2])); + } + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2Shape__20_28b2PolygonShape____29_28b2BlockAllocator__29_20const_2c_20b2Shape__2c_20b2PolygonShape_20const__2c_20b2BlockAllocator____invoke_28b2Shape__20_28b2PolygonShape____20const__29_28b2BlockAllocator__29_20const_2c_20b2PolygonShape_20const__2c_20b2BlockAllocator__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2PolygonShape_20const__2c_20void___fromWireType_28b2PolygonShape_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2Shape__2c_20void___toWireType_28b2Shape__29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2BlockAllocator__2c_20void___fromWireType_28b2BlockAllocator__29(HEAP32[$3 + 4 >> 2])) | 0); + __stack_pointer = $3 + 16 | 0; + return $0 | 0; +} + +function void_20std____2__vector_int_2c_20std____2__allocator_int______construct_one_at_end_5babi_v160004_5d_int_20const___28int_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + std____2__vector_int_2c_20std____2__allocator_int_____ConstructTransaction___ConstructTransaction_5babi_v160004_5d_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_29($2 + 12 | 0, $0, 1); + void_20std____2__allocator_traits_std____2__allocator_int____construct_5babi_v160004_5d_int_2c_20int_20const__2c_20void__28std____2__allocator_int___2c_20int__2c_20int_20const__29(std____2__vector_int_2c_20std____2__allocator_int______alloc_5babi_v160004_5d_28_29($0), int__20std____2____to_address_5babi_v160004_5d_int__28int__29(HEAP32[$2 + 16 >> 2]), HEAP32[$2 + 24 >> 2]); + HEAP32[$2 + 16 >> 2] = HEAP32[$2 + 16 >> 2] + 4; + std____2__vector_int_2c_20std____2__allocator_int_____ConstructTransaction____ConstructTransaction_5babi_v160004_5d_28_29($2 + 12 | 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Shape____29_28b2MassData__2c_20float_29_20const_2c_20void_2c_20b2Shape_20const__2c_20b2MassData__2c_20float___invoke_28void_20_28b2Shape____20const__29_28b2MassData__2c_20float_29_20const_2c_20b2Shape_20const__2c_20b2MassData__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2Shape_20const__2c_20void___fromWireType_28b2Shape_20const__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2MassData__2c_20void___fromWireType_28b2MassData__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2Shape__20_28b2CircleShape____29_28b2BlockAllocator__29_20const_2c_20b2Shape__2c_20b2CircleShape_20const__2c_20b2BlockAllocator____invoke_28b2Shape__20_28b2CircleShape____20const__29_28b2BlockAllocator__29_20const_2c_20b2CircleShape_20const__2c_20b2BlockAllocator__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2CircleShape_20const__2c_20void___fromWireType_28b2CircleShape_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2Shape__2c_20void___toWireType_28b2Shape__29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2BlockAllocator__2c_20void___fromWireType_28b2BlockAllocator__29(HEAP32[$3 + 4 >> 2])) | 0); + __stack_pointer = $3 + 16 | 0; + return $0 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char_____basic_string_28_29($0) { + void_20std____2____debug_db_erase_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($0); + if (std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______is_long_5babi_v160004_5d_28_29_20const($0)) { + std____2__allocator_traits_std____2__allocator_char____deallocate_5babi_v160004_5d_28std____2__allocator_char___2c_20char__2c_20unsigned_20long_29(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29($0), std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29($0), std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_cap_5babi_v160004_5d_28_29_20const($0)); + } + return $0; +} + +function __cxxabiv1____vmi_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $5 = 0; + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 + 8 >> 2], 0)) { + __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3); + return; + } + $4 = HEAP32[$0 + 12 >> 2]; + $5 = $0 + 16 | 0; + __cxxabiv1____base_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($5, $1, $2, $3); + $0 = $0 + 24 | 0; + $4 = ($4 << 3) + $5 | 0; + label$2: { + if ($0 >>> 0 >= $4 >>> 0) { + break label$2; + } + while (1) { + __cxxabiv1____base_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3); + if (HEAPU8[$1 + 54 | 0]) { + break label$2; + } + $0 = $0 + 8 | 0; + if ($4 >>> 0 > $0 >>> 0) { + continue; + } + break; + } + } +} + +function b2Joint__b2Joint_28b2JointDef_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 4 >> 2] = $1; + $0 = HEAP32[$2 + 8 >> 2]; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$0 >> 2] = 18828; + if (HEAP32[HEAP32[$2 + 4 >> 2] + 8 >> 2] == HEAP32[HEAP32[$2 + 4 >> 2] + 12 >> 2]) { + __assert_fail(10961, 4569, 239, 2778); + wasm2js_trap(); + } + HEAP32[$0 + 4 >> 2] = HEAP32[HEAP32[$2 + 4 >> 2] >> 2]; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAP32[$0 + 48 >> 2] = HEAP32[HEAP32[$2 + 4 >> 2] + 8 >> 2]; + HEAP32[$0 + 52 >> 2] = HEAP32[HEAP32[$2 + 4 >> 2] + 12 >> 2]; + HEAP32[$0 + 56 >> 2] = 0; + HEAP8[$0 + 61 | 0] = HEAP8[HEAP32[$2 + 4 >> 2] + 16 | 0] & 1; + HEAP8[$0 + 60 | 0] = 0; + HEAP32[$0 + 64 >> 2] = HEAP32[HEAP32[$2 + 4 >> 2] + 4 >> 2]; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 36 >> 2] = 0; + HEAP32[$0 + 32 >> 2] = 0; + HEAP32[$0 + 40 >> 2] = 0; + HEAP32[$0 + 44 >> 2] = 0; + __stack_pointer = $2 + 16 | 0; + return HEAP32[$2 + 12 >> 2]; +} + +function b2DistanceProxy__GetSupport_28b2Vec2_20const__29_20const($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + HEAP32[$2 + 20 >> 2] = 0; + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$0 + 16 >> 2], HEAP32[$2 + 24 >> 2]), + HEAPF32[wasm2js_i32$0 + 16 >> 2] = wasm2js_f32$0; + HEAP32[$2 + 12 >> 2] = 1; + while (1) { + if (HEAP32[$2 + 12 >> 2] < HEAP32[$0 + 20 >> 2]) { + wasm2js_i32$0 = $2, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$0 + 16 >> 2] + (HEAP32[$2 + 12 >> 2] << 3) | 0, HEAP32[$2 + 24 >> 2]), + HEAPF32[wasm2js_i32$0 + 8 >> 2] = wasm2js_f32$0; + if (HEAPF32[$2 + 8 >> 2] > HEAPF32[$2 + 16 >> 2]) { + HEAP32[$2 + 20 >> 2] = HEAP32[$2 + 12 >> 2]; + HEAPF32[$2 + 16 >> 2] = HEAPF32[$2 + 8 >> 2]; + } + HEAP32[$2 + 12 >> 2] = HEAP32[$2 + 12 >> 2] + 1; + continue; + } + break; + } + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 20 >> 2]; +} + +function emscripten__internal__MethodInvoker_void_20_28b2PrismaticJoint____29_28float_2c_20float_29_2c_20void_2c_20b2PrismaticJoint__2c_20float_2c_20float___invoke_28void_20_28b2PrismaticJoint____20const__29_28float_2c_20float_29_2c_20b2PrismaticJoint__2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAPF32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $5 = emscripten__internal__BindingType_b2PrismaticJoint__2c_20void___fromWireType_28b2PrismaticJoint__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $5 = ($1 >> 1) + $5 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$5 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($5, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 + 4 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2Shape__20_28b2EdgeShape____29_28b2BlockAllocator__29_20const_2c_20b2Shape__2c_20b2EdgeShape_20const__2c_20b2BlockAllocator____invoke_28b2Shape__20_28b2EdgeShape____20const__29_28b2BlockAllocator__29_20const_2c_20b2EdgeShape_20const__2c_20b2BlockAllocator__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2EdgeShape_20const__2c_20void___fromWireType_28b2EdgeShape_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2Shape__2c_20void___toWireType_28b2Shape__29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2BlockAllocator__2c_20void___fromWireType_28b2BlockAllocator__29(HEAP32[$3 + 4 >> 2])) | 0); + __stack_pointer = $3 + 16 | 0; + return $0 | 0; +} + +function b2TestOverlap_28b2AABB_20const__2c_20b2AABB_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 48 | 0; + __stack_pointer = $2; + HEAP32[$2 + 40 >> 2] = $0; + HEAP32[$2 + 36 >> 2] = $1; + b2Vec2__b2Vec2_28_29($2 + 24 | 0); + b2Vec2__b2Vec2_28_29($2 + 16 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 8 | 0, HEAP32[$2 + 36 >> 2], HEAP32[$2 + 40 >> 2] + 8 | 0); + $0 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$2 + 8 >> 2]; + HEAP32[$2 + 24 >> 2] = $1; + HEAP32[$2 + 28 >> 2] = $0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2] + 8 | 0); + $1 = HEAP32[$2 + 4 >> 2]; + $0 = HEAP32[$2 >> 2]; + HEAP32[$2 + 16 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + label$1: { + if (HEAPF32[$2 + 24 >> 2] > Math_fround(0) | HEAPF32[$2 + 28 >> 2] > Math_fround(0)) { + HEAP8[$2 + 47 | 0] = 0; + break label$1; + } + if (HEAPF32[$2 + 16 >> 2] > Math_fround(0) | HEAPF32[$2 + 20 >> 2] > Math_fround(0)) { + HEAP8[$2 + 47 | 0] = 0; + break label$1; + } + HEAP8[$2 + 47 | 0] = 1; + } + __stack_pointer = $2 + 48 | 0; + return HEAP8[$2 + 47 | 0] & 1; +} + +function emscripten__internal__MethodInvoker_void_20_28b2RevoluteJoint____29_28float_2c_20float_29_2c_20void_2c_20b2RevoluteJoint__2c_20float_2c_20float___invoke_28void_20_28b2RevoluteJoint____20const__29_28float_2c_20float_29_2c_20b2RevoluteJoint__2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAPF32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $5 = emscripten__internal__BindingType_b2RevoluteJoint__2c_20void___fromWireType_28b2RevoluteJoint__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $5 = ($1 >> 1) + $5 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$5 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($5, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 + 4 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function b2ChainAndPolygonContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[$4 + 76 >> 2] = $0; + HEAP32[$4 + 72 >> 2] = $1; + HEAP32[$4 + 68 >> 2] = $2; + HEAP32[$4 + 64 >> 2] = $3; + $0 = HEAP32[$4 + 76 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$0 + 48 >> 2]), + HEAP32[wasm2js_i32$0 + 60 >> 2] = wasm2js_i32$1; + b2EdgeShape__b2EdgeShape_28_29($4 + 12 | 0); + b2ChainShape__GetChildEdge_28b2EdgeShape__2c_20int_29_20const(HEAP32[$4 + 60 >> 2], $4 + 12 | 0, HEAP32[$0 + 56 >> 2]); + b2CollideEdgeAndPolygon_28b2Manifold__2c_20b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__29(HEAP32[$4 + 72 >> 2], $4 + 12 | 0, HEAP32[$4 + 68 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 52 >> 2]), HEAP32[$4 + 64 >> 2]); + b2EdgeShape___b2EdgeShape_28_29($4 + 12 | 0); + __stack_pointer = $4 + 80 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2ContactListenerWrapper____29_28unsigned_20int_29_2c_20bool_2c_20b2ContactListenerWrapper__2c_20unsigned_20int___invoke_28bool_20_28b2ContactListenerWrapper____20const__29_28unsigned_20int_29_2c_20b2ContactListenerWrapper__2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2ContactListenerWrapper__2c_20void___fromWireType_28b2ContactListenerWrapper__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$3 + 4 >> 2])) & 1); + __stack_pointer = $3 + 16 | 0; + return $0 & 1; +} + +function b2ChainAndCircleContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[$4 + 76 >> 2] = $0; + HEAP32[$4 + 72 >> 2] = $1; + HEAP32[$4 + 68 >> 2] = $2; + HEAP32[$4 + 64 >> 2] = $3; + $0 = HEAP32[$4 + 76 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = b2Fixture__GetShape_28_29(HEAP32[$0 + 48 >> 2]), + HEAP32[wasm2js_i32$0 + 60 >> 2] = wasm2js_i32$1; + b2EdgeShape__b2EdgeShape_28_29($4 + 12 | 0); + b2ChainShape__GetChildEdge_28b2EdgeShape__2c_20int_29_20const(HEAP32[$4 + 60 >> 2], $4 + 12 | 0, HEAP32[$0 + 56 >> 2]); + b2CollideEdgeAndCircle_28b2Manifold__2c_20b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2CircleShape_20const__2c_20b2Transform_20const__29(HEAP32[$4 + 72 >> 2], $4 + 12 | 0, HEAP32[$4 + 68 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 52 >> 2]), HEAP32[$4 + 64 >> 2]); + b2EdgeShape___b2EdgeShape_28_29($4 + 12 | 0); + __stack_pointer = $4 + 80 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____resize_28unsigned_20long_2c_20b2Vec2_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const($0), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1: { + if (HEAPU32[$3 >> 2] < HEAPU32[$3 + 8 >> 2]) { + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______append_28unsigned_20long_2c_20b2Vec2_20const__29($0, HEAP32[$3 + 8 >> 2] - HEAP32[$3 >> 2] | 0, HEAP32[$3 + 4 >> 2]); + break label$1; + } + if (HEAPU32[$3 >> 2] > HEAPU32[$3 + 8 >> 2]) { + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______destruct_at_end_5babi_v160004_5d_28b2Vec2__29($0, HEAP32[$0 >> 2] + (HEAP32[$3 + 8 >> 2] << 3) | 0); + } + } + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2PolygonShape____29_28float_2c_20float_29_2c_20void_2c_20b2PolygonShape__2c_20float_2c_20float___invoke_28void_20_28b2PolygonShape____20const__29_28float_2c_20float_29_2c_20b2PolygonShape__2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAPF32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $5 = emscripten__internal__BindingType_b2PolygonShape__2c_20void___fromWireType_28b2PolygonShape__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $5 = ($1 >> 1) + $5 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$5 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($5, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 + 4 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function void_20emscripten__function_b2Vec2_2c_20b2Transform_20const__2c_20b2Vec2_20const__2c_20emscripten__allow_raw_pointers__28char_20const__2c_20b2Vec2_20_28__29_28b2Transform_20const__2c_20b2Vec2_20const__29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + HEAP32[$2 + 8 >> 2] = 399; + $0 = HEAP32[$2 + 20 >> 2]; + $1 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Vec2_2c_20b2Transform_20const__2c_20b2Vec2_20const____getCount_28_29_20const($2 + 15 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Vec2_2c_20b2Transform_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($2 + 15 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 8 >> 2], HEAP32[$2 + 16 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_float_20_28b2PrismaticJoint____29_28_29_20const_2c_20float_2c_20b2PrismaticJoint_20const____invoke_28float_20_28b2PrismaticJoint____20const__29_28_29_20const_2c_20b2PrismaticJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2PrismaticJoint_20const__2c_20void___fromWireType_28b2PrismaticJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($1)), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($4); +} + +function __cxxabiv1____class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 + 8 >> 2], $4)) { + __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($1, $1, $2, $3); + return; + } + label$2: { + if (!is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 >> 2], $4)) { + break label$2; + } + if (!(HEAP32[$1 + 16 >> 2] != ($2 | 0) & HEAP32[$1 + 20 >> 2] != ($2 | 0))) { + if (($3 | 0) != 1) { + break label$2; + } + HEAP32[$1 + 32 >> 2] = 1; + return; + } + HEAP32[$1 + 20 >> 2] = $2; + HEAP32[$1 + 32 >> 2] = $3; + HEAP32[$1 + 40 >> 2] = HEAP32[$1 + 40 >> 2] + 1; + if (!(HEAP32[$1 + 36 >> 2] != 1 | HEAP32[$1 + 24 >> 2] != 2)) { + HEAP8[$1 + 54 | 0] = 1; + } + HEAP32[$1 + 44 >> 2] = 4; + } +} + +function emscripten__internal__MethodInvoker_float_20_28b2RevoluteJoint____29_28_29_20const_2c_20float_2c_20b2RevoluteJoint_20const____invoke_28float_20_28b2RevoluteJoint____20const__29_28_29_20const_2c_20b2RevoluteJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2RevoluteJoint_20const__2c_20void___fromWireType_28b2RevoluteJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($1)), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($4); +} + +function emscripten__internal__MethodInvoker_float_20_28b2DistanceJoint____29_28_29_20const_2c_20float_2c_20b2DistanceJoint_20const____invoke_28float_20_28b2DistanceJoint____20const__29_28_29_20const_2c_20b2DistanceJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2DistanceJoint_20const__2c_20void___fromWireType_28b2DistanceJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($1)), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($4); +} + +function b2RopeJoint__b2RopeJoint_28b2RopeJointDef_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Joint__b2Joint_28b2JointDef_20const__29($1, HEAP32[$2 + 8 >> 2]); + HEAP32[$1 >> 2] = 19444; + b2Vec2__b2Vec2_28_29($1 + 68 | 0); + b2Vec2__b2Vec2_28_29($1 + 76 | 0); + b2Vec2__b2Vec2_28_29($1 + 104 | 0); + b2Vec2__b2Vec2_28_29($1 + 112 | 0); + b2Vec2__b2Vec2_28_29($1 + 120 | 0); + b2Vec2__b2Vec2_28_29($1 + 128 | 0); + b2Vec2__b2Vec2_28_29($1 + 136 | 0); + $3 = HEAP32[$2 + 8 >> 2]; + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$1 + 68 >> 2] = $4; + HEAP32[$1 + 72 >> 2] = $0; + $3 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$3 + 28 >> 2]; + $4 = HEAP32[$3 + 32 >> 2]; + HEAP32[$1 + 76 >> 2] = $0; + HEAP32[$1 + 80 >> 2] = $4; + HEAPF32[$1 + 84 >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] + 36 >> 2]; + HEAPF32[$1 + 160 >> 2] = 0; + HEAPF32[$1 + 92 >> 2] = 0; + HEAPF32[$1 + 88 >> 2] = 0; + __stack_pointer = $2 + 16 | 0; + return $1; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20_28b2RopeJoint____29_28float_29_20const_2c_20b2Vec2_2c_20b2RopeJoint_20const__2c_20float___invoke_28b2Vec2_20_28b2RopeJoint____20const__29_28float_29_20const_2c_20b2RopeJoint_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAPF32[$3 + 20 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2RopeJoint_20const__2c_20void___fromWireType_28b2RopeJoint_20const__29(HEAP32[$3 + 24 >> 2]); + $0 = HEAP32[$3 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($3 + 12 | 0, $4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 20 >> 2])); + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2___29($3 + 12 | 0); + __stack_pointer = $3 + 32 | 0; + return $0 | 0; +} + +function emscripten__internal__MethodCaller_void_2c_20unsigned_20int__2c_20unsigned_20int____call_28emscripten___EM_VAL__2c_20char_20const__2c_20unsigned_20int__2c_20unsigned_20int__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[$4 + 44 >> 2] = $0; + HEAP32[$4 + 40 >> 2] = $1; + HEAP32[$4 + 36 >> 2] = $2; + HEAP32[$4 + 32 >> 2] = $3; + wasm2js_i32$0 = $4, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20unsigned_20int__2c_20unsigned_20int____get_method_caller_28_29(), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_unsigned_20int__2c_20unsigned_20int____WireTypePack_28unsigned_20int__2c_20unsigned_20int__29($4 + 8 | 0, HEAP32[$4 + 36 >> 2], HEAP32[$4 + 32 >> 2]); + _emval_call_void_method(HEAP32[$4 + 28 >> 2], HEAP32[$4 + 44 >> 2], HEAP32[$4 + 40 >> 2], emscripten__internal__WireTypePack_unsigned_20int__2c_20unsigned_20int____operator_20void_20const__28_29_20const($4 + 8 | 0) | 0); + __stack_pointer = $4 + 48 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int____resize_28unsigned_20long_2c_20int_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const($0), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1: { + if (HEAPU32[$3 >> 2] < HEAPU32[$3 + 8 >> 2]) { + std____2__vector_int_2c_20std____2__allocator_int______append_28unsigned_20long_2c_20int_20const__29($0, HEAP32[$3 + 8 >> 2] - HEAP32[$3 >> 2] | 0, HEAP32[$3 + 4 >> 2]); + break label$1; + } + if (HEAPU32[$3 >> 2] > HEAPU32[$3 + 8 >> 2]) { + std____2__vector_int_2c_20std____2__allocator_int______destruct_at_end_5babi_v160004_5d_28int__29($0, HEAP32[$0 >> 2] + (HEAP32[$3 + 8 >> 2] << 2) | 0); + } + } + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2Fixture__20_28b2Body____29_28b2FixtureDef_20const__29_2c_20b2Fixture__2c_20b2Body__2c_20b2FixtureDef_20const____invoke_28b2Fixture__20_28b2Body____20const__29_28b2FixtureDef_20const__29_2c_20b2Body__2c_20b2FixtureDef_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2Fixture__2c_20void___toWireType_28b2Fixture__29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2FixtureDef_20const__2c_20void___fromWireType_28b2FixtureDef_20const__29(HEAP32[$3 + 4 >> 2])) | 0); + __stack_pointer = $3 + 16 | 0; + return $0 | 0; +} + +function std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______release_5babi_v160004_5d_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + wasm2js_i32$0 = $1, wasm2js_i32$1 = HEAP32[std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______first_5babi_v160004_5d_28_29($0) >> 2], + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______first_5babi_v160004_5d_28_29($0), + wasm2js_i32$1 = 0, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function memchr($0, $1, $2) { + var $3 = 0, $4 = 0; + $3 = ($2 | 0) != 0; + label$1: { + label$2: { + label$3: { + if (!($0 & 3) | !$2) { + break label$3; + } + $4 = $1 & 255; + while (1) { + if (HEAPU8[$0 | 0] == ($4 | 0)) { + break label$2; + } + $2 = $2 - 1 | 0; + $3 = ($2 | 0) != 0; + $0 = $0 + 1 | 0; + if (!($0 & 3)) { + break label$3; + } + if ($2) { + continue; + } + break; + } + } + if (!$3) { + break label$1; + } + if (!(HEAPU8[$0 | 0] == ($1 & 255) | $2 >>> 0 < 4)) { + $4 = Math_imul($1 & 255, 16843009); + while (1) { + $3 = HEAP32[$0 >> 2] ^ $4; + if (($3 ^ -1) & $3 - 16843009 & -2139062144) { + break label$2; + } + $0 = $0 + 4 | 0; + $2 = $2 - 4 | 0; + if ($2 >>> 0 > 3) { + continue; + } + break; + } + } + if (!$2) { + break label$1; + } + } + $3 = $1 & 255; + while (1) { + if (HEAPU8[$0 | 0] == ($3 | 0)) { + return $0; + } + $0 = $0 + 1 | 0; + $2 = $2 - 1 | 0; + if ($2) { + continue; + } + break; + } + } + return 0; +} + +function b2World__RayCast_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[$4 + 44 >> 2] = $0; + HEAP32[$4 + 40 >> 2] = $1; + HEAP32[$4 + 36 >> 2] = $2; + HEAP32[$4 + 32 >> 2] = $3; + $3 = HEAP32[$4 + 44 >> 2]; + HEAP32[$4 + 24 >> 2] = $3 + 102868; + HEAP32[$4 + 28 >> 2] = HEAP32[$4 + 40 >> 2]; + b2RayCastInput__b2RayCastInput_28_29($4 + 4 | 0); + HEAPF32[$4 + 20 >> 2] = 1; + $2 = HEAP32[$4 + 36 >> 2]; + $0 = HEAP32[$2 >> 2]; + $1 = HEAP32[$2 + 4 >> 2]; + $2 = $0; + $0 = $4 + 4 | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + $2 = HEAP32[$4 + 32 >> 2]; + $1 = HEAP32[$2 >> 2]; + $0 = HEAP32[$2 + 4 >> 2]; + $2 = $1; + $1 = $4 + 4 | 0; + HEAP32[$1 + 8 >> 2] = $2; + HEAP32[$1 + 12 >> 2] = $0; + void_20b2BroadPhase__RayCast_b2WorldRayCastWrapper__28b2WorldRayCastWrapper__2c_20b2RayCastInput_20const__29_20const($3 + 102868 | 0, $4 + 24 | 0, $4 + 4 | 0); + __stack_pointer = $4 + 48 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2Vec2_20const__2c_20float_29_2c_20void_2c_20b2Body__2c_20b2Vec2_20const__2c_20float___invoke_28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20float_29_2c_20b2Body__2c_20b2Vec2__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $2 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2Vec2_20const__2c_20bool_29_2c_20void_2c_20b2Body__2c_20b2Vec2_20const__2c_20bool___invoke_28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20bool_29_2c_20b2Body__2c_20b2Vec2__2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP8[$4 + 3 | 0] = $3 & 1; + $2 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$4 + 3 | 0] & 1) & 1); + __stack_pointer = $4 + 16 | 0; +} + +function void_20emscripten__function_void_2c_20b2Joint__2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28b2Joint__2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + HEAP32[$2 + 8 >> 2] = 398; + $0 = HEAP32[$2 + 20 >> 2]; + $1 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Joint__2c_20float_2c_20float___getCount_28_29_20const($2 + 15 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Joint__2c_20float_2c_20float___getTypes_28_29_20const($2 + 15 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0, HEAP32[$2 + 8 >> 2], HEAP32[$2 + 16 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_float_20_28b2WheelJoint____29_28_29_20const_2c_20float_2c_20b2WheelJoint_20const____invoke_28float_20_28b2WheelJoint____20const__29_28_29_20const_2c_20b2WheelJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2WheelJoint_20const__2c_20void___fromWireType_28b2WheelJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($1)), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($4); +} + +function emscripten__internal__MethodInvoker_float_20_28b2MouseJoint____29_28_29_20const_2c_20float_2c_20b2MouseJoint_20const____invoke_28float_20_28b2MouseJoint____20const__29_28_29_20const_2c_20b2MouseJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2MouseJoint_20const__2c_20void___fromWireType_28b2MouseJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($1)), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($4); +} + +function emscripten__internal__MethodInvoker_float_20_28b2MotorJoint____29_28_29_20const_2c_20float_2c_20b2MotorJoint_20const____invoke_28float_20_28b2MotorJoint____20const__29_28_29_20const_2c_20b2MotorJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2MotorJoint_20const__2c_20void___fromWireType_28b2MotorJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($1)), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($4); +} + +function emscripten__internal__MethodInvoker_b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const_2c_20b2Vec2_2c_20b2Body_20const__2c_20b2Vec2_20const____invoke_28b2Vec2_20_28b2Body____20const__29_28b2Vec2_20const__29_20const_2c_20b2Body_20const__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Body_20const__2c_20void___fromWireType_28b2Body_20const__29(HEAP32[$3 + 24 >> 2]); + $0 = HEAP32[$3 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($3 + 12 | 0, $2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 20 >> 2])); + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2___29($3 + 12 | 0); + __stack_pointer = $3 + 32 | 0; + return $0 | 0; +} + +function b2World___b2World_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 32 | 0; + __stack_pointer = $1; + HEAP32[$1 + 24 >> 2] = $0; + $0 = HEAP32[$1 + 24 >> 2]; + HEAP32[$1 + 28 >> 2] = $0; + HEAP32[$1 + 20 >> 2] = HEAP32[$0 + 102948 >> 2]; + while (1) { + if (HEAP32[$1 + 20 >> 2]) { + HEAP32[$1 + 16 >> 2] = HEAP32[HEAP32[$1 + 20 >> 2] + 96 >> 2]; + HEAP32[$1 + 12 >> 2] = HEAP32[HEAP32[$1 + 20 >> 2] + 100 >> 2]; + while (1) { + if (HEAP32[$1 + 12 >> 2]) { + HEAP32[$1 + 8 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] + 4 >> 2]; + HEAP32[HEAP32[$1 + 12 >> 2] + 28 >> 2] = 0; + b2Fixture__Destroy_28b2BlockAllocator__29(HEAP32[$1 + 12 >> 2], $0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 + 8 >> 2]; + continue; + } + break; + } + HEAP32[$1 + 20 >> 2] = HEAP32[$1 + 16 >> 2]; + continue; + } + break; + } + b2ContactManager___b2ContactManager_28_29($0 + 102868 | 0); + b2StackAllocator___b2StackAllocator_28_29($0 + 68 | 0); + b2BlockAllocator___b2BlockAllocator_28_29($0); + __stack_pointer = $1 + 32 | 0; + return HEAP32[$1 + 28 >> 2]; +} + +function wcrtomb($0, $1, $2) { + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = 1; + label$1: { + if ($0) { + if ($1 >>> 0 <= 127) { + break label$1; + } + label$3: { + if (!HEAP32[HEAP32[__get_tp() + 96 >> 2] >> 2]) { + if (($1 & -128) == 57216) { + break label$1; + } + break label$3; + } + if ($1 >>> 0 <= 2047) { + HEAP8[$0 + 1 | 0] = $1 & 63 | 128; + HEAP8[$0 | 0] = $1 >>> 6 | 192; + return 2; + } + if (!(($1 & -8192) != 57344 & $1 >>> 0 >= 55296)) { + HEAP8[$0 + 2 | 0] = $1 & 63 | 128; + HEAP8[$0 | 0] = $1 >>> 12 | 224; + HEAP8[$0 + 1 | 0] = $1 >>> 6 & 63 | 128; + return 3; + } + if ($1 - 65536 >>> 0 <= 1048575) { + HEAP8[$0 + 3 | 0] = $1 & 63 | 128; + HEAP8[$0 | 0] = $1 >>> 18 | 240; + HEAP8[$0 + 2 | 0] = $1 >>> 6 & 63 | 128; + HEAP8[$0 + 1 | 0] = $1 >>> 12 & 63 | 128; + return 4; + } + } + wasm2js_i32$0 = __errno_location(), wasm2js_i32$1 = 25, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $2 = -1; + } + return $2; + } + HEAP8[$0 | 0] = $1; + return 1; +} + +function emscripten__internal__MethodInvoker_float_20_28b2WeldJoint____29_28_29_20const_2c_20float_2c_20b2WeldJoint_20const____invoke_28float_20_28b2WeldJoint____20const__29_28_29_20const_2c_20b2WeldJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2WeldJoint_20const__2c_20void___fromWireType_28b2WeldJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($1)), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($4); +} + +function emscripten__internal__MethodInvoker_float_20_28b2RopeJoint____29_28_29_20const_2c_20float_2c_20b2RopeJoint_20const____invoke_28float_20_28b2RopeJoint____20const__29_28_29_20const_2c_20b2RopeJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2RopeJoint_20const__2c_20void___fromWireType_28b2RopeJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($1)), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($4); +} + +function emscripten__internal__MethodInvoker_b2Joint__20_28b2World____29_28b2JointDef_20const__29_2c_20b2Joint__2c_20b2World__2c_20b2JointDef_20const____invoke_28b2Joint__20_28b2World____20const__29_28b2JointDef_20const__29_2c_20b2World__2c_20b2JointDef_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2World__2c_20void___fromWireType_28b2World__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2Joint__2c_20void___toWireType_28b2Joint__29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2JointDef_20const__2c_20void___fromWireType_28b2JointDef_20const__29(HEAP32[$3 + 4 >> 2])) | 0); + __stack_pointer = $3 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20_28b2Joint____29_28float_29_20const_2c_20b2Vec2_2c_20b2Joint_20const__2c_20float___invoke_28b2Vec2_20_28b2Joint____20const__29_28float_29_20const_2c_20b2Joint_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAPF32[$3 + 20 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2Joint_20const__2c_20void___fromWireType_28b2Joint_20const__29(HEAP32[$3 + 24 >> 2]); + $0 = HEAP32[$3 + 28 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($3 + 12 | 0, $4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 20 >> 2])); + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2___29($3 + 12 | 0); + __stack_pointer = $3 + 32 | 0; + return $0 | 0; +} + +function __stdio_read($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 16 >> 2] = $1; + $3 = HEAP32[$0 + 48 >> 2]; + HEAP32[$4 + 20 >> 2] = $2 - (($3 | 0) != 0); + $6 = HEAP32[$0 + 44 >> 2]; + HEAP32[$4 + 28 >> 2] = $3; + HEAP32[$4 + 24 >> 2] = $6; + $3 = 32; + label$1: { + label$2: { + if (!__wasi_syscall_ret(__wasi_fd_read(HEAP32[$0 + 60 >> 2], $4 + 16 | 0, 2, $4 + 12 | 0) | 0)) { + $3 = HEAP32[$4 + 12 >> 2]; + if (($3 | 0) > 0) { + break label$2; + } + $3 = $3 ? 32 : 16; + } + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] | $3; + break label$1; + } + $5 = $3; + $6 = HEAP32[$4 + 20 >> 2]; + if ($6 >>> 0 >= $3 >>> 0) { + break label$1; + } + $5 = HEAP32[$0 + 44 >> 2]; + HEAP32[$0 + 4 >> 2] = $5; + HEAP32[$0 + 8 >> 2] = ($3 - $6 | 0) + $5; + if (HEAP32[$0 + 48 >> 2]) { + HEAP32[$0 + 4 >> 2] = $5 + 1; + HEAP8[($1 + $2 | 0) - 1 | 0] = HEAPU8[$5 | 0]; + } + $5 = $2; + } + __stack_pointer = $4 + 32 | 0; + return $5 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2QueryCallback____29_28unsigned_20int_29_2c_20bool_2c_20b2QueryCallback__2c_20unsigned_20int___invoke_28bool_20_28b2QueryCallback____20const__29_28unsigned_20int_29_2c_20b2QueryCallback__2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2QueryCallback__2c_20void___fromWireType_28b2QueryCallback__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$3 + 4 >> 2])) & 1); + __stack_pointer = $3 + 16 | 0; + return $0 & 1; +} + +function std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____find_5babi_v160004_5d_28b2Fixture__20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 4 >> 2] = $1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____find_b2Fixture___28b2Fixture__20const__29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 4 >> 2]), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____tree_const_iterator_5babi_v160004_5d_28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__29($2 + 12 | 0, HEAP32[$2 >> 2]); + __stack_pointer = $2 + 16 | 0; + return HEAP32[$2 + 12 >> 2]; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Body____29_28float_2c_20bool_29_2c_20void_2c_20b2Body__2c_20float_2c_20bool___invoke_28void_20_28b2Body____20const__29_28float_2c_20bool_29_2c_20b2Body__2c_20float_2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAPF32[$4 + 4 >> 2] = $2; + HEAP8[$4 + 3 | 0] = $3 & 1; + $3 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$4 + 8 >> 2]); + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $3 = ($1 >> 1) + $3 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$3 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($3, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 + 4 >> 2]), emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$4 + 3 | 0] & 1) & 1); + __stack_pointer = $4 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_float_20_28b2Fixture____29_28_29_20const_2c_20float_2c_20b2Fixture_20const____invoke_28float_20_28b2Fixture____20const__29_28_29_20const_2c_20b2Fixture_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Fixture_20const__2c_20void___fromWireType_28b2Fixture_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($1)), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($4); +} + +function std____2__reverse_iterator_b2Vec2___20std____2____rewrap_range_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = HEAP32[$2 + 24 >> 2]; + HEAP32[$2 + 12 >> 2] = HEAP32[$2 + 20 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__reverse_iterator_b2Vec2___20std____2____rewrap_iter_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false___28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29(HEAP32[$2 + 16 >> 2], HEAP32[$2 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function emscripten__internal__MethodInvoker_b2Body__20_28b2World____29_28b2BodyDef_20const__29_2c_20b2Body__2c_20b2World__2c_20b2BodyDef_20const____invoke_28b2Body__20_28b2World____20const__29_28b2BodyDef_20const__29_2c_20b2World__2c_20b2BodyDef_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2World__2c_20void___fromWireType_28b2World__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2Body__2c_20void___toWireType_28b2Body__29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2BodyDef_20const__2c_20void___fromWireType_28b2BodyDef_20const__29(HEAP32[$3 + 4 >> 2])) | 0); + __stack_pointer = $3 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2Fixture____29_28b2Vec2_20const__29_20const_2c_20bool_2c_20b2Fixture_20const__2c_20b2Vec2_20const____invoke_28bool_20_28b2Fixture____20const__29_28b2Vec2_20const__29_20const_2c_20b2Fixture_20const__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Fixture_20const__2c_20void___fromWireType_28b2Fixture_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2])) & 1); + __stack_pointer = $3 + 16 | 0; + return $0 & 1; +} + +function emscripten__internal__MethodInvoker_b2AABB_20const__20_28b2Fixture____29_28int_29_20const_2c_20b2AABB_20const__2c_20b2Fixture_20const__2c_20int___invoke_28b2AABB_20const__20_28b2Fixture____20const__29_28int_29_20const_2c_20b2Fixture_20const__2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Fixture_20const__2c_20void___fromWireType_28b2Fixture_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2AABB___toWireType_28b2AABB_20const__29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$3 + 4 >> 2])) | 0); + __stack_pointer = $3 + 16 | 0; + return $0 | 0; +} + +function std____2__pair_std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool___pair_5babi_v160004_5d_std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool_2c_20_28void__290__28std____2__pair_std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool____29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 4 >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] >> 2]; + std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____tree_const_iterator_5babi_v160004_5d_28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__29($0, HEAP32[$2 + 4 >> 2]); + HEAP8[$0 + 4 | 0] = HEAP8[HEAP32[$2 + 8 >> 2] + 4 | 0] & 1; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_float_20_28b2Body____29_28_29_20const_2c_20float_2c_20b2Body_20const____invoke_28float_20_28b2Body____20const__29_28_29_20const_2c_20b2Body_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Body_20const__2c_20void___fromWireType_28b2Body_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($1)), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($4); +} + +function emscripten__internal__MethodInvoker_float_20_28b2AABB____29_28_29_20const_2c_20float_2c_20b2AABB_20const____invoke_28float_20_28b2AABB____20const__29_28_29_20const_2c_20b2AABB_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2AABB_20const__2c_20void___fromWireType_28b2AABB_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0]($1)), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($4); +} + +function emscripten__internal__MethodInvoker_bool_20_28b2AABB____29_28b2AABB_20const__29_20const_2c_20bool_2c_20b2AABB_20const__2c_20b2AABB_20const____invoke_28bool_20_28b2AABB____20const__29_28b2AABB_20const__29_20const_2c_20b2AABB_20const__2c_20b2AABB__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2AABB_20const__2c_20void___fromWireType_28b2AABB_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2AABB___fromWireType_28b2AABB__29(HEAP32[$3 + 4 >> 2])) & 1); + __stack_pointer = $3 + 16 | 0; + return $0 & 1; +} + +function emscripten__internal__WireTypePack_unsigned_20int____WireTypePack_28unsigned_20int__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 28 >> 2] = $2 + 12; + HEAP32[$2 + 24 >> 2] = $1; + void_20emscripten__internal__writeGenericWireType_unsigned_20int__28emscripten__internal__GenericWireType___2c_20unsigned_20int_29(HEAP32[$2 + 28 >> 2], emscripten__internal__BindingType_unsigned_20int_2c_20void___toWireType_28unsigned_20int_20const__29(HEAP32[$2 + 24 >> 2])); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[$2 + 28 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_unsigned_20int_20_28b2Draw____29_28_29_20const_2c_20unsigned_20int_2c_20b2Draw_20const____invoke_28unsigned_20int_20_28b2Draw____20const__29_28_29_20const_2c_20b2Draw_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Draw_20const__2c_20void___fromWireType_28b2Draw_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = FUNCTION_TABLE[$0 | 0]($1) | 0, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_unsigned_20int_2c_20void___toWireType_28unsigned_20int_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__WireTypePack_b2Transform_20const____WireTypePack_28b2Transform_20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 28 >> 2] = $2 + 12; + HEAP32[$2 + 24 >> 2] = $1; + void_20emscripten__internal__writeGenericWireType_b2Transform__28emscripten__internal__GenericWireType___2c_20b2Transform__29(HEAP32[$2 + 28 >> 2], emscripten__internal__GenericBindingType_b2Transform___toWireType_28b2Transform_20const__29(HEAP32[$2 + 24 >> 2])); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[$2 + 28 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_int_20_28b2PolygonShape____29_28_29_20const_2c_20int_2c_20b2PolygonShape_20const____invoke_28int_20_28b2PolygonShape____20const__29_28_29_20const_2c_20b2PolygonShape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2PolygonShape_20const__2c_20void___fromWireType_28b2PolygonShape_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = FUNCTION_TABLE[$0 | 0]($1) | 0, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function std____2__reverse_iterator_int___20std____2____rewrap_range_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = HEAP32[$2 + 24 >> 2]; + HEAP32[$2 + 12 >> 2] = HEAP32[$2 + 20 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__reverse_iterator_int___20std____2____rewrap_iter_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false___28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29(HEAP32[$2 + 16 >> 2], HEAP32[$2 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____max_size_28_29_20const($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + wasm2js_i32$0 = $1, wasm2js_i32$1 = unsigned_20long_20std____2__allocator_traits_std____2__allocator_b2Vec2____max_size_5babi_v160004_5d_std____2__allocator_b2Vec2__2c_20void__28std____2__allocator_b2Vec2__20const__29(std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______alloc_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2])), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = std____2__numeric_limits_long___max_5babi_v160004_5d_28_29(), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = unsigned_20long_20const__20std____2__min_5babi_v160004_5d_unsigned_20long__28unsigned_20long_20const__2c_20unsigned_20long_20const__29($1 + 8 | 0, $1 + 4 | 0); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$0 >> 2]; +} + +function emscripten__internal__MethodInvoker_void_20_28b2ContactListenerWrapper____29_28unsigned_20int_29_2c_20void_2c_20b2ContactListenerWrapper__2c_20unsigned_20int___invoke_28void_20_28b2ContactListenerWrapper____20const__29_28unsigned_20int_29_2c_20b2ContactListenerWrapper__2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2ContactListenerWrapper__2c_20void___fromWireType_28b2ContactListenerWrapper__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_int_20_28b2CircleShape____29_28_29_20const_2c_20int_2c_20b2CircleShape_20const____invoke_28int_20_28b2CircleShape____20const__29_28_29_20const_2c_20b2CircleShape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2CircleShape_20const__2c_20void___fromWireType_28b2CircleShape_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = FUNCTION_TABLE[$0 | 0]($1) | 0, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Mat22__GetInverse_28_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $1; + $1 = HEAP32[$2 + 28 >> 2]; + HEAPF32[$2 + 24 >> 2] = HEAPF32[$1 >> 2]; + HEAPF32[$2 + 20 >> 2] = HEAPF32[$1 + 8 >> 2]; + HEAPF32[$2 + 16 >> 2] = HEAPF32[$1 + 4 >> 2]; + HEAPF32[$2 + 12 >> 2] = HEAPF32[$1 + 12 >> 2]; + b2Mat22__b2Mat22_28_29($0); + HEAPF32[$2 + 8 >> 2] = Math_fround(HEAPF32[$2 + 24 >> 2] * HEAPF32[$2 + 12 >> 2]) - Math_fround(HEAPF32[$2 + 20 >> 2] * HEAPF32[$2 + 16 >> 2]); + if (HEAPF32[$2 + 8 >> 2] != Math_fround(0)) { + HEAPF32[$2 + 8 >> 2] = Math_fround(1) / HEAPF32[$2 + 8 >> 2]; + } + HEAPF32[$0 >> 2] = HEAPF32[$2 + 8 >> 2] * HEAPF32[$2 + 12 >> 2]; + HEAPF32[$0 + 8 >> 2] = Math_fround(-HEAPF32[$2 + 8 >> 2]) * HEAPF32[$2 + 20 >> 2]; + HEAPF32[$0 + 4 >> 2] = Math_fround(-HEAPF32[$2 + 8 >> 2]) * HEAPF32[$2 + 16 >> 2]; + HEAPF32[$0 + 12 >> 2] = HEAPF32[$2 + 8 >> 2] * HEAPF32[$2 + 24 >> 2]; + __stack_pointer = $2 + 32 | 0; +} + +function b2ChainAndPolygonContact__b2ChainAndPolygonContact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 24 >> 2] = $0; + HEAP32[$5 + 20 >> 2] = $1; + HEAP32[$5 + 16 >> 2] = $2; + HEAP32[$5 + 12 >> 2] = $3; + HEAP32[$5 + 8 >> 2] = $4; + $0 = HEAP32[$5 + 24 >> 2]; + HEAP32[$5 + 28 >> 2] = $0; + b2Contact__b2Contact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, HEAP32[$5 + 20 >> 2], HEAP32[$5 + 16 >> 2], HEAP32[$5 + 12 >> 2], HEAP32[$5 + 8 >> 2]); + HEAP32[$0 >> 2] = 18348; + if ((b2Fixture__GetType_28_29_20const(HEAP32[$0 + 48 >> 2]) | 0) != 3) { + __assert_fail(6878, 4630, 46, 3034); + wasm2js_trap(); + } + if ((b2Fixture__GetType_28_29_20const(HEAP32[$0 + 52 >> 2]) | 0) != 2) { + __assert_fail(6761, 4630, 47, 3034); + wasm2js_trap(); + } + __stack_pointer = $5 + 32 | 0; + return HEAP32[$5 + 28 >> 2]; +} + +function emscripten__internal__MethodInvoker_int_20_28b2EdgeShape____29_28_29_20const_2c_20int_2c_20b2EdgeShape_20const____invoke_28int_20_28b2EdgeShape____20const__29_28_29_20const_2c_20b2EdgeShape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2EdgeShape_20const__2c_20void___fromWireType_28b2EdgeShape_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = FUNCTION_TABLE[$0 | 0]($1) | 0, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function std____2__reverse_iterator_b2Vec2___20std____2____rewrap_iter_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false___28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = HEAP32[$2 + 24 >> 2]; + HEAP32[$2 + 12 >> 2] = HEAP32[$2 + 20 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false_____rewrap_5babi_v160004_5d_28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29(HEAP32[$2 + 16 >> 2], HEAP32[$2 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function __cxxabiv1____pointer_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($0, $1) { + var $2 = 0, $3 = 0; + label$1: { + while (1) { + if (!$1) { + return 0; + } + $1 = __dynamic_cast($1, 23924, 24068, 0); + if (!$1 | HEAP32[$1 + 8 >> 2] & (HEAP32[$0 + 8 >> 2] ^ -1)) { + break label$1; + } + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[$0 + 12 >> 2], HEAP32[$1 + 12 >> 2], 0)) { + return 1; + } + if (!(HEAP8[$0 + 8 | 0] & 1)) { + break label$1; + } + $2 = HEAP32[$0 + 12 >> 2]; + if (!$2) { + break label$1; + } + $0 = __dynamic_cast($2, 23924, 24068, 0); + if ($0) { + $1 = HEAP32[$1 + 12 >> 2]; + continue; + } + break; + } + $0 = __dynamic_cast($2, 23924, 24180, 0); + if (!$0) { + break label$1; + } + $3 = __cxxabiv1____pointer_to_member_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($0, HEAP32[$1 + 12 >> 2]); + } + return $3; +} + +function std____2__vector_int_2c_20std____2__allocator_int____max_size_28_29_20const($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + wasm2js_i32$0 = $1, wasm2js_i32$1 = unsigned_20long_20std____2__allocator_traits_std____2__allocator_int____max_size_5babi_v160004_5d_std____2__allocator_int__2c_20void__28std____2__allocator_int__20const__29(std____2__vector_int_2c_20std____2__allocator_int______alloc_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2])), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $1, wasm2js_i32$1 = std____2__numeric_limits_long___max_5babi_v160004_5d_28_29(), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = unsigned_20long_20const__20std____2__min_5babi_v160004_5d_unsigned_20long__28unsigned_20long_20const__2c_20unsigned_20long_20const__29($1 + 8 | 0, $1 + 4 | 0); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$0 >> 2]; +} + +function emscripten__internal__WireTypePack_b2Vec2_20const____WireTypePack_28b2Vec2_20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 28 >> 2] = $2 + 12; + HEAP32[$2 + 24 >> 2] = $1; + void_20emscripten__internal__writeGenericWireType_b2Vec2__28emscripten__internal__GenericWireType___2c_20b2Vec2__29(HEAP32[$2 + 28 >> 2], emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 24 >> 2])); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[$2 + 28 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function b2CircleShape__ComputeMass_28b2MassData__2c_20float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0, $5 = 0, $6 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = HEAP32[$3 + 12 >> 2]; + HEAPF32[HEAP32[$3 + 8 >> 2] >> 2] = Math_fround(Math_fround(HEAPF32[$3 + 4 >> 2] * Math_fround(3.1415927410125732)) * HEAPF32[$4 + 8 >> 2]) * HEAPF32[$4 + 8 >> 2]; + $5 = HEAP32[$4 + 16 >> 2]; + $0 = HEAP32[$4 + 12 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[$0 + 8 >> 2] = $5; + $2 = HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]; + $6 = Math_fround(Math_fround(Math_fround(HEAPF32[$4 + 8 >> 2] * Math_fround(.5)) * HEAPF32[$4 + 8 >> 2]) + b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 12 | 0, $4 + 12 | 0)); + HEAPF32[HEAP32[$3 + 8 >> 2] + 12 >> 2] = $2 * $6; + __stack_pointer = $3 + 16 | 0; +} + +function b2ChainAndCircleContact__b2ChainAndCircleContact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 24 >> 2] = $0; + HEAP32[$5 + 20 >> 2] = $1; + HEAP32[$5 + 16 >> 2] = $2; + HEAP32[$5 + 12 >> 2] = $3; + HEAP32[$5 + 8 >> 2] = $4; + $0 = HEAP32[$5 + 24 >> 2]; + HEAP32[$5 + 28 >> 2] = $0; + b2Contact__b2Contact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, HEAP32[$5 + 20 >> 2], HEAP32[$5 + 16 >> 2], HEAP32[$5 + 12 >> 2], HEAP32[$5 + 8 >> 2]); + HEAP32[$0 >> 2] = 18288; + if ((b2Fixture__GetType_28_29_20const(HEAP32[$0 + 48 >> 2]) | 0) != 3) { + __assert_fail(6878, 4932, 46, 3139); + wasm2js_trap(); + } + if (b2Fixture__GetType_28_29_20const(HEAP32[$0 + 52 >> 2])) { + __assert_fail(9531, 4932, 47, 3139); + wasm2js_trap(); + } + __stack_pointer = $5 + 32 | 0; + return HEAP32[$5 + 28 >> 2]; +} + +function b2Body__ApplyForce_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $5 = Math_fround(0); + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 28 >> 2] = $0; + HEAP32[$4 + 24 >> 2] = $1; + HEAP32[$4 + 20 >> 2] = $2; + HEAP8[$4 + 19 | 0] = $3; + $0 = HEAP32[$4 + 28 >> 2]; + label$1: { + if (HEAP32[$0 >> 2] != 2) { + break label$1; + } + if (!(!(HEAP8[$4 + 19 | 0] & 1) | HEAPU16[$0 + 4 >> 1] & 2)) { + b2Body__SetAwake_28bool_29($0, 1); + } + if (!(HEAPU16[$0 + 4 >> 1] & 2)) { + break label$1; + } + b2Vec2__operator___28b2Vec2_20const__29($0 + 76 | 0, HEAP32[$4 + 24 >> 2]); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 8 | 0, HEAP32[$4 + 20 >> 2], $0 + 44 | 0); + $5 = b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($4 + 8 | 0, HEAP32[$4 + 24 >> 2]); + HEAPF32[$0 + 84 >> 2] = HEAPF32[$0 + 84 >> 2] + $5; + } + __stack_pointer = $4 + 32 | 0; +} + +function b2BlockAllocator__Free_28void__2c_20int_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + label$1: { + if (!HEAP32[$3 + 20 >> 2]) { + break label$1; + } + if (HEAP32[$3 + 20 >> 2] <= 0) { + __assert_fail(8597, 5349, 178, 9825); + wasm2js_trap(); + } + if (HEAP32[$3 + 20 >> 2] > 640) { + b2Free_28void__29(HEAP32[$3 + 24 >> 2]); + break label$1; + } + HEAP32[$3 + 16 >> 2] = HEAPU8[HEAP32[$3 + 20 >> 2] + 30116 | 0]; + if (!(HEAP32[$3 + 16 >> 2] < 14 & HEAP32[$3 + 16 >> 2] >= 0)) { + __assert_fail(2135, 5349, 187, 9825); + wasm2js_trap(); + } + HEAP32[$3 + 12 >> 2] = HEAP32[$3 + 24 >> 2]; + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] = HEAP32[($0 + 12 | 0) + (HEAP32[$3 + 16 >> 2] << 2) >> 2]; + HEAP32[($0 + 12 | 0) + (HEAP32[$3 + 16 >> 2] << 2) >> 2] = HEAP32[$3 + 12 >> 2]; + } + __stack_pointer = $3 + 32 | 0; +} + +function b2WheelJoint__GetJointTranslation_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 48 | 0; + __stack_pointer = $1; + HEAP32[$1 + 44 >> 2] = $0; + $0 = HEAP32[$1 + 44 >> 2]; + HEAP32[$1 + 40 >> 2] = HEAP32[$0 + 48 >> 2]; + HEAP32[$1 + 36 >> 2] = HEAP32[$0 + 52 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($1 + 28 | 0, HEAP32[$1 + 40 >> 2], $0 + 68 | 0); + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($1 + 20 | 0, HEAP32[$1 + 36 >> 2], $0 + 76 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 12 | 0, $1 + 20 | 0, $1 + 28 | 0); + b2Body__GetWorldVector_28b2Vec2_20const__29_20const($1 + 4 | 0, HEAP32[$1 + 40 >> 2], $0 + 84 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 12 | 0, $1 + 4 | 0), + HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + __stack_pointer = $1 + 48 | 0; + return Math_fround(HEAPF32[$1 >> 2]); +} + +function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char______compressed_pair_5babi_v160004_5d_std____2____default_init_tag_2c_20std____2____default_init_tag__28std____2____default_init_tag___2c_20std____2____default_init_tag___29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0); + std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0); + __stack_pointer = $3 + 16 | 0; + return $0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______destruct_at_end_5babi_v160004_5d_28b2Vec2__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______invalidate_iterators_past_5babi_v160004_5d_28b2Vec2__29($0, HEAP32[$2 + 8 >> 2]); + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const($0), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______base_destruct_at_end_5babi_v160004_5d_28b2Vec2__29($0, HEAP32[$2 + 8 >> 2]); + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______annotate_shrink_5babi_v160004_5d_28unsigned_20long_29_20const($0, HEAP32[$2 + 4 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function b2CircleShape__ComputeAABB_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 28 >> 2] = $0; + HEAP32[$4 + 24 >> 2] = $1; + HEAP32[$4 + 20 >> 2] = $2; + HEAP32[$4 + 16 >> 2] = $3; + $1 = HEAP32[$4 + 20 >> 2]; + $0 = HEAP32[$4 + 28 >> 2]; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($4, HEAP32[$4 + 20 >> 2] + 8 | 0, $0 + 12 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($4 + 8 | 0, $1, $4); + b2Vec2__Set_28float_2c_20float_29(HEAP32[$4 + 24 >> 2], Math_fround(HEAPF32[$4 + 8 >> 2] - HEAPF32[$0 + 8 >> 2]), Math_fround(HEAPF32[$4 + 12 >> 2] - HEAPF32[$0 + 8 >> 2])); + b2Vec2__Set_28float_2c_20float_29(HEAP32[$4 + 24 >> 2] + 8 | 0, Math_fround(HEAPF32[$4 + 8 >> 2] + HEAPF32[$0 + 8 >> 2]), Math_fround(HEAPF32[$4 + 12 >> 2] + HEAPF32[$0 + 8 >> 2])); + __stack_pointer = $4 + 32 | 0; +} + +function __strchrnul($0, $1) { + var $2 = 0, $3 = 0; + label$1: { + $3 = $1 & 255; + if ($3) { + if ($0 & 3) { + while (1) { + $2 = HEAPU8[$0 | 0]; + if (!$2 | ($1 & 255) == ($2 | 0)) { + break label$1; + } + $0 = $0 + 1 | 0; + if ($0 & 3) { + continue; + } + break; + } + } + $2 = HEAP32[$0 >> 2]; + label$5: { + if (($2 ^ -1) & $2 - 16843009 & -2139062144) { + break label$5; + } + $3 = Math_imul($3, 16843009); + while (1) { + $2 = $2 ^ $3; + if (($2 ^ -1) & $2 - 16843009 & -2139062144) { + break label$5; + } + $2 = HEAP32[$0 + 4 >> 2]; + $0 = $0 + 4 | 0; + if (!($2 - 16843009 & ($2 ^ -1) & -2139062144)) { + continue; + } + break; + } + } + while (1) { + $2 = $0; + $3 = HEAPU8[$2 | 0]; + if ($3) { + $0 = $2 + 1 | 0; + if (($1 & 255) != ($3 | 0)) { + continue; + } + } + break; + } + return $2; + } + return strlen($0) + $0 | 0; + } + return $0; +} + +function __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($0, $1, $2, $3, $4) { + HEAP8[$1 + 53 | 0] = 1; + label$1: { + if (HEAP32[$1 + 4 >> 2] != ($3 | 0)) { + break label$1; + } + HEAP8[$1 + 52 | 0] = 1; + $3 = HEAP32[$1 + 16 >> 2]; + label$2: { + if (!$3) { + HEAP32[$1 + 36 >> 2] = 1; + HEAP32[$1 + 24 >> 2] = $4; + HEAP32[$1 + 16 >> 2] = $2; + if (($4 | 0) != 1) { + break label$1; + } + if (HEAP32[$1 + 48 >> 2] == 1) { + break label$2; + } + break label$1; + } + if (($2 | 0) == ($3 | 0)) { + $3 = HEAP32[$1 + 24 >> 2]; + if (($3 | 0) == 2) { + HEAP32[$1 + 24 >> 2] = $4; + $3 = $4; + } + if (HEAP32[$1 + 48 >> 2] != 1) { + break label$1; + } + if (($3 | 0) == 1) { + break label$2; + } + break label$1; + } + HEAP32[$1 + 36 >> 2] = HEAP32[$1 + 36 >> 2] + 1; + } + HEAP8[$1 + 54 | 0] = 1; + } +} + +function emscripten__internal__WireTypePack_int_20const____WireTypePack_28int_20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + $1 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 28 >> 2] = $2 + 12; + HEAP32[$2 + 24 >> 2] = $1; + void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[$2 + 28 >> 2], emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[$2 + 24 >> 2])); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[$2 + 28 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_int_20_28b2Shape____29_28_29_20const_2c_20int_2c_20b2Shape_20const____invoke_28int_20_28b2Shape____20const__29_28_29_20const_2c_20b2Shape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Shape_20const__2c_20void___fromWireType_28b2Shape_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + wasm2js_i32$0 = $2, wasm2js_i32$1 = FUNCTION_TABLE[$0 | 0]($1) | 0, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Fixture__RayCast_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $0 = HEAP32[$4 + 12 >> 2]; + $1 = HEAP32[$0 + 12 >> 2]; + $0 = (wasm2js_i32$1 = $1, wasm2js_i32$2 = HEAP32[$4 + 8 >> 2], wasm2js_i32$3 = HEAP32[$4 + 4 >> 2], + wasm2js_i32$4 = b2Body__GetTransform_28_29_20const(HEAP32[$0 + 8 >> 2]), wasm2js_i32$5 = HEAP32[$4 >> 2], + wasm2js_i32$0 = HEAP32[HEAP32[$1 >> 2] + 20 >> 2], FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0); + __stack_pointer = $4 + 16 | 0; + return $0 & 1; +} + +function std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____insert_5babi_v160004_5d_28b2Fixture__20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______insert_unique_5babi_v160004_5d_28b2Fixture__20const__29($3, HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2]); + std____2__pair_std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool___pair_5babi_v160004_5d_std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool_2c_20_28void__290__28std____2__pair_std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool____29($0, $3); + __stack_pointer = $3 + 16 | 0; +} + +function b2EdgeShape__operator__28b2EdgeShape_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + $5 = HEAP32[$3 + 12 >> 2]; + b2Shape__operator__28b2Shape_20const__29($5, HEAP32[$3 + 8 >> 2]); + $2 = HEAP32[$3 + 8 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$2 + 16 >> 2]; + $4 = $0; + $0 = $5; + HEAP32[$0 + 12 >> 2] = $4; + HEAP32[$0 + 16 >> 2] = $1; + HEAP8[$0 + 44 | 0] = HEAPU8[$2 + 44 | 0]; + $0 = HEAP32[$2 + 40 >> 2]; + $1 = HEAP32[$2 + 36 >> 2]; + $4 = $1; + $1 = $5; + HEAP32[$1 + 36 >> 2] = $4; + HEAP32[$1 + 40 >> 2] = $0; + $1 = HEAP32[$2 + 32 >> 2]; + $0 = HEAP32[$2 + 28 >> 2]; + $4 = $0; + $0 = $5; + HEAP32[$0 + 28 >> 2] = $4; + HEAP32[$0 + 32 >> 2] = $1; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = HEAP32[$2 + 20 >> 2]; + $4 = $1; + $1 = $5; + HEAP32[$1 + 20 >> 2] = $4; + HEAP32[$1 + 24 >> 2] = $0; + __stack_pointer = $3 + 16 | 0; + return $1; +} + +function emscripten__internal__MethodInvoker_void_20_28b2ContactListener____29_28unsigned_20int_29_2c_20void_2c_20b2ContactListener__2c_20unsigned_20int___invoke_28void_20_28b2ContactListener____20const__29_28unsigned_20int_29_2c_20b2ContactListener__2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2ContactListener__2c_20void___fromWireType_28b2ContactListener__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__Invoker_float_2c_20unsigned_20int_2c_20int___invoke_28float_20_28__29_28unsigned_20int_2c_20int_29_2c_20unsigned_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$3 + 8 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$3 + 4 >> 2]))), + HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $4 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($3); + __stack_pointer = $3 + 16 | 0; + return Math_fround($4); +} + +function std____2__reverse_iterator_int___20std____2____rewrap_iter_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false___28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 16 >> 2] = HEAP32[$2 + 24 >> 2]; + HEAP32[$2 + 12 >> 2] = HEAP32[$2 + 20 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false_____rewrap_5babi_v160004_5d_28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29(HEAP32[$2 + 16 >> 2], HEAP32[$2 + 12 >> 2]), + HEAP32[wasm2js_i32$0 + 28 >> 2] = wasm2js_i32$1; + __stack_pointer = $2 + 32 | 0; + return HEAP32[$2 + 28 >> 2]; +} + +function float_20emscripten__val__call_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float___28char_20const__2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float__29_20const($0, $1, $2, $3, $4, $5) { + var $6 = 0, $7 = Math_fround(0); + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAP32[$6 + 20 >> 2] = $2; + HEAP32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAP32[$6 + 8 >> 2] = $5; + $7 = emscripten__internal__MethodCaller_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____call_28emscripten___EM_VAL__2c_20char_20const__2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float__29(HEAP32[HEAP32[$6 + 28 >> 2] >> 2], HEAP32[$6 + 24 >> 2], HEAP32[$6 + 20 >> 2], HEAP32[$6 + 16 >> 2], HEAP32[$6 + 12 >> 2], HEAP32[$6 + 8 >> 2]); + __stack_pointer = $6 + 32 | 0; + return $7; +} + +function b2StackAllocator__Free_28void__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAP32[$0 + 102796 >> 2] <= 0) { + __assert_fail(12178, 5418, 67, 9825); + wasm2js_trap(); + } + HEAP32[$2 + 4 >> 2] = (Math_imul(HEAP32[$0 + 102796 >> 2], 12) + $0 | 0) + 102400; + if (HEAP32[$2 + 8 >> 2] != HEAP32[HEAP32[$2 + 4 >> 2] >> 2]) { + __assert_fail(10408, 5418, 69, 9825); + wasm2js_trap(); + } + label$3: { + if (HEAP8[HEAP32[$2 + 4 >> 2] + 8 | 0] & 1) { + b2Free_28void__29(HEAP32[$2 + 8 >> 2]); + break label$3; + } + HEAP32[$0 + 102400 >> 2] = HEAP32[$0 + 102400 >> 2] - HEAP32[HEAP32[$2 + 4 >> 2] + 4 >> 2]; + } + HEAP32[$0 + 102404 >> 2] = HEAP32[$0 + 102404 >> 2] - HEAP32[HEAP32[$2 + 4 >> 2] + 4 >> 2]; + HEAP32[$0 + 102796 >> 2] = HEAP32[$0 + 102796 >> 2] - 1; + HEAP32[$2 + 8 >> 2] = 0; + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2PrismaticJointDef__20_28__29_28_29___invoke_b2PrismaticJointDef__28b2PrismaticJointDef__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 640; + $0 = emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2PrismaticJointDef____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2PrismaticJointDef____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function b2Sweep__Advance_28float_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAPF32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + if (!(HEAPF32[$0 + 32 >> 2] < Math_fround(1))) { + __assert_fail(8093, 7280, 696, 9975); + wasm2js_trap(); + } + HEAPF32[$2 + 20 >> 2] = Math_fround(HEAPF32[$2 + 24 >> 2] - HEAPF32[$0 + 32 >> 2]) / Math_fround(Math_fround(1) - HEAPF32[$0 + 32 >> 2]); + $1 = HEAPF32[$2 + 20 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 4 | 0, $0 + 16 | 0, $0 + 8 | 0); + operator__28float_2c_20b2Vec2_20const__29($2 + 12 | 0, $1, $2 + 4 | 0); + b2Vec2__operator___28b2Vec2_20const__29($0 + 8 | 0, $2 + 12 | 0); + HEAPF32[$0 + 24 >> 2] = Math_fround(HEAPF32[$2 + 20 >> 2] * Math_fround(HEAPF32[$0 + 28 >> 2] - HEAPF32[$0 + 24 >> 2])) + HEAPF32[$0 + 24 >> 2]; + HEAPF32[$0 + 32 >> 2] = HEAPF32[$2 + 24 >> 2]; + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2RevoluteJointDef__20_28__29_28_29___invoke_b2RevoluteJointDef__28b2RevoluteJointDef__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 653; + $0 = emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2RevoluteJointDef____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2RevoluteJointDef____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2DistanceJointDef__20_28__29_28_29___invoke_b2DistanceJointDef__28b2DistanceJointDef__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 611; + $0 = emscripten__internal__TypeID_b2DistanceJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2DistanceJointDef____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2DistanceJointDef____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28b2MassData__29_20const_2c_20void_2c_20b2Fixture_20const__2c_20b2MassData____invoke_28void_20_28b2Fixture____20const__29_28b2MassData__29_20const_2c_20b2Fixture_20const__2c_20b2MassData__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Fixture_20const__2c_20void___fromWireType_28b2Fixture_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2MassData__2c_20void___fromWireType_28b2MassData__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__Invoker_unsigned_20int_2c_20unsigned_20int_2c_20int___invoke_28unsigned_20int_20_28__29_28unsigned_20int_2c_20int_29_2c_20unsigned_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$3 + 8 >> 2]), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$3 + 4 >> 2])) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_unsigned_20int_2c_20void___toWireType_28unsigned_20int_20const__29($3); + __stack_pointer = $3 + 16 | 0; + return $0 | 0; +} + +function float_20emscripten__wrapper_b2RayCastCallback___call_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float___28char_20const__2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float__29_20const($0, $1, $2, $3, $4, $5) { + var $6 = 0, $7 = Math_fround(0); + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAP32[$6 + 20 >> 2] = $2; + HEAP32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAP32[$6 + 8 >> 2] = $5; + $7 = float_20emscripten__val__call_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float___28char_20const__2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float__29_20const(HEAP32[$6 + 28 >> 2] + 8 | 0, HEAP32[$6 + 24 >> 2], HEAP32[$6 + 20 >> 2], HEAP32[$6 + 16 >> 2], HEAP32[$6 + 12 >> 2], HEAP32[$6 + 8 >> 2]); + __stack_pointer = $6 + 32 | 0; + return $7; +} + +function std____2__vector_int_2c_20std____2__allocator_int______destruct_at_end_5babi_v160004_5d_28int__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + std____2__vector_int_2c_20std____2__allocator_int______invalidate_iterators_past_5babi_v160004_5d_28int__29($0, HEAP32[$2 + 8 >> 2]); + wasm2js_i32$0 = $2, wasm2js_i32$1 = std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const($0), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + std____2__vector_int_2c_20std____2__allocator_int______base_destruct_at_end_5babi_v160004_5d_28int__29($0, HEAP32[$2 + 8 >> 2]); + std____2__vector_int_2c_20std____2__allocator_int______annotate_shrink_5babi_v160004_5d_28unsigned_20long_29_20const($0, HEAP32[$2 + 4 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function __cxxabiv1____class_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer + -64 | 0; + __stack_pointer = $3; + $4 = 1; + label$1: { + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, $1, 0)) { + break label$1; + } + $4 = 0; + if (!$1) { + break label$1; + } + $1 = __dynamic_cast($1, 23924, 23972, 0); + $4 = 0; + if (!$1) { + break label$1; + } + __memset($3 + 12 | 0, 0, 52); + HEAP32[$3 + 56 >> 2] = 1; + HEAP32[$3 + 20 >> 2] = -1; + HEAP32[$3 + 16 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 28 >> 2]]($1, $3 + 8 | 0, HEAP32[$2 >> 2], 1); + $4 = HEAP32[$3 + 32 >> 2]; + if (($4 | 0) == 1) { + HEAP32[$2 >> 2] = HEAP32[$3 + 24 >> 2]; + } + $4 = ($4 | 0) == 1; + } + __stack_pointer = $3 - -64 | 0; + return $4 | 0; +} + +function void_20emscripten__function_void_2c_20unsigned_20int_2c_20unsigned_20int__28char_20const__2c_20void_20_28__29_28unsigned_20int_2c_20unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 406; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20unsigned_20int___getCount_28_29_20const($2 + 19 | 0); + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20unsigned_20int___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 20 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2World__20_28__29_28b2Vec2___29___invoke_b2World__28b2World__20_28__29_28b2Vec2___29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 505; + $0 = emscripten__internal__TypeID_b2World_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2World__2c_20b2Vec2_____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2World__2c_20b2Vec2_____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__function_unsigned_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20unsigned_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + HEAP32[$2 + 8 >> 2] = 408; + $0 = HEAP32[$2 + 20 >> 2]; + $1 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_unsigned_20int___getCount_28_29_20const($2 + 15 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_unsigned_20int___getTypes_28_29_20const($2 + 15 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$2 + 8 >> 2], HEAP32[$2 + 16 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__function_unsigned_20int_2c_20unsigned_20int_2c_20int__28char_20const__2c_20unsigned_20int_20_28__29_28unsigned_20int_2c_20int_29_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 407; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20unsigned_20int_2c_20int___getCount_28_29_20const($2 + 19 | 0); + $3 = emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20unsigned_20int_2c_20int___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 20 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2WheelJointDef__20_28__29_28_29___invoke_b2WheelJointDef__28b2WheelJointDef__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 686; + $0 = emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2WheelJointDef____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2WheelJointDef____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2MouseJointDef__20_28__29_28_29___invoke_b2MouseJointDef__28b2MouseJointDef__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 630; + $0 = emscripten__internal__TypeID_b2MouseJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2MouseJointDef____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2MouseJointDef____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2MotorJointDef__20_28__29_28_29___invoke_b2MotorJointDef__28b2MotorJointDef__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 620; + $0 = emscripten__internal__TypeID_b2MotorJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2MotorJointDef____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2MotorJointDef____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2ContactListener__29_2c_20void_2c_20b2World__2c_20b2ContactListener____invoke_28void_20_28b2World____20const__29_28b2ContactListener__29_2c_20b2World__2c_20b2ContactListener__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2World__2c_20void___fromWireType_28b2World__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2ContactListener__2c_20void___fromWireType_28b2ContactListener__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2MassData__29_20const_2c_20void_2c_20b2Body_20const__2c_20b2MassData____invoke_28void_20_28b2Body____20const__29_28b2MassData__29_20const_2c_20b2Body_20const__2c_20b2MassData__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Body_20const__2c_20void___fromWireType_28b2Body_20const__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2MassData__2c_20void___fromWireType_28b2MassData__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2PrismaticJoint_20const____invoke_28b2Vec2_20const__20_28b2PrismaticJoint____20const__29_28_29_20const_2c_20b2PrismaticJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2PrismaticJoint_20const__2c_20void___fromWireType_28b2PrismaticJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______base_destruct_at_end_5babi_v160004_5d_28b2Vec2__29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; + while (1) { + if (HEAP32[$2 + 8 >> 2] != HEAP32[$2 + 4 >> 2]) { + $3 = std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______alloc_5babi_v160004_5d_28_29($0); + $1 = HEAP32[$2 + 4 >> 2] - 8 | 0; + HEAP32[$2 + 4 >> 2] = $1; + void_20std____2__allocator_traits_std____2__allocator_b2Vec2____destroy_5babi_v160004_5d_b2Vec2_2c_20void__28std____2__allocator_b2Vec2___2c_20b2Vec2__29($3, b2Vec2__20std____2____to_address_5babi_v160004_5d_b2Vec2__28b2Vec2__29($1)); + continue; + } + break; + } + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 8 >> 2]; + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2WeldJointDef__20_28__29_28_29___invoke_b2WeldJointDef__28b2WeldJointDef__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 677; + $0 = emscripten__internal__TypeID_b2WeldJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2WeldJointDef____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2WeldJointDef____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2RopeJointDef__20_28__29_28_29___invoke_b2RopeJointDef__28b2RopeJointDef__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 666; + $0 = emscripten__internal__TypeID_b2RopeJointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2RopeJointDef____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2RopeJointDef____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2PolygonShape__20_28__29_28_29___invoke_b2PolygonShape__28b2PolygonShape__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 547; + $0 = emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2PolygonShape____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2PolygonShape____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2PrismaticJoint____29_28float_29_2c_20void_2c_20b2PrismaticJoint__2c_20float___invoke_28void_20_28b2PrismaticJoint____20const__29_28float_29_2c_20b2PrismaticJoint__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2PrismaticJoint__2c_20void___fromWireType_28b2PrismaticJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodCaller_void_2c_20b2Transform_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20b2Transform_20const__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + wasm2js_i32$0 = $3, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20b2Transform_20const____get_method_caller_28_29(), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_b2Transform_20const____WireTypePack_28b2Transform_20const__29($3 + 8 | 0, HEAP32[$3 + 20 >> 2]); + _emval_call_void_method(HEAP32[$3 + 16 >> 2], HEAP32[$3 + 28 >> 2], HEAP32[$3 + 24 >> 2], emscripten__internal__WireTypePack_b2Transform_20const____operator_20void_20const__28_29_20const($3 + 8 | 0) | 0); + __stack_pointer = $3 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2RevoluteJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2RevoluteJoint_20const____invoke_28b2Vec2_20const__20_28b2RevoluteJoint____20const__29_28_29_20const_2c_20b2RevoluteJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2RevoluteJoint_20const__2c_20void___fromWireType_28b2RevoluteJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2DistanceJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2DistanceJoint_20const____invoke_28b2Vec2_20const__20_28b2DistanceJoint____20const__29_28_29_20const_2c_20b2DistanceJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2DistanceJoint_20const__2c_20void___fromWireType_28b2DistanceJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function void_20emscripten__val__call_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const__29_20const($0, $1, $2, $3, $4, $5) { + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAP32[$6 + 20 >> 2] = $2; + HEAP32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAP32[$6 + 8 >> 2] = $5; + emscripten__internal__MethodCaller_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const__29(HEAP32[HEAP32[$6 + 28 >> 2] >> 2], HEAP32[$6 + 24 >> 2], HEAP32[$6 + 20 >> 2], HEAP32[$6 + 16 >> 2], HEAP32[$6 + 12 >> 2], HEAP32[$6 + 8 >> 2]); + __stack_pointer = $6 + 32 | 0; +} + +function b2GrowableStack_int_2c_20256___Push_28int_20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAP32[$0 + 1028 >> 2] == HEAP32[$0 + 1032 >> 2]) { + HEAP32[$2 + 4 >> 2] = HEAP32[$0 >> 2]; + HEAP32[$0 + 1032 >> 2] = HEAP32[$0 + 1032 >> 2] << 1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Alloc_28int_29(HEAP32[$0 + 1032 >> 2] << 2), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __memcpy(HEAP32[$0 >> 2], HEAP32[$2 + 4 >> 2], HEAP32[$0 + 1028 >> 2] << 2); + if (HEAP32[$2 + 4 >> 2] != ($0 + 4 | 0)) { + b2Free_28void__29(HEAP32[$2 + 4 >> 2]); + } + } + HEAP32[HEAP32[$0 >> 2] + (HEAP32[$0 + 1028 >> 2] << 2) >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] >> 2]; + HEAP32[$0 + 1028 >> 2] = HEAP32[$0 + 1028 >> 2] + 1; + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__FunctionInvoker_void_20_28__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_2c_20void_2c_20b2AABB__2c_20b2AABB__2c_20b2AABB____invoke_28void_20_28___29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_2c_20b2AABB__2c_20b2AABB__2c_20b2AABB__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $0 = HEAP32[HEAP32[$4 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_b2AABB__2c_20void___fromWireType_28b2AABB__29(HEAP32[$4 + 8 >> 2]), emscripten__internal__BindingType_b2AABB__2c_20void___fromWireType_28b2AABB__29(HEAP32[$4 + 4 >> 2]), emscripten__internal__BindingType_b2AABB__2c_20void___fromWireType_28b2AABB__29(HEAP32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2CircleShape__20_28__29_28_29___invoke_b2CircleShape__28b2CircleShape__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 530; + $0 = emscripten__internal__TypeID_b2CircleShape_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2CircleShape____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2CircleShape____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2RevoluteJoint____29_28float_29_2c_20void_2c_20b2RevoluteJoint__2c_20float___invoke_28void_20_28b2RevoluteJoint____20const__29_28float_29_2c_20b2RevoluteJoint__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2RevoluteJoint__2c_20void___fromWireType_28b2RevoluteJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2DistanceJoint____29_28float_29_2c_20void_2c_20b2DistanceJoint__2c_20float___invoke_28void_20_28b2DistanceJoint____20const__29_28float_29_2c_20b2DistanceJoint__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2DistanceJoint__2c_20void___fromWireType_28b2DistanceJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function __fwritex($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0; + $3 = HEAP32[$2 + 16 >> 2]; + label$1: { + if (!$3) { + if (__towrite($2)) { + break label$1; + } + $3 = HEAP32[$2 + 16 >> 2]; + } + $5 = HEAP32[$2 + 20 >> 2]; + if ($3 - $5 >>> 0 < $1 >>> 0) { + return FUNCTION_TABLE[HEAP32[$2 + 36 >> 2]]($2, $0, $1) | 0; + } + label$4: { + if (HEAP32[$2 + 80 >> 2] < 0) { + $3 = 0; + break label$4; + } + $4 = $1; + while (1) { + $3 = $4; + if (!$3) { + $3 = 0; + break label$4; + } + $4 = $3 - 1 | 0; + if (HEAPU8[$4 + $0 | 0] != 10) { + continue; + } + break; + } + $4 = FUNCTION_TABLE[HEAP32[$2 + 36 >> 2]]($2, $0, $3) | 0; + if ($4 >>> 0 < $3 >>> 0) { + break label$1; + } + $0 = $0 + $3 | 0; + $1 = $1 - $3 | 0; + $5 = HEAP32[$2 + 20 >> 2]; + } + __memcpy($5, $0, $1); + HEAP32[$2 + 20 >> 2] = HEAP32[$2 + 20 >> 2] + $1; + $4 = $1 + $3 | 0; + } + return $4; +} + +function emscripten__value_object_b2RayCastOutput___value_object_28char_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + emscripten__internal__noncopyable__noncopyable_28_29($0); + HEAP32[$2 + 12 >> 2] = 450; + HEAP32[$2 + 8 >> 2] = 451; + $1 = emscripten__internal__TypeID_b2RayCastOutput_2c_20void___get_28_29(); + $3 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 24 >> 2] = HEAP32[$2 + 12 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_int__28_29(); + $5 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + _embind_register_value_object($1 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2RayCastCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2RayCastCallbackWrapper__29____invoke_28b2RayCastCallbackWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2RayCastCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2RayCastCallbackWrapper__29__operator_28_29_28b2RayCastCallbackWrapper__29_20const($1 + 11 | 0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2ContactListenerWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2ContactListenerWrapper__29____invoke_28b2ContactListenerWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2ContactListenerWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2ContactListenerWrapper__29__operator_28_29_28b2ContactListenerWrapper__29_20const($1 + 11 | 0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__value_object_b2RayCastInput___value_object_28char_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + emscripten__internal__noncopyable__noncopyable_28_29($0); + HEAP32[$2 + 12 >> 2] = 444; + HEAP32[$2 + 8 >> 2] = 445; + $1 = emscripten__internal__TypeID_b2RayCastInput_2c_20void___get_28_29(); + $3 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 24 >> 2] = HEAP32[$2 + 12 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_int__28_29(); + $5 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + _embind_register_value_object($1 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function emscripten__internal__VectorAccess_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____get_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + label$1: { + if (HEAPU32[$3 + 4 >> 2] < std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const(HEAP32[$3 + 8 >> 2]) >>> 0) { + emscripten__val__val_b2Vec2_20const___28b2Vec2_20const__29($0, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____operator_5b_5d_5babi_v160004_5d_28unsigned_20long_29_20const(HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2])); + break label$1; + } + emscripten__val__undefined_28_29($0); + } + __stack_pointer = $3 + 16 | 0; +} + +function b2MulT_28b2Transform_20const__2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $1; + HEAP32[$3 + 24 >> 2] = $2; + HEAPF32[$3 + 20 >> 2] = HEAPF32[HEAP32[$3 + 24 >> 2] >> 2] - HEAPF32[HEAP32[$3 + 28 >> 2] >> 2]; + HEAPF32[$3 + 16 >> 2] = HEAPF32[HEAP32[$3 + 24 >> 2] + 4 >> 2] - HEAPF32[HEAP32[$3 + 28 >> 2] + 4 >> 2]; + HEAPF32[$3 + 12 >> 2] = Math_fround(HEAPF32[HEAP32[$3 + 28 >> 2] + 12 >> 2] * HEAPF32[$3 + 20 >> 2]) + Math_fround(HEAPF32[HEAP32[$3 + 28 >> 2] + 8 >> 2] * HEAPF32[$3 + 16 >> 2]); + HEAPF32[$3 + 8 >> 2] = Math_fround(Math_fround(-HEAPF32[HEAP32[$3 + 28 >> 2] + 8 >> 2]) * HEAPF32[$3 + 20 >> 2]) + Math_fround(HEAPF32[HEAP32[$3 + 28 >> 2] + 12 >> 2] * HEAPF32[$3 + 16 >> 2]); + b2Vec2__b2Vec2_28float_2c_20float_29($0, HEAPF32[$3 + 12 >> 2], HEAPF32[$3 + 8 >> 2]); + __stack_pointer = $3 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2MouseJoint____29_28b2Vec2_20const__29_2c_20void_2c_20b2MouseJoint__2c_20b2Vec2_20const____invoke_28void_20_28b2MouseJoint____20const__29_28b2Vec2_20const__29_2c_20b2MouseJoint__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2MouseJoint__2c_20void___fromWireType_28b2MouseJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2MotorJoint____29_28b2Vec2_20const__29_2c_20void_2c_20b2MotorJoint__2c_20b2Vec2_20const____invoke_28void_20_28b2MotorJoint____20const__29_28b2Vec2_20const__29_2c_20b2MotorJoint__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2MotorJoint__2c_20void___fromWireType_28b2MotorJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2FixtureDef__20_28__29_28_29___invoke_b2FixtureDef__28b2FixtureDef__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 558; + $0 = emscripten__internal__TypeID_b2FixtureDef_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2FixtureDef____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2FixtureDef____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__value_object_b2Transform___value_object_28char_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + emscripten__internal__noncopyable__noncopyable_28_29($0); + HEAP32[$2 + 12 >> 2] = 434; + HEAP32[$2 + 8 >> 2] = 435; + $1 = emscripten__internal__TypeID_b2Transform_2c_20void___get_28_29(); + $3 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 24 >> 2] = HEAP32[$2 + 12 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_int__28_29(); + $5 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + _embind_register_value_object($1 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function std____2__pair_std____2____unwrap_ref_decay_std____2__reverse_iterator_b2Vec2_____type_2c_20std____2____unwrap_ref_decay_std____2__reverse_iterator_b2Vec2_____type__20std____2__make_pair_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2____28std____2__reverse_iterator_b2Vec2_____2c_20std____2__reverse_iterator_b2Vec2_____29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2_____pair_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20_28void__290__28std____2__reverse_iterator_b2Vec2_____2c_20std____2__reverse_iterator_b2Vec2_____29($0, HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2PrismaticJoint____29_28bool_29_2c_20void_2c_20b2PrismaticJoint__2c_20bool___invoke_28void_20_28b2PrismaticJoint____20const__29_28bool_29_2c_20b2PrismaticJoint__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2 & 1; + $2 = emscripten__internal__BindingType_b2PrismaticJoint__2c_20void___fromWireType_28b2PrismaticJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1) & 1); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28b2Filter_20const__29_2c_20void_2c_20b2Fixture__2c_20b2Filter_20const____invoke_28void_20_28b2Fixture____20const__29_28b2Filter_20const__29_2c_20b2Fixture__2c_20b2Filter__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Fixture__2c_20void___fromWireType_28b2Fixture__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Filter___fromWireType_28b2Filter__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28b2Transform_20const__29_2c_20void_2c_20b2Draw__2c_20b2Transform_20const____invoke_28void_20_28b2Draw____20const__29_28b2Transform_20const__29_2c_20b2Draw__2c_20b2Transform__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Draw__2c_20void___fromWireType_28b2Draw__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__value_object_b2MassData___value_object_28char_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + emscripten__internal__noncopyable__noncopyable_28_29($0); + HEAP32[$2 + 12 >> 2] = 456; + HEAP32[$2 + 8 >> 2] = 457; + $1 = emscripten__internal__TypeID_b2MassData_2c_20void___get_28_29(); + $3 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 24 >> 2] = HEAP32[$2 + 12 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_int__28_29(); + $5 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + _embind_register_value_object($1 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function b2PrismaticJoint__GetJointTranslation_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 48 | 0; + __stack_pointer = $1; + HEAP32[$1 + 44 >> 2] = $0; + $0 = HEAP32[$1 + 44 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($1 + 36 | 0, HEAP32[$0 + 48 >> 2], $0 + 68 | 0); + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($1 + 28 | 0, HEAP32[$0 + 52 >> 2], $0 + 76 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 20 | 0, $1 + 28 | 0, $1 + 36 | 0); + b2Body__GetWorldVector_28b2Vec2_20const__29_20const($1 + 12 | 0, HEAP32[$0 + 48 >> 2], $0 + 84 | 0); + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 20 | 0, $1 + 12 | 0), + HEAPF32[wasm2js_i32$0 + 8 >> 2] = wasm2js_f32$0; + __stack_pointer = $1 + 48 | 0; + return Math_fround(HEAPF32[$1 + 8 >> 2]); +} + +function b2Simplex__WriteCache_28b2SimplexCache__29_20const($0, $1) { + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + $3 = b2Simplex__GetMetric_28_29_20const($0); + HEAPF32[HEAP32[$2 + 8 >> 2] >> 2] = $3; + HEAP16[HEAP32[$2 + 8 >> 2] + 4 >> 1] = HEAP32[$0 + 108 >> 2]; + HEAP32[$2 + 4 >> 2] = $0; + HEAP32[$2 >> 2] = 0; + while (1) { + if (HEAP32[$2 >> 2] < HEAP32[$0 + 108 >> 2]) { + HEAP8[HEAP32[$2 >> 2] + (HEAP32[$2 + 8 >> 2] + 6 | 0) | 0] = HEAP32[(HEAP32[$2 + 4 >> 2] + Math_imul(HEAP32[$2 >> 2], 36) | 0) + 28 >> 2]; + HEAP8[HEAP32[$2 >> 2] + (HEAP32[$2 + 8 >> 2] + 9 | 0) | 0] = HEAP32[(HEAP32[$2 + 4 >> 2] + Math_imul(HEAP32[$2 >> 2], 36) | 0) + 32 >> 2]; + HEAP32[$2 >> 2] = HEAP32[$2 >> 2] + 1; + continue; + } + break; + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2WheelJoint_20const____invoke_28b2Vec2_20const__20_28b2WheelJoint____20const__29_28_29_20const_2c_20b2WheelJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2WheelJoint_20const__2c_20void___fromWireType_28b2WheelJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2MouseJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2MouseJoint_20const____invoke_28b2Vec2_20const__20_28b2MouseJoint____20const__29_28_29_20const_2c_20b2MouseJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2MouseJoint_20const__2c_20void___fromWireType_28b2MouseJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2MotorJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2MotorJoint_20const____invoke_28b2Vec2_20const__20_28b2MotorJoint____20const__29_28_29_20const_2c_20b2MotorJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2MotorJoint_20const__2c_20void___fromWireType_28b2MotorJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function void_20emscripten__function_void_2c_20unsigned_20int_2c_20float__28char_20const__2c_20void_20_28__29_28unsigned_20int_2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 402; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20float___getCount_28_29_20const($2 + 19 | 0); + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20float___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 20 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__value_object_b2Filter___value_object_28char_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + emscripten__internal__noncopyable__noncopyable_28_29($0); + HEAP32[$2 + 12 >> 2] = 462; + HEAP32[$2 + 8 >> 2] = 463; + $1 = emscripten__internal__TypeID_b2Filter_2c_20void___get_28_29(); + $3 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 24 >> 2] = HEAP32[$2 + 12 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_int__28_29(); + $5 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + _embind_register_value_object($1 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2RevoluteJoint____29_28bool_29_2c_20void_2c_20b2RevoluteJoint__2c_20bool___invoke_28void_20_28b2RevoluteJoint____20const__29_28bool_29_2c_20b2RevoluteJoint__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2 & 1; + $2 = emscripten__internal__BindingType_b2RevoluteJoint__2c_20void___fromWireType_28b2RevoluteJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1) & 1); + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2JointDef__20_28__29_28_29___invoke_b2JointDef__28b2JointDef__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 599; + $0 = emscripten__internal__TypeID_b2JointDef_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2JointDef____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2JointDef____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__value_object_b2Color___value_object_28char_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + emscripten__internal__noncopyable__noncopyable_28_29($0); + HEAP32[$2 + 12 >> 2] = 440; + HEAP32[$2 + 8 >> 2] = 441; + $1 = emscripten__internal__TypeID_b2Color_2c_20void___get_28_29(); + $3 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 24 >> 2] = HEAP32[$2 + 12 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_int__28_29(); + $5 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + _embind_register_value_object($1 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2WheelJoint____29_28float_29_2c_20void_2c_20b2WheelJoint__2c_20float___invoke_28void_20_28b2WheelJoint____20const__29_28float_29_2c_20b2WheelJoint__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2WheelJoint__2c_20void___fromWireType_28b2WheelJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2MouseJoint____29_28float_29_2c_20void_2c_20b2MouseJoint__2c_20float___invoke_28void_20_28b2MouseJoint____20const__29_28float_29_2c_20b2MouseJoint__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2MouseJoint__2c_20void___fromWireType_28b2MouseJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2MotorJoint____29_28float_29_2c_20void_2c_20b2MotorJoint__2c_20float___invoke_28void_20_28b2MotorJoint____20const__29_28float_29_2c_20b2MotorJoint__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2MotorJoint__2c_20void___fromWireType_28b2MotorJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28unsigned_20int_29_2c_20void_2c_20b2Draw__2c_20unsigned_20int___invoke_28void_20_28b2Draw____20const__29_28unsigned_20int_29_2c_20b2Draw__2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Draw__2c_20void___fromWireType_28b2Draw__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__wrapper_b2Draw___call_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const__29_20const($0, $1, $2, $3, $4, $5) { + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[$6 + 28 >> 2] = $0; + HEAP32[$6 + 24 >> 2] = $1; + HEAP32[$6 + 20 >> 2] = $2; + HEAP32[$6 + 16 >> 2] = $3; + HEAP32[$6 + 12 >> 2] = $4; + HEAP32[$6 + 8 >> 2] = $5; + void_20emscripten__val__call_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const__29_20const(HEAP32[$6 + 28 >> 2] + 12 | 0, HEAP32[$6 + 24 >> 2], HEAP32[$6 + 20 >> 2], HEAP32[$6 + 16 >> 2], HEAP32[$6 + 12 >> 2], HEAP32[$6 + 8 >> 2]); + __stack_pointer = $6 + 32 | 0; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______destruct_at_end_5babi_v160004_5d_28b2Vec2__2c_20std____2__integral_constant_bool_2c_20false__29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 4 >> 2] = $1; + $0 = HEAP32[$2 + 8 >> 2]; + while (1) { + if (HEAP32[$2 + 4 >> 2] != HEAP32[$0 + 8 >> 2]) { + $3 = std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______alloc_5babi_v160004_5d_28_29($0); + $1 = HEAP32[$0 + 8 >> 2] - 8 | 0; + HEAP32[$0 + 8 >> 2] = $1; + void_20std____2__allocator_traits_std____2__allocator_b2Vec2____destroy_5babi_v160004_5d_b2Vec2_2c_20void__28std____2__allocator_b2Vec2___2c_20b2Vec2__29($3, b2Vec2__20std____2____to_address_5babi_v160004_5d_b2Vec2__28b2Vec2__29($1)); + continue; + } + break; + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__value_object_b2Vec2___value_object_28char_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + emscripten__internal__noncopyable__noncopyable_28_29($0); + HEAP32[$2 + 12 >> 2] = 418; + HEAP32[$2 + 8 >> 2] = 419; + $1 = emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29(); + $3 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 24 >> 2] = HEAP32[$2 + 12 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_int__28_29(); + $5 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + _embind_register_value_object($1 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function void_20emscripten__function_float_2c_20unsigned_20int_2c_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_2c_20int_29_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 397; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int_2c_20int___getCount_28_29_20const($2 + 19 | 0); + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int_2c_20int___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 20 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2WeldJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2WeldJoint_20const____invoke_28b2Vec2_20const__20_28b2WeldJoint____20const__29_28_29_20const_2c_20b2WeldJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2WeldJoint_20const__2c_20void___fromWireType_28b2WeldJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2RopeJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2RopeJoint_20const____invoke_28b2Vec2_20const__20_28b2RopeJoint____20const__29_28_29_20const_2c_20b2RopeJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2RopeJoint_20const__2c_20void___fromWireType_28b2RopeJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function void_20emscripten__function_void_2c_20unsigned_20int_2c_20bool__28char_20const__2c_20void_20_28__29_28unsigned_20int_2c_20bool_29_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 400; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20bool___getCount_28_29_20const($2 + 19 | 0); + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20bool___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 20 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__value_object_b2Rot___value_object_28char_20const__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 20 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $1; + $0 = HEAP32[$2 + 20 >> 2]; + emscripten__internal__noncopyable__noncopyable_28_29($0); + HEAP32[$2 + 12 >> 2] = 430; + HEAP32[$2 + 8 >> 2] = 431; + $1 = emscripten__internal__TypeID_b2Rot_2c_20void___get_28_29(); + $3 = HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 24 >> 2] = HEAP32[$2 + 12 >> 2]; + $4 = char_20const__20emscripten__internal__getGenericSignature_int__28_29(); + $5 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; + _embind_register_value_object($1 | 0, $3 | 0, $4 | 0, $5 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 32 | 0; + return $0; +} + +function emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2QueryCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2QueryCallbackWrapper__29____invoke_28b2QueryCallbackWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2QueryCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2QueryCallbackWrapper__29__operator_28_29_28b2QueryCallbackWrapper__29_20const($1 + 11 | 0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2Filter_20const__20_28b2Fixture____29_28_29_20const_2c_20b2Filter_20const__2c_20b2Fixture_20const____invoke_28b2Filter_20const__20_28b2Fixture____20const__29_28_29_20const_2c_20b2Fixture_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Fixture_20const__2c_20void___fromWireType_28b2Fixture_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2Filter___toWireType_28b2Filter_20const__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function decltype_28std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false_____unwrap_28std__declval_std____2__reverse_iterator_b2Vec2____28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false__2c_200__28std____2__reverse_iterator_b2Vec2___29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 8 >> 2]; + wasm2js_i32$0 = $1, wasm2js_i32$1 = std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false_____unwrap_5babi_v160004_5d_28std____2__reverse_iterator_b2Vec2___29(HEAP32[$1 + 4 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2BodyDef__20_28__29_28_29___invoke_b2BodyDef__28b2BodyDef__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 576; + $0 = emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2BodyDef____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2BodyDef____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2WeldJoint____29_28float_29_2c_20void_2c_20b2WeldJoint__2c_20float___invoke_28void_20_28b2WeldJoint____20const__29_28float_29_2c_20b2WeldJoint__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2WeldJoint__2c_20void___fromWireType_28b2WeldJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2RopeJoint____29_28float_29_2c_20void_2c_20b2RopeJoint__2c_20float___invoke_28void_20_28b2RopeJoint____20const__29_28float_29_2c_20b2RopeJoint__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2RopeJoint__2c_20void___fromWireType_28b2RopeJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__val_20emscripten__internal__wrapped_extend_b2RayCastCallbackWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + emscripten__val__take_ownership_28emscripten___EM_VAL__29($0, _embind_create_inheriting_constructor(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const(HEAP32[$3 + 8 >> 2]) | 0, emscripten__internal__TypeID_b2RayCastCallbackWrapper_2c_20void___get_28_29() | 0, emscripten__val__as_handle_28_29_20const(HEAP32[$3 + 4 >> 2]) | 0) | 0); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__val_20emscripten__internal__wrapped_extend_b2ContactListenerWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + emscripten__val__take_ownership_28emscripten___EM_VAL__29($0, _embind_create_inheriting_constructor(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const(HEAP32[$3 + 8 >> 2]) | 0, emscripten__internal__TypeID_b2ContactListenerWrapper_2c_20void___get_28_29() | 0, emscripten__val__as_handle_28_29_20const(HEAP32[$3 + 4 >> 2]) | 0) | 0); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2Transform_20const__20_28b2Body____29_28_29_20const_2c_20b2Transform_20const__2c_20b2Body_20const____invoke_28b2Transform_20const__20_28b2Body____20const__29_28_29_20const_2c_20b2Body_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Body_20const__2c_20void___fromWireType_28b2Body_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2Transform___toWireType_28b2Transform_20const__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__MethodCaller_void_2c_20unsigned_20int____call_28emscripten___EM_VAL__2c_20char_20const__2c_20unsigned_20int__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + wasm2js_i32$0 = $3, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20unsigned_20int____get_method_caller_28_29(), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_unsigned_20int____WireTypePack_28unsigned_20int__29($3 + 8 | 0, HEAP32[$3 + 20 >> 2]); + _emval_call_void_method(HEAP32[$3 + 16 >> 2], HEAP32[$3 + 28 >> 2], HEAP32[$3 + 24 >> 2], emscripten__internal__WireTypePack_unsigned_20int____operator_20void_20const__28_29_20const($3 + 8 | 0) | 0); + __stack_pointer = $3 + 32 | 0; +} + +function b2BlockAllocator__b2BlockAllocator_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 + 8 >> 2] = 128; + HEAP32[$0 + 4 >> 2] = 0; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Alloc_28int_29(HEAP32[$0 + 8 >> 2] << 3), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __memset(HEAP32[$0 >> 2], 0, HEAP32[$0 + 8 >> 2] << 3); + HEAP32[$0 + 12 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 60 >> 2] = 0; + HEAP32[$0 + 64 >> 2] = 0; + HEAP32[$0 + 52 >> 2] = 0; + HEAP32[$0 + 56 >> 2] = 0; + HEAP32[$0 + 44 >> 2] = 0; + HEAP32[$0 + 48 >> 2] = 0; + HEAP32[$0 + 36 >> 2] = 0; + HEAP32[$0 + 40 >> 2] = 0; + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 32 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______base_destruct_at_end_5babi_v160004_5d_28int__29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; + while (1) { + if (HEAP32[$2 + 8 >> 2] != HEAP32[$2 + 4 >> 2]) { + $3 = std____2__vector_int_2c_20std____2__allocator_int______alloc_5babi_v160004_5d_28_29($0); + $1 = HEAP32[$2 + 4 >> 2] - 4 | 0; + HEAP32[$2 + 4 >> 2] = $1; + void_20std____2__allocator_traits_std____2__allocator_int____destroy_5babi_v160004_5d_int_2c_20void__28std____2__allocator_int___2c_20int__29($3, int__20std____2____to_address_5babi_v160004_5d_int__28int__29($1)); + continue; + } + break; + } + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 8 >> 2]; + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__val_20emscripten__internal__wrapped_extend_b2QueryCallbackWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + emscripten__val__take_ownership_28emscripten___EM_VAL__29($0, _embind_create_inheriting_constructor(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const(HEAP32[$3 + 8 >> 2]) | 0, emscripten__internal__TypeID_b2QueryCallbackWrapper_2c_20void___get_28_29() | 0, emscripten__val__as_handle_28_29_20const(HEAP32[$3 + 4 >> 2]) | 0) | 0); + __stack_pointer = $3 + 16 | 0; +} + +function b2ChainAndPolygonContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$5 + 12 >> 2], 148), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$5 + 8 >> 2]; + b2ChainAndPolygonContact__b2ChainAndPolygonContact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, HEAP32[$5 + 28 >> 2], HEAP32[$5 + 24 >> 2], HEAP32[$5 + 20 >> 2], HEAP32[$5 + 16 >> 2]); + __stack_pointer = $5 + 32 | 0; + return $0 | 0; +} + +function void_20emscripten__function_unsigned_20int_2c_20unsigned_20int__28char_20const__2c_20unsigned_20int_20_28__29_28unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 405; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20unsigned_20int___getCount_28_29_20const($2 + 19 | 0); + $3 = emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20unsigned_20int___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 20 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____allocate_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + if (HEAPU32[$2 + 8 >> 2] > unsigned_20long_20std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______max_size_5babi_v160004_5d_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void____2c_20void__28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void____20const__29(HEAP32[$2 + 12 >> 2]) >>> 0) { + std____throw_bad_array_new_length_5babi_v160004_5d_28_29(); + wasm2js_trap(); + } + $0 = std____2____libcpp_allocate_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29(Math_imul(HEAP32[$2 + 8 >> 2], 20), 4); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function b2ChainAndCircleContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$5 + 12 >> 2], 148), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$5 + 8 >> 2]; + b2ChainAndCircleContact__b2ChainAndCircleContact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, HEAP32[$5 + 28 >> 2], HEAP32[$5 + 24 >> 2], HEAP32[$5 + 20 >> 2], HEAP32[$5 + 16 >> 2]); + __stack_pointer = $5 + 32 | 0; + return $0 | 0; +} + +function emscripten__internal__VectorAccess_std____2__vector_int_2c_20std____2__allocator_int_____get_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + label$1: { + if (HEAPU32[$3 + 4 >> 2] < std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const(HEAP32[$3 + 8 >> 2]) >>> 0) { + emscripten__val__val_int_20const___28int_20const__29($0, std____2__vector_int_2c_20std____2__allocator_int____operator_5b_5d_5babi_v160004_5d_28unsigned_20long_29_20const(HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2])); + break label$1; + } + emscripten__val__undefined_28_29($0); + } + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2PrismaticJoint____29_28_29_20const_2c_20bool_2c_20b2PrismaticJoint_20const____invoke_28bool_20_28b2PrismaticJoint____20const__29_28_29_20const_2c_20b2PrismaticJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2PrismaticJoint_20const__2c_20void___fromWireType_28b2PrismaticJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($1) & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2Vec2_20const__29_2c_20void_2c_20b2World__2c_20b2Vec2_20const____invoke_28void_20_28b2World____20const__29_28b2Vec2_20const__29_2c_20b2World__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2World__2c_20void___fromWireType_28b2World__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2WheelJoint____29_28bool_29_2c_20void_2c_20b2WheelJoint__2c_20bool___invoke_28void_20_28b2WheelJoint____20const__29_28bool_29_2c_20b2WheelJoint__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2 & 1; + $2 = emscripten__internal__BindingType_b2WheelJoint__2c_20void___fromWireType_28b2WheelJoint__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1) & 1); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28float_29_2c_20void_2c_20b2Fixture__2c_20float___invoke_28void_20_28b2Fixture____20const__29_28float_29_2c_20b2Fixture__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2Fixture__2c_20void___fromWireType_28b2Fixture__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2Shape__Type_20_28b2Fixture____29_28_29_20const_2c_20b2Shape__Type_2c_20b2Fixture_20const____invoke_28b2Shape__Type_20_28b2Fixture____20const__29_28_29_20const_2c_20b2Fixture_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Fixture_20const__2c_20void___fromWireType_28b2Fixture_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__EnumBindingType_b2Shape__Type___toWireType_28b2Shape__Type_29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Cross_28b2Vec3_20const__2c_20b2Vec3_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec3__b2Vec3_28float_2c_20float_2c_20float_29($0, Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 8 >> 2]) - Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 8 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])), Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 8 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) - Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 8 >> 2])), Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2]) - Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]))); + __stack_pointer = $3 + 16 | 0; +} + +function std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2_______compressed_pair_5babi_v160004_5d_std__nullptr_t_2c_20std____2__allocator_b2Vec2____28std__nullptr_t___2c_20std____2__allocator_b2Vec2___29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + std____2____compressed_pair_elem_b2Vec2__2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std__nullptr_t_2c_20void__28std__nullptr_t___29($0, HEAP32[$3 + 8 >> 2]); + std____2____compressed_pair_elem_std____2__allocator_b2Vec2___2c_201_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std____2__allocator_b2Vec2___2c_20void__28std____2__allocator_b2Vec2___29($0 + 4 | 0, HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2RevoluteJoint____29_28_29_20const_2c_20bool_2c_20b2RevoluteJoint_20const____invoke_28bool_20_28b2RevoluteJoint____20const__29_28_29_20const_2c_20b2RevoluteJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2RevoluteJoint_20const__2c_20void___fromWireType_28b2RevoluteJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($1) & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2Vec2_20const__29_2c_20void_2c_20b2Body__2c_20b2Vec2_20const____invoke_28void_20_28b2Body____20const__29_28b2Vec2_20const__29_2c_20b2Body__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__RegisterClassConstructor_b2AABB__20_28__29_28_29___invoke_b2AABB__28b2AABB__20_28__29_28_29_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 >> 2] = 497; + $0 = emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29(); + $2 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2AABB____getCount_28_29_20const($1 + 7 | 0); + $3 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2AABB____getTypes_28_29_20const($1 + 7 | 0); + HEAP32[$1 + 12 >> 2] = HEAP32[$1 >> 2]; + _embind_register_class_constructor($0 | 0, $2 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0, HEAP32[$1 >> 2], HEAP32[$1 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2Fixture__29_2c_20void_2c_20b2Body__2c_20b2Fixture____invoke_28void_20_28b2Body____20const__29_28b2Fixture__29_2c_20b2Body__2c_20b2Fixture__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2Fixture__2c_20void___fromWireType_28b2Fixture__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function decltype_28std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false_____unwrap_28std__declval_std____2__reverse_iterator_int____28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false__2c_200__28std____2__reverse_iterator_int___29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 8 >> 2]; + wasm2js_i32$0 = $1, wasm2js_i32$1 = std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false_____unwrap_5babi_v160004_5d_28std____2__reverse_iterator_int___29(HEAP32[$1 + 4 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2PolygonShape____29_28_29_20const_2c_20bool_2c_20b2PolygonShape_20const____invoke_28bool_20_28b2PolygonShape____20const__29_28_29_20const_2c_20b2PolygonShape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2PolygonShape_20const__2c_20void___fromWireType_28b2PolygonShape_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($1) & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function std____2__pair_std____2____unwrap_ref_decay_std____2__reverse_iterator_int_____type_2c_20std____2____unwrap_ref_decay_std____2__reverse_iterator_int_____type__20std____2__make_pair_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int____28std____2__reverse_iterator_int_____2c_20std____2__reverse_iterator_int_____29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int_____pair_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20_28void__290__28std____2__reverse_iterator_int_____2c_20std____2__reverse_iterator_int_____29($0, HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__val_20emscripten__internal__wrapped_extend_b2DrawWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + emscripten__val__take_ownership_28emscripten___EM_VAL__29($0, _embind_create_inheriting_constructor(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const(HEAP32[$3 + 8 >> 2]) | 0, emscripten__internal__TypeID_b2DrawWrapper_2c_20void___get_28_29() | 0, emscripten__val__as_handle_28_29_20const(HEAP32[$3 + 4 >> 2]) | 0) | 0); + __stack_pointer = $3 + 16 | 0; +} + +function b2CircleShape__TestPoint_28b2Transform_20const__2c_20b2Vec2_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = Math_fround(0); + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 44 >> 2] = $0; + HEAP32[$3 + 40 >> 2] = $1; + HEAP32[$3 + 36 >> 2] = $2; + $1 = HEAP32[$3 + 40 >> 2]; + $0 = HEAP32[$3 + 44 >> 2]; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 20 | 0, HEAP32[$3 + 40 >> 2] + 8 | 0, $0 + 12 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 28 | 0, $1, $3 + 20 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 12 | 0, HEAP32[$3 + 36 >> 2], $3 + 28 | 0); + $1 = $3 + 12 | 0; + $4 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($1, $1); + __stack_pointer = $3 + 48 | 0; + return Math_fround(HEAPF32[$0 + 8 >> 2] * HEAPF32[$0 + 8 >> 2]) >= $4 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2Joint__29_2c_20void_2c_20b2World__2c_20b2Joint____invoke_28void_20_28b2World____20const__29_28b2Joint__29_2c_20b2World__2c_20b2Joint__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2World__2c_20void___fromWireType_28b2World__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2Joint__2c_20void___fromWireType_28b2Joint__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2BodyType_29_2c_20void_2c_20b2Body__2c_20b2BodyType___invoke_28void_20_28b2Body____20const__29_28b2BodyType_29_2c_20b2Body__2c_20b2BodyType_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__EnumBindingType_b2BodyType___fromWireType_28b2BodyType_29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2Shape__Type_20_28b2Shape____29_28_29_20const_2c_20b2Shape__Type_2c_20b2Shape_20const____invoke_28b2Shape__Type_20_28b2Shape____20const__29_28_29_20const_2c_20b2Shape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Shape_20const__2c_20void___fromWireType_28b2Shape_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__EnumBindingType_b2Shape__Type___toWireType_28b2Shape__Type_29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2ContactListenerWrapper__PostSolve_28unsigned_20int_2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + label$1: { + if (!(b2ContactListenerWrapper__isIndexOf_28unsigned_20int_29($0, b2Contact__GetFixtureA_28_29(HEAP32[$3 + 8 >> 2])) & 1)) { + if (!(b2ContactListenerWrapper__isIndexOf_28unsigned_20int_29($0, b2Contact__GetFixtureB_28_29(HEAP32[$3 + 8 >> 2])) & 1)) { + break label$1; + } + } + void_20emscripten__wrapper_b2ContactListener___call_void_2c_20unsigned_20int__2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__2c_20unsigned_20int__29_20const($0, 8679, $3 + 8 | 0, $3 + 4 | 0); + } + __stack_pointer = $3 + 16 | 0; +} + +function b2ContactListenerWrapper__PreSolve_28unsigned_20int_2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + label$1: { + if (!(b2ContactListenerWrapper__isIndexOf_28unsigned_20int_29($0, b2Contact__GetFixtureA_28_29(HEAP32[$3 + 8 >> 2])) & 1)) { + if (!(b2ContactListenerWrapper__isIndexOf_28unsigned_20int_29($0, b2Contact__GetFixtureB_28_29(HEAP32[$3 + 8 >> 2])) & 1)) { + break label$1; + } + } + void_20emscripten__wrapper_b2ContactListener___call_void_2c_20unsigned_20int__2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__2c_20unsigned_20int__29_20const($0, 8689, $3 + 8 | 0, $3 + 4 | 0); + } + __stack_pointer = $3 + 16 | 0; +} + +function std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____end_5babi_v160004_5d_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + wasm2js_i32$0 = $1, wasm2js_i32$1 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____end_5babi_v160004_5d_28_29(HEAP32[$1 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____tree_const_iterator_5babi_v160004_5d_28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__29($1 + 12 | 0, HEAP32[$1 + 4 >> 2]); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2Body____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2Body_20const____invoke_28b2Vec2_20const__20_28b2Body____20const__29_28_29_20const_2c_20b2Body_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Body_20const__2c_20void___fromWireType_28b2Body_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function std____2____compressed_pair_unsigned_20long_2c_20std____2__less_b2Fixture_______compressed_pair_5babi_v160004_5d_int_2c_20std____2__less_b2Fixture___20const___28int___2c_20std____2__less_b2Fixture___20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + std____2____compressed_pair_elem_unsigned_20long_2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_int_2c_20void__28int___29($0, HEAP32[$3 + 8 >> 2]); + std____2____compressed_pair_elem_std____2__less_b2Fixture___2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_std____2__less_b2Fixture___20const__2c_20void__28std____2__less_b2Fixture___20const__29($0, HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28bool_29_2c_20void_2c_20b2Fixture__2c_20bool___invoke_28void_20_28b2Fixture____20const__29_28bool_29_2c_20b2Fixture__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2 & 1; + $2 = emscripten__internal__BindingType_b2Fixture__2c_20void___fromWireType_28b2Fixture__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1) & 1); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Body____29_28float_29_2c_20void_2c_20b2Body__2c_20float___invoke_28void_20_28b2Body____20const__29_28float_29_2c_20b2Body__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $4 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $4 = ($1 >> 1) + $4 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$4 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($4, emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2Draw__29_2c_20void_2c_20b2World__2c_20b2Draw____invoke_28void_20_28b2World____20const__29_28b2Draw__29_2c_20b2World__2c_20b2Draw__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2World__2c_20void___fromWireType_28b2World__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2Draw__2c_20void___fromWireType_28b2Draw__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2Body__29_2c_20void_2c_20b2World__2c_20b2Body____invoke_28void_20_28b2World____20const__29_28b2Body__29_2c_20b2World__2c_20b2Body__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2World__2c_20void___fromWireType_28b2World__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int_______destruct_at_end_5babi_v160004_5d_28int__2c_20std____2__integral_constant_bool_2c_20false__29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 4 >> 2] = $1; + $0 = HEAP32[$2 + 8 >> 2]; + while (1) { + if (HEAP32[$2 + 4 >> 2] != HEAP32[$0 + 8 >> 2]) { + $3 = std____2____split_buffer_int_2c_20std____2__allocator_int_______alloc_5babi_v160004_5d_28_29($0); + $1 = HEAP32[$0 + 8 >> 2] - 4 | 0; + HEAP32[$0 + 8 >> 2] = $1; + void_20std____2__allocator_traits_std____2__allocator_int____destroy_5babi_v160004_5d_int_2c_20void__28std____2__allocator_int___2c_20int__29($3, int__20std____2____to_address_5babi_v160004_5d_int__28int__29($1)); + continue; + } + break; + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2WheelJoint____29_28_29_20const_2c_20bool_2c_20b2WheelJoint_20const____invoke_28bool_20_28b2WheelJoint____20const__29_28_29_20const_2c_20b2WheelJoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2WheelJoint_20const__2c_20void___fromWireType_28b2WheelJoint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($1) & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function emscripten__internal__MethodInvoker_b2JointType_20_28b2Joint____29_28_29_20const_2c_20b2JointType_2c_20b2Joint_20const____invoke_28b2JointType_20_28b2Joint____20const__29_28_29_20const_2c_20b2Joint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Joint_20const__2c_20void___fromWireType_28b2Joint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__EnumBindingType_b2JointType___toWireType_28b2JointType_29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______insert_unique_5babi_v160004_5d_28b2Fixture__20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + std____2__pair_std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool__20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______emplace_unique_key_args_b2Fixture__2c_20b2Fixture__20const___28b2Fixture__20const__2c_20b2Fixture__20const__29($0, HEAP32[$3 + 12 >> 2], std____2____tree_key_value_types_b2Fixture______get_key_5babi_v160004_5d_28b2Fixture__20const__29(HEAP32[$3 + 8 >> 2]), HEAP32[$3 + 8 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____push_back_5babi_v160004_5d_28b2Vec2_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + label$1: { + if (HEAP32[$0 + 4 >> 2] != HEAP32[std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______end_cap_5babi_v160004_5d_28_29($0) >> 2]) { + void_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______construct_one_at_end_5babi_v160004_5d_b2Vec2_20const___28b2Vec2_20const__29($0, HEAP32[$2 + 8 >> 2]); + break label$1; + } + void_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______push_back_slow_path_b2Vec2_20const___28b2Vec2_20const__29($0, HEAP32[$2 + 8 >> 2]); + } + __stack_pointer = $2 + 16 | 0; +} + +function std____2____compressed_pair_int__2c_20std____2__allocator_int_______compressed_pair_5babi_v160004_5d_std__nullptr_t_2c_20std____2__allocator_int____28std__nullptr_t___2c_20std____2__allocator_int___29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + std____2____compressed_pair_elem_int__2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std__nullptr_t_2c_20void__28std__nullptr_t___29($0, HEAP32[$3 + 8 >> 2]); + std____2____compressed_pair_elem_std____2__allocator_int___2c_201_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std____2__allocator_int___2c_20void__28std____2__allocator_int___29($0 + 4 | 0, HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; + return $0; +} + +function b2PrismaticJoint__SetLimits_28float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAPF32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + if (!(HEAPF32[$3 + 8 >> 2] <= HEAPF32[$3 + 4 >> 2])) { + __assert_fail(3971, 4498, 534, 3355); + wasm2js_trap(); + } + if (!(HEAPF32[$3 + 8 >> 2] == HEAPF32[$0 + 124 >> 2] & HEAPF32[$3 + 4 >> 2] == HEAPF32[$0 + 128 >> 2])) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAPF32[$0 + 124 >> 2] = HEAPF32[$3 + 8 >> 2]; + HEAPF32[$0 + 128 >> 2] = HEAPF32[$3 + 4 >> 2]; + HEAPF32[$0 + 116 >> 2] = 0; + HEAPF32[$0 + 120 >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2World____29_28bool_29_2c_20void_2c_20b2World__2c_20bool___invoke_28void_20_28b2World____20const__29_28bool_29_2c_20b2World__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2 & 1; + $2 = emscripten__internal__BindingType_b2World__2c_20void___fromWireType_28b2World__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1) & 1); + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__function_float_2c_20unsigned_20int__28char_20const__2c_20float_20_28__29_28unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 403; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int___getCount_28_29_20const($2 + 19 | 0); + $3 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 20 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2RevoluteJoint__SetLimits_28float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAPF32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + if (!(HEAPF32[$3 + 8 >> 2] <= HEAPF32[$3 + 4 >> 2])) { + __assert_fail(3971, 4361, 428, 3355); + wasm2js_trap(); + } + if (!(HEAPF32[$3 + 8 >> 2] == HEAPF32[$0 + 124 >> 2] & HEAPF32[$3 + 4 >> 2] == HEAPF32[$0 + 128 >> 2])) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAPF32[$0 + 96 >> 2] = 0; + HEAPF32[$0 + 100 >> 2] = 0; + HEAPF32[$0 + 124 >> 2] = HEAPF32[$3 + 8 >> 2]; + HEAPF32[$0 + 128 >> 2] = HEAPF32[$3 + 4 >> 2]; + } + __stack_pointer = $3 + 16 | 0; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2________split_buffer_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_____clear_5babi_v160004_5d_28_29($0); + if (HEAP32[$0 >> 2]) { + std____2__allocator_traits_std____2__allocator_b2Vec2____deallocate_5babi_v160004_5d_28std____2__allocator_b2Vec2___2c_20b2Vec2__2c_20unsigned_20long_29(std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______alloc_5babi_v160004_5d_28_29($0), HEAP32[$0 >> 2], std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_____capacity_5babi_v160004_5d_28_29_20const($0)); + } + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28int_29_2c_20void_2c_20b2Fixture__2c_20int___invoke_28void_20_28b2Fixture____20const__29_28int_29_2c_20b2Fixture__2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_b2Fixture__2c_20void___fromWireType_28b2Fixture__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2BodyType_20_28b2Body____29_28_29_20const_2c_20b2BodyType_2c_20b2Body_20const____invoke_28b2BodyType_20_28b2Body____20const__29_28_29_20const_2c_20b2Body_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Body_20const__2c_20void___fromWireType_28b2Body_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__EnumBindingType_b2BodyType___toWireType_28b2BodyType_29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function void_20emscripten__function_void_2c_20unsigned_20int__28char_20const__2c_20void_20_28__29_28unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 404; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int___getCount_28_29_20const($2 + 19 | 0); + $3 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 20 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Body____29_28bool_29_2c_20void_2c_20b2Body__2c_20bool___invoke_28void_20_28b2Body____20const__29_28bool_29_2c_20b2Body__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2 & 1; + $2 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$3 + 8 >> 2]); + $0 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $2 = ($1 >> 1) + $2 | 0; + if ($1 & 1) { + $0 = HEAP32[HEAP32[$2 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1) & 1); + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__function_bool_2c_20unsigned_20int__28char_20const__2c_20bool_20_28__29_28unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 401; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20unsigned_20int___getCount_28_29_20const($2 + 19 | 0); + $3 = emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20unsigned_20int___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 20 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__Invoker_void_2c_20b2Joint__2c_20float_2c_20float___invoke_28void_20_28__29_28b2Joint__2c_20float_2c_20float_29_2c_20b2Joint__2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAPF32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $0 = HEAP32[$4 + 12 >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_b2Joint__2c_20void___fromWireType_28b2Joint__29(HEAP32[$4 + 8 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 + 4 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$4 >> 2])); + __stack_pointer = $4 + 16 | 0; +} + +function b2RayCastCallbackWrapper__ReportFixture_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAPF32[$5 + 12 >> 2] = $4; + $4 = float_20emscripten__wrapper_b2RayCastCallback___call_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float___28char_20const__2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float__29_20const(HEAP32[$5 + 28 >> 2], 9168, $5 + 24 | 0, HEAP32[$5 + 20 >> 2], HEAP32[$5 + 16 >> 2], $5 + 12 | 0); + __stack_pointer = $5 + 32 | 0; + return Math_fround($4); +} + +function emscripten__internal__MethodInvoker_b2Vec2_20_28b2World____29_28_29_20const_2c_20b2Vec2_2c_20b2World_20const____invoke_28b2Vec2_20_28b2World____20const__29_28_29_20const_2c_20b2World_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2World_20const__2c_20void___fromWireType_28b2World_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, $1); + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2___29($2); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20_28b2Joint____29_28_29_20const_2c_20b2Vec2_2c_20b2Joint_20const____invoke_28b2Vec2_20_28b2Joint____20const__29_28_29_20const_2c_20b2Joint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Joint_20const__2c_20void___fromWireType_28b2Joint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, $1); + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2___29($2); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + HEAPF32[$3 + 4 >> 2] = Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 12 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) - Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 8 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])) + HEAPF32[HEAP32[$3 + 12 >> 2] >> 2]; + HEAPF32[$3 >> 2] = Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 8 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) + Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 12 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])) + HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2]; + b2Vec2__b2Vec2_28float_2c_20float_29($0, HEAPF32[$3 + 4 >> 2], HEAPF32[$3 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__Signature_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____get_method_caller_28_29() { + var $0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = __stack_pointer - 16 | 0; + __stack_pointer = $0; + if (!(HEAP8[30084] & 1)) { + wasm2js_i32$0 = 30080, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____getCount_28_29_20const($0 + 15 | 0) | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____getTypes_28_29_20const($0 + 15 | 0) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[30084] = 1; + } + __stack_pointer = $0 + 16 | 0; + return HEAP32[7520]; +} + +function emscripten__internal__Signature_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____get_method_caller_28_29() { + var $0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = __stack_pointer - 16 | 0; + __stack_pointer = $0; + if (!(HEAP8[30044] & 1)) { + wasm2js_i32$0 = 30040, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____getCount_28_29_20const($0 + 15 | 0) | 0, emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____getTypes_28_29_20const($0 + 15 | 0) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[30044] = 1; + } + __stack_pointer = $0 + 16 | 0; + return HEAP32[7510]; +} + +function void_20emscripten__function_int_2c_20unsigned_20int__28char_20const__2c_20int_20_28__29_28unsigned_20int_29_29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 24 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = 409; + $0 = HEAP32[$2 + 24 >> 2]; + $1 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20unsigned_20int___getCount_28_29_20const($2 + 19 | 0); + $3 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20unsigned_20int___getTypes_28_29_20const($2 + 19 | 0); + HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; + _embind_register_function($0 | 0, $1 | 0, $3 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 20 >> 2], 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2Fixture____29_28_29_20const_2c_20bool_2c_20b2Fixture_20const____invoke_28bool_20_28b2Fixture____20const__29_28_29_20const_2c_20b2Fixture_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Fixture_20const__2c_20void___fromWireType_28b2Fixture_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($1) & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function emscripten__internal__Invoker_b2Vec2_2c_20b2Transform_20const__2c_20b2Vec2_20const____invoke_28b2Vec2_20_28__29_28b2Transform_20const__2c_20b2Vec2_20const__29_2c_20b2Transform__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + FUNCTION_TABLE[$0 | 0]($3 + 12 | 0, emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29(HEAP32[$3 + 24 >> 2]), emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 20 >> 2])); + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2___29($3 + 12 | 0); + __stack_pointer = $3 + 32 | 0; + return $0 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_pointer_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + label$1: { + if (std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______is_long_5babi_v160004_5d_28_29_20const($0) & 1) { + $0 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29_20const($0); + break label$1; + } + $0 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29_20const($0); + } + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2BroadPhase__BufferMove_28int_29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAP32[$0 + 40 >> 2] == HEAP32[$0 + 36 >> 2]) { + HEAP32[$2 + 4 >> 2] = HEAP32[$0 + 32 >> 2]; + HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 36 >> 2] << 1; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Alloc_28int_29(HEAP32[$0 + 36 >> 2] << 2), + HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + __memcpy(HEAP32[$0 + 32 >> 2], HEAP32[$2 + 4 >> 2], HEAP32[$0 + 40 >> 2] << 2); + b2Free_28void__29(HEAP32[$2 + 4 >> 2]); + } + HEAP32[HEAP32[$0 + 32 >> 2] + (HEAP32[$0 + 40 >> 2] << 2) >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 40 >> 2] = HEAP32[$0 + 40 >> 2] + 1; + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_b2Vec2_20_28b2AABB____29_28_29_20const_2c_20b2Vec2_2c_20b2AABB_20const____invoke_28b2Vec2_20_28b2AABB____20const__29_28_29_20const_2c_20b2AABB_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2AABB_20const__2c_20void___fromWireType_28b2AABB_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($2, $1); + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2___29($2); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Body__Advance_28float_29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAPF32[$3 + 24 >> 2] = $1; + $2 = HEAP32[$3 + 28 >> 2]; + b2Sweep__Advance_28float_29($2 + 28 | 0, HEAPF32[$3 + 24 >> 2]); + $0 = HEAP32[$2 + 40 >> 2]; + $4 = HEAP32[$2 + 36 >> 2]; + HEAP32[$2 + 44 >> 2] = $4; + HEAP32[$2 + 48 >> 2] = $0; + HEAPF32[$2 + 56 >> 2] = HEAPF32[$2 + 52 >> 2]; + b2Rot__Set_28float_29($2 + 20 | 0, HEAPF32[$2 + 56 >> 2]); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 8 | 0, $2 + 20 | 0, $2 + 28 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 16 | 0, $2 + 44 | 0, $3 + 8 | 0); + $4 = HEAP32[$3 + 20 >> 2]; + $0 = HEAP32[$3 + 16 >> 2]; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 16 >> 2] = $4; + __stack_pointer = $3 + 32 | 0; +} + +function emscripten__internal__FunctionInvoker_float_20_28__29_28b2Shape__29_2c_20float_2c_20b2Shape____invoke_28float_20_28___29_28b2Shape__29_2c_20b2Shape__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[HEAP32[$2 + 12 >> 2] >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_b2Shape__2c_20void___fromWireType_28b2Shape__29(HEAP32[$2 + 8 >> 2]))), + HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function b2PolygonShape__b2PolygonShape_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 8 >> 2] = $0; + $1 = HEAP32[$2 + 8 >> 2]; + HEAP32[$2 + 12 >> 2] = $1; + b2Shape__b2Shape_28_29($1); + HEAP32[$1 >> 2] = 18064; + b2Vec2__b2Vec2_28_29($1 + 12 | 0); + $0 = $1 + 20 | 0; + $3 = $0 - -64 | 0; + while (1) { + b2Vec2__b2Vec2_28_29($0); + $0 = $0 + 8 | 0; + if (($3 | 0) != ($0 | 0)) { + continue; + } + break; + } + $0 = $1 + 84 | 0; + $3 = $0 - -64 | 0; + while (1) { + b2Vec2__b2Vec2_28_29($0); + $0 = $0 + 8 | 0; + if (($3 | 0) != ($0 | 0)) { + continue; + } + break; + } + HEAP32[$1 + 4 >> 2] = 2; + HEAPF32[$1 + 8 >> 2] = .009999999776482582; + HEAP32[$1 + 148 >> 2] = 0; + b2Vec2__SetZero_28_29($1 + 12 | 0); + __stack_pointer = $2 + 16 | 0; + return HEAP32[$2 + 12 >> 2]; +} + +function b2EdgeAndPolygonContact__b2EdgeAndPolygonContact_28b2Fixture__2c_20b2Fixture__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 8 >> 2] = $0; + HEAP32[$3 + 4 >> 2] = $1; + HEAP32[$3 >> 2] = $2; + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$3 + 12 >> 2] = $0; + b2Contact__b2Contact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, HEAP32[$3 + 4 >> 2], 0, HEAP32[$3 >> 2], 0); + HEAP32[$0 >> 2] = 18596; + if ((b2Fixture__GetType_28_29_20const(HEAP32[$0 + 48 >> 2]) | 0) != 1) { + __assert_fail(9752, 4707, 45, 3059); + wasm2js_trap(); + } + if ((b2Fixture__GetType_28_29_20const(HEAP32[$0 + 52 >> 2]) | 0) != 2) { + __assert_fail(6761, 4707, 46, 3059); + wasm2js_trap(); + } + __stack_pointer = $3 + 16 | 0; + return HEAP32[$3 + 12 >> 2]; +} + +function b2MulT_28b2Transform_20const__2c_20b2Transform_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $1; + HEAP32[$3 + 24 >> 2] = $2; + b2Transform__b2Transform_28_29($0); + b2MulT_28b2Rot_20const__2c_20b2Rot_20const__29($3 + 16 | 0, HEAP32[$3 + 28 >> 2] + 8 | 0, HEAP32[$3 + 24 >> 2] + 8 | 0); + $1 = HEAP32[$3 + 20 >> 2]; + $2 = HEAP32[$3 + 16 >> 2]; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + $1 = HEAP32[$3 + 28 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3, HEAP32[$3 + 24 >> 2], HEAP32[$3 + 28 >> 2]); + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($3 + 8 | 0, $1 + 8 | 0, $3); + $2 = HEAP32[$3 + 12 >> 2]; + $1 = HEAP32[$3 + 8 >> 2]; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 32 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2World____29_28_29_20const_2c_20bool_2c_20b2World_20const____invoke_28bool_20_28b2World____20const__29_28_29_20const_2c_20b2World_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2World_20const__2c_20void___fromWireType_28b2World_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($1) & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2Joint____29_28_29_20const_2c_20bool_2c_20b2Joint_20const____invoke_28bool_20_28b2Joint____20const__29_28_29_20const_2c_20b2Joint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Joint_20const__2c_20void___fromWireType_28b2Joint_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($1) & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function b2PolygonAndCircleContact__b2PolygonAndCircleContact_28b2Fixture__2c_20b2Fixture__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 8 >> 2] = $0; + HEAP32[$3 + 4 >> 2] = $1; + HEAP32[$3 >> 2] = $2; + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$3 + 12 >> 2] = $0; + b2Contact__b2Contact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, HEAP32[$3 + 4 >> 2], 0, HEAP32[$3 >> 2], 0); + HEAP32[$0 >> 2] = 19072; + if ((b2Fixture__GetType_28_29_20const(HEAP32[$0 + 48 >> 2]) | 0) != 2) { + __assert_fail(6805, 4854, 45, 3113); + wasm2js_trap(); + } + if (b2Fixture__GetType_28_29_20const(HEAP32[$0 + 52 >> 2])) { + __assert_fail(9531, 4854, 46, 3113); + wasm2js_trap(); + } + __stack_pointer = $3 + 16 | 0; + return HEAP32[$3 + 12 >> 2]; +} + +function b2PolygonAndCircleContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$5 + 12 >> 2], 148), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$5 + 8 >> 2]; + b2PolygonAndCircleContact__b2PolygonAndCircleContact_28b2Fixture__2c_20b2Fixture__29($0, HEAP32[$5 + 28 >> 2], HEAP32[$5 + 20 >> 2]); + __stack_pointer = $5 + 32 | 0; + return $0 | 0; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2Body____29_28_29_20const_2c_20bool_2c_20b2Body_20const____invoke_28bool_20_28b2Body____20const__29_28_29_20const_2c_20b2Body_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Body_20const__2c_20void___fromWireType_28b2Body_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($1) & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function emscripten__internal__MethodInvoker_bool_20_28b2AABB____29_28_29_20const_2c_20bool_2c_20b2AABB_20const____invoke_28bool_20_28b2AABB____20const__29_28_29_20const_2c_20b2AABB_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2AABB_20const__2c_20void___fromWireType_28b2AABB_20const__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0]($1) & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function b2EdgeAndCircleContact__b2EdgeAndCircleContact_28b2Fixture__2c_20b2Fixture__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 8 >> 2] = $0; + HEAP32[$3 + 4 >> 2] = $1; + HEAP32[$3 >> 2] = $2; + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$3 + 12 >> 2] = $0; + b2Contact__b2Contact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, HEAP32[$3 + 4 >> 2], 0, HEAP32[$3 >> 2], 0); + HEAP32[$0 >> 2] = 18536; + if ((b2Fixture__GetType_28_29_20const(HEAP32[$0 + 48 >> 2]) | 0) != 1) { + __assert_fail(9752, 5008, 45, 3163); + wasm2js_trap(); + } + if (b2Fixture__GetType_28_29_20const(HEAP32[$0 + 52 >> 2])) { + __assert_fail(9531, 5008, 46, 3163); + wasm2js_trap(); + } + __stack_pointer = $3 + 16 | 0; + return HEAP32[$3 + 12 >> 2]; +} + +function b2PolygonContact__b2PolygonContact_28b2Fixture__2c_20b2Fixture__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 8 >> 2] = $0; + HEAP32[$3 + 4 >> 2] = $1; + HEAP32[$3 >> 2] = $2; + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$3 + 12 >> 2] = $0; + b2Contact__b2Contact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, HEAP32[$3 + 4 >> 2], 0, HEAP32[$3 >> 2], 0); + HEAP32[$0 >> 2] = 19132; + if ((b2Fixture__GetType_28_29_20const(HEAP32[$0 + 48 >> 2]) | 0) != 2) { + __assert_fail(6805, 4783, 48, 3083); + wasm2js_trap(); + } + if ((b2Fixture__GetType_28_29_20const(HEAP32[$0 + 52 >> 2]) | 0) != 2) { + __assert_fail(6761, 4783, 49, 3083); + wasm2js_trap(); + } + __stack_pointer = $3 + 16 | 0; + return HEAP32[$3 + 12 >> 2]; +} + +function b2EdgeAndPolygonContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$5 + 12 >> 2], 148), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$5 + 8 >> 2]; + b2EdgeAndPolygonContact__b2EdgeAndPolygonContact_28b2Fixture__2c_20b2Fixture__29($0, HEAP32[$5 + 28 >> 2], HEAP32[$5 + 20 >> 2]); + __stack_pointer = $5 + 32 | 0; + return $0 | 0; +} + +function void_20emscripten__val__call_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_20const($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + emscripten__internal__MethodCaller_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29(HEAP32[HEAP32[$5 + 28 >> 2] >> 2], HEAP32[$5 + 24 >> 2], HEAP32[$5 + 20 >> 2], HEAP32[$5 + 16 >> 2], HEAP32[$5 + 12 >> 2]); + __stack_pointer = $5 + 32 | 0; +} + +function b2EdgeAndCircleContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$5 + 12 >> 2], 148), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$5 + 8 >> 2]; + b2EdgeAndCircleContact__b2EdgeAndCircleContact_28b2Fixture__2c_20b2Fixture__29($0, HEAP32[$5 + 28 >> 2], HEAP32[$5 + 20 >> 2]); + __stack_pointer = $5 + 32 | 0; + return $0 | 0; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int________split_buffer_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + std____2____split_buffer_int_2c_20std____2__allocator_int_____clear_5babi_v160004_5d_28_29($0); + if (HEAP32[$0 >> 2]) { + std____2__allocator_traits_std____2__allocator_int____deallocate_5babi_v160004_5d_28std____2__allocator_int___2c_20int__2c_20unsigned_20long_29(std____2____split_buffer_int_2c_20std____2__allocator_int_______alloc_5babi_v160004_5d_28_29($0), HEAP32[$0 >> 2], std____2____split_buffer_int_2c_20std____2__allocator_int_____capacity_5babi_v160004_5d_28_29_20const($0)); + } + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__FunctionInvoker_void_20_28__29_28b2FixtureDef__2c_20b2Shape_20const__29_2c_20void_2c_20b2FixtureDef__2c_20b2Shape_20const____invoke_28void_20_28___29_28b2FixtureDef__2c_20b2Shape_20const__29_2c_20b2FixtureDef__2c_20b2Shape_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[HEAP32[$3 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_b2FixtureDef__2c_20void___fromWireType_28b2FixtureDef__29(HEAP32[$3 + 8 >> 2]), emscripten__internal__BindingType_b2Shape_20const__2c_20void___fromWireType_28b2Shape_20const__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int____push_back_5babi_v160004_5d_28int_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + label$1: { + if (HEAP32[$0 + 4 >> 2] != HEAP32[std____2__vector_int_2c_20std____2__allocator_int______end_cap_5babi_v160004_5d_28_29($0) >> 2]) { + void_20std____2__vector_int_2c_20std____2__allocator_int______construct_one_at_end_5babi_v160004_5d_int_20const___28int_20const__29($0, HEAP32[$2 + 8 >> 2]); + break label$1; + } + void_20std____2__vector_int_2c_20std____2__allocator_int______push_back_slow_path_int_20const___28int_20const__29($0, HEAP32[$2 + 8 >> 2]); + } + __stack_pointer = $2 + 16 | 0; +} + +function bool_20_28b2PolygonShape____emscripten__internal__getContext_bool_20_28b2PolygonShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const__28bool_20_28b2PolygonShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__MethodInvoker_b2Shape__20_28b2Fixture____29_28_29_2c_20b2Shape__2c_20b2Fixture____invoke_28b2Shape__20_28b2Fixture____20const__29_28_29_2c_20b2Fixture__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Fixture__2c_20void___fromWireType_28b2Fixture__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2Shape__2c_20void___toWireType_28b2Shape__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function std____2__operator___5babi_v160004_5d_28std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__2c_20std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = std____2__operator___5babi_v160004_5d_28std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__2c_20std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__29_1(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]) ^ -1; + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function bool_20_28b2CircleShape____emscripten__internal__getContext_bool_20_28b2CircleShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const__28bool_20_28b2CircleShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__Invoker_float_2c_20unsigned_20int___invoke_28float_20_28__29_28unsigned_20int_29_2c_20unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + wasm2js_i32$0 = $2, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$2 + 8 >> 2]))), + HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2______compressed_pair_5babi_v160004_5d_std__nullptr_t_2c_20std____2____default_init_tag__28std__nullptr_t___2c_20std____2____default_init_tag___29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + std____2____compressed_pair_elem_b2Vec2__2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std__nullptr_t_2c_20void__28std__nullptr_t___29($0, HEAP32[$3 + 8 >> 2]); + std____2____compressed_pair_elem_std____2__allocator_b2Vec2__2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0); + __stack_pointer = $3 + 16 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_b2Body__20_28b2Fixture____29_28_29_2c_20b2Body__2c_20b2Fixture____invoke_28b2Body__20_28b2Fixture____20const__29_28_29_2c_20b2Fixture__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Fixture__2c_20void___fromWireType_28b2Fixture__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2Body__2c_20void___toWireType_28b2Body__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2AABB__Contains_28b2AABB_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP8[$2 + 7 | 0] = 1; + $3 = HEAP8[$2 + 7 | 0] & 1 ? HEAPF32[$0 >> 2] <= HEAPF32[HEAP32[$2 + 8 >> 2] >> 2] : $3; + HEAP8[$2 + 7 | 0] = $3; + $4 = HEAP8[$2 + 7 | 0] & 1 ? HEAPF32[$0 + 4 >> 2] <= HEAPF32[HEAP32[$2 + 8 >> 2] + 4 >> 2] : $4; + HEAP8[$2 + 7 | 0] = $4; + $5 = HEAP8[$2 + 7 | 0] & 1 ? HEAPF32[HEAP32[$2 + 8 >> 2] + 8 >> 2] <= HEAPF32[$0 + 8 >> 2] : $5; + HEAP8[$2 + 7 | 0] = $5; + $6 = HEAP8[$2 + 7 | 0] & 1 ? HEAPF32[HEAP32[$2 + 8 >> 2] + 12 >> 2] <= HEAPF32[$0 + 12 >> 2] : $6; + HEAP8[$2 + 7 | 0] = $6; + return HEAP8[$2 + 7 | 0] & 1; +} + +function emscripten__internal__Signature_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____get_method_caller_28_29() { + var $0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = __stack_pointer - 16 | 0; + __stack_pointer = $0; + if (!(HEAP8[30092] & 1)) { + wasm2js_i32$0 = 30088, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____getCount_28_29_20const($0 + 15 | 0) | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____getTypes_28_29_20const($0 + 15 | 0) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[30092] = 1; + } + __stack_pointer = $0 + 16 | 0; + return HEAP32[7522]; +} + +function bool_20_28b2EdgeShape____emscripten__internal__getContext_bool_20_28b2EdgeShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const__28bool_20_28b2EdgeShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2____compressed_pair_std____2____tree_end_node_std____2____tree_node_base_void_____2c_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void________compressed_pair_5babi_v160004_5d_true_2c_20void__28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2____compressed_pair_elem_std____2____tree_end_node_std____2____tree_node_base_void_____2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_28std____2____value_init_tag_29($0); + std____2____compressed_pair_elem_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void____2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____value_init_tag_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_b2Fixture__20_28b2Body____29_28_29_2c_20b2Fixture__2c_20b2Body____invoke_28b2Fixture__20_28b2Body____20const__29_28_29_2c_20b2Body__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2Fixture__2c_20void___toWireType_28b2Fixture__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2DrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2DrawWrapper__29____invoke_28b2DrawWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2DrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2DrawWrapper__29__operator_28_29_28b2DrawWrapper__29_20const($1 + 11 | 0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function b2DrawWrapper__DrawSolidCircle_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAPF32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + void_20emscripten__wrapper_b2Draw___call_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const__29_20const(HEAP32[$5 + 28 >> 2], 9651, HEAP32[$5 + 24 >> 2], $5 + 20 | 0, HEAP32[$5 + 16 >> 2], HEAP32[$5 + 12 >> 2]); + __stack_pointer = $5 + 32 | 0; +} + +function b2PolygonContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$5 + 12 >> 2], 148), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$5 + 8 >> 2]; + b2PolygonContact__b2PolygonContact_28b2Fixture__2c_20b2Fixture__29($0, HEAP32[$5 + 28 >> 2], HEAP32[$5 + 20 >> 2]); + __stack_pointer = $5 + 32 | 0; + return $0 | 0; +} + +function b2CircleContact__b2CircleContact_28b2Fixture__2c_20b2Fixture__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 8 >> 2] = $0; + HEAP32[$3 + 4 >> 2] = $1; + HEAP32[$3 >> 2] = $2; + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$3 + 12 >> 2] = $0; + b2Contact__b2Contact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29($0, HEAP32[$3 + 4 >> 2], 0, HEAP32[$3 >> 2], 0); + HEAP32[$0 >> 2] = 18236; + if (b2Fixture__GetType_28_29_20const(HEAP32[$0 + 48 >> 2])) { + __assert_fail(9574, 5083, 47, 3186); + wasm2js_trap(); + } + if (b2Fixture__GetType_28_29_20const(HEAP32[$0 + 52 >> 2])) { + __assert_fail(9531, 5083, 48, 3186); + wasm2js_trap(); + } + __stack_pointer = $3 + 16 | 0; + return HEAP32[$3 + 12 >> 2]; +} + +function b2CircleContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + wasm2js_i32$0 = $5, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$5 + 12 >> 2], 148), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$5 + 8 >> 2]; + b2CircleContact__b2CircleContact_28b2Fixture__2c_20b2Fixture__29($0, HEAP32[$5 + 28 >> 2], HEAP32[$5 + 20 >> 2]); + __stack_pointer = $5 + 32 | 0; + return $0 | 0; +} + +function void_20emscripten__wrapper_b2Draw___call_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_20const($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + void_20emscripten__val__call_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_20const(HEAP32[$5 + 28 >> 2] + 12 | 0, HEAP32[$5 + 24 >> 2], HEAP32[$5 + 20 >> 2], HEAP32[$5 + 16 >> 2], HEAP32[$5 + 12 >> 2]); + __stack_pointer = $5 + 32 | 0; +} + +function std____2____compressed_pair_int__2c_20std____2__allocator_int______compressed_pair_5babi_v160004_5d_std__nullptr_t_2c_20std____2____default_init_tag__28std__nullptr_t___2c_20std____2____default_init_tag___29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + std____2____compressed_pair_elem_int__2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std__nullptr_t_2c_20void__28std__nullptr_t___29($0, HEAP32[$3 + 8 >> 2]); + std____2____compressed_pair_elem_std____2__allocator_int__2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0); + __stack_pointer = $3 + 16 | 0; + return $0; +} + +function emscripten__internal__MethodInvoker_b2Body__20_28b2Joint____29_28_29_2c_20b2Body__2c_20b2Joint____invoke_28b2Body__20_28b2Joint____20const__29_28_29_2c_20b2Joint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Joint__2c_20void___fromWireType_28b2Joint__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2Body__2c_20void___toWireType_28b2Body__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__MethodInvoker_b2World__20_28b2Body____29_28_29_2c_20b2World__2c_20b2Body____invoke_28b2World__20_28b2Body____20const__29_28_29_2c_20b2Body__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + $0 = emscripten__internal__BindingType_b2World__2c_20void___toWireType_28b2World__29(FUNCTION_TABLE[$0 | 0]($1) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____vector_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$1 + 8 >> 2] = 0; + std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2______compressed_pair_5babi_v160004_5d_std__nullptr_t_2c_20std____2____default_init_tag__28std__nullptr_t___2c_20std____2____default_init_tag___29($0 + 8 | 0, $1 + 8 | 0, $1 + 7 | 0); + void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__enable_if_is_reference_decltype_28_std__declval_std____2__reverse_iterator_b2Vec2_____28_29_29___value_2c_20decltype_28std__move_28_std__declval_std____2__reverse_iterator_b2Vec2_____28_29_29_29___type_20std____2___IterOps_std____2___ClassicAlgPolicy_____iter_move_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2_____28std____2__reverse_iterator_b2Vec2____29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + void_20std____2___IterOps_std____2___ClassicAlgPolicy_____validate_iter_reference_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2_____28_29(); + $0 = std____2__reverse_iterator_b2Vec2____operator__5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function bool_20_28b2Shape____emscripten__internal__getContext_bool_20_28b2Shape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const__28bool_20_28b2Shape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__Invoker_unsigned_20int_2c_20unsigned_20int___invoke_28unsigned_20int_20_28__29_28unsigned_20int_29_2c_20unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$2 + 8 >> 2])) | 0, + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_unsigned_20int_2c_20void___toWireType_28unsigned_20int_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Mul_28b2Mat33_20const__2c_20b2Vec3_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer + -64 | 0; + __stack_pointer = $3; + HEAP32[$3 + 60 >> 2] = $1; + HEAP32[$3 + 56 >> 2] = $2; + operator__28float_2c_20b2Vec3_20const__29($3 + 32 | 0, HEAPF32[HEAP32[$3 + 56 >> 2] >> 2], HEAP32[$3 + 60 >> 2]); + operator__28float_2c_20b2Vec3_20const__29($3 + 20 | 0, HEAPF32[HEAP32[$3 + 56 >> 2] + 4 >> 2], HEAP32[$3 + 60 >> 2] + 12 | 0); + operator__28b2Vec3_20const__2c_20b2Vec3_20const__29($3 + 44 | 0, $3 + 32 | 0, $3 + 20 | 0); + operator__28float_2c_20b2Vec3_20const__29($3 + 8 | 0, HEAPF32[HEAP32[$3 + 56 >> 2] + 8 >> 2], HEAP32[$3 + 60 >> 2] + 24 | 0); + operator__28b2Vec3_20const__2c_20b2Vec3_20const__29($0, $3 + 44 | 0, $3 + 8 | 0); + __stack_pointer = $3 - -64 | 0; +} + +function void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______emscripten__internal__getContext_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28unsigned_20long_2c_20b2Vec2_20const__29__28void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28unsigned_20long_2c_20b2Vec2_20const__29_29_29_28unsigned_20long_2c_20b2Vec2_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2__operator___5babi_v160004_5d_28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__2c_20std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__29_1($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = std____2__operator___5babi_v160004_5d_28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__2c_20std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]) ^ -1; + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function b2EdgeShape__ComputeMass_28b2MassData__2c_20float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAPF32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + HEAPF32[HEAP32[$3 + 24 >> 2] >> 2] = 0; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 4 | 0, $0 + 12 | 0, $0 + 20 | 0); + operator__28float_2c_20b2Vec2_20const__29($3 + 12 | 0, Math_fround(.5), $3 + 4 | 0); + $4 = HEAP32[$3 + 16 >> 2]; + $0 = HEAP32[$3 + 12 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 24 >> 2]; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[$0 + 8 >> 2] = $4; + HEAPF32[HEAP32[$3 + 24 >> 2] + 12 >> 2] = 0; + __stack_pointer = $3 + 32 | 0; +} + +function void_20emscripten__val__call_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const__29_20const($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + emscripten__internal__MethodCaller_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const__29(HEAP32[HEAP32[$5 + 28 >> 2] >> 2], HEAP32[$5 + 24 >> 2], HEAP32[$5 + 20 >> 2], HEAP32[$5 + 16 >> 2], HEAP32[$5 + 12 >> 2]); + __stack_pointer = $5 + 32 | 0; +} + +function emscripten__internal__Signature_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const____get_method_caller_28_29() { + var $0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = __stack_pointer - 16 | 0; + __stack_pointer = $0; + if (!(HEAP8[30076] & 1)) { + wasm2js_i32$0 = 30072, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const____getCount_28_29_20const($0 + 15 | 0) | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const____getTypes_28_29_20const($0 + 15 | 0) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[30076] = 1; + } + __stack_pointer = $0 + 16 | 0; + return HEAP32[7518]; +} + +function emscripten__internal__Invoker_b2RayCastCallbackWrapper__2c_20emscripten__val_____invoke_28b2RayCastCallbackWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($2 + 4 | 0, HEAP32[$2 + 8 >> 2]); + $0 = emscripten__internal__BindingType_b2RayCastCallbackWrapper__2c_20void___toWireType_28b2RayCastCallbackWrapper__29(FUNCTION_TABLE[$0 | 0]($2 + 4 | 0) | 0); + emscripten__val___val_28_29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__Invoker_b2ContactListenerWrapper__2c_20emscripten__val_____invoke_28b2ContactListenerWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($2 + 4 | 0, HEAP32[$2 + 8 >> 2]); + $0 = emscripten__internal__BindingType_b2ContactListenerWrapper__2c_20void___toWireType_28b2ContactListenerWrapper__29(FUNCTION_TABLE[$0 | 0]($2 + 4 | 0) | 0); + emscripten__val___val_28_29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2BroadPhase__TestOverlap_28int_2c_20int_29_20const($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2DynamicTree__GetFatAABB_28int_29_20const($0, HEAP32[$3 + 24 >> 2]), + HEAP32[wasm2js_i32$0 + 16 >> 2] = wasm2js_i32$1; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2DynamicTree__GetFatAABB_28int_29_20const($0, HEAP32[$3 + 20 >> 2]), + HEAP32[wasm2js_i32$0 + 12 >> 2] = wasm2js_i32$1; + $0 = b2TestOverlap_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$3 + 16 >> 2], HEAP32[$3 + 12 >> 2]); + __stack_pointer = $3 + 32 | 0; + return $0 & 1; +} + +function std____2__enable_if_is_reference_decltype_28_std__declval_std____2__reverse_iterator_int_____28_29_29___value_2c_20decltype_28std__move_28_std__declval_std____2__reverse_iterator_int_____28_29_29_29___type_20std____2___IterOps_std____2___ClassicAlgPolicy_____iter_move_5babi_v160004_5d_std____2__reverse_iterator_int_____28std____2__reverse_iterator_int____29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + void_20std____2___IterOps_std____2___ClassicAlgPolicy_____validate_iter_reference_5babi_v160004_5d_std____2__reverse_iterator_int_____28_29(); + $0 = std____2__reverse_iterator_int____operator__5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__val__call_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const___28char_20const__2c_20unsigned_20int__2c_20int__2c_20b2Color_20const__29_20const($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + emscripten__internal__MethodCaller_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20unsigned_20int__2c_20int__2c_20b2Color_20const__29(HEAP32[HEAP32[$5 + 28 >> 2] >> 2], HEAP32[$5 + 24 >> 2], HEAP32[$5 + 20 >> 2], HEAP32[$5 + 16 >> 2], HEAP32[$5 + 12 >> 2]); + __stack_pointer = $5 + 32 | 0; +} + +function b2Vec2__Normalize_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + wasm2js_i32$0 = $1, wasm2js_f32$0 = b2Vec2__Length_28_29_20const($0), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + label$1: { + if (HEAPF32[$1 + 4 >> 2] < Math_fround(1.1920928955078125e-7)) { + HEAPF32[$1 + 12 >> 2] = 0; + break label$1; + } + HEAPF32[$1 >> 2] = Math_fround(1) / HEAPF32[$1 + 4 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$0 >> 2] * HEAPF32[$1 >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$0 + 4 >> 2] * HEAPF32[$1 >> 2]; + HEAPF32[$1 + 12 >> 2] = HEAPF32[$1 + 4 >> 2]; + } + __stack_pointer = $1 + 16 | 0; + return HEAPF32[$1 + 12 >> 2]; +} + +function emscripten__internal__Signature_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const____get_method_caller_28_29() { + var $0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = __stack_pointer - 16 | 0; + __stack_pointer = $0; + if (!(HEAP8[30068] & 1)) { + wasm2js_i32$0 = 30064, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const____getCount_28_29_20const($0 + 15 | 0) | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const____getTypes_28_29_20const($0 + 15 | 0) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[30068] = 1; + } + __stack_pointer = $0 + 16 | 0; + return HEAP32[7516]; +} + +function b2WheelJointDef__b2WheelJointDef_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2JointDef__b2JointDef_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 20 | 0); + b2Vec2__b2Vec2_28_29($0 + 28 | 0); + b2Vec2__b2Vec2_28_29($0 + 36 | 0); + HEAP32[$0 >> 2] = 7; + b2Vec2__SetZero_28_29($0 + 20 | 0); + b2Vec2__SetZero_28_29($0 + 28 | 0); + b2Vec2__Set_28float_2c_20float_29($0 + 36 | 0, Math_fround(1), Math_fround(0)); + HEAP8[$0 + 44 | 0] = 0; + HEAPF32[$0 + 48 >> 2] = 0; + HEAPF32[$0 + 52 >> 2] = 0; + HEAP8[$0 + 56 | 0] = 0; + HEAPF32[$0 + 60 >> 2] = 0; + HEAPF32[$0 + 64 >> 2] = 0; + HEAPF32[$0 + 68 >> 2] = 0; + HEAPF32[$0 + 72 >> 2] = 0; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__VectorAccess_std____2__vector_int_2c_20std____2__allocator_int_____set_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[HEAP32[$3 + 4 >> 2] >> 2]; + wasm2js_i32$0 = std____2__vector_int_2c_20std____2__allocator_int____operator_5b_5d_5babi_v160004_5d_28unsigned_20long_29(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2]), + wasm2js_i32$1 = $0, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $3 + 16 | 0; + return 1; +} + +function unsigned_20long_20const__20std____2__min_5babi_v160004_5d_unsigned_20long_2c_20std____2____less_unsigned_20long_2c_20unsigned_20long___28unsigned_20long_20const__2c_20unsigned_20long_20const__2c_20std____2____less_unsigned_20long_2c_20unsigned_20long__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 4 >> 2] = $1; + label$1: { + if (std____2____less_unsigned_20long_2c_20unsigned_20long___operator_28_29_5babi_v160004_5d_28unsigned_20long_20const__2c_20unsigned_20long_20const__29_20const($2 + 15 | 0, HEAP32[$2 + 4 >> 2], HEAP32[$2 + 8 >> 2]) & 1) { + $0 = HEAP32[$2 + 4 >> 2]; + break label$1; + } + $0 = HEAP32[$2 + 8 >> 2]; + } + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function unsigned_20long_20const__20std____2__max_5babi_v160004_5d_unsigned_20long_2c_20std____2____less_unsigned_20long_2c_20unsigned_20long___28unsigned_20long_20const__2c_20unsigned_20long_20const__2c_20std____2____less_unsigned_20long_2c_20unsigned_20long__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 4 >> 2] = $1; + label$1: { + if (std____2____less_unsigned_20long_2c_20unsigned_20long___operator_28_29_5babi_v160004_5d_28unsigned_20long_20const__2c_20unsigned_20long_20const__29_20const($2 + 15 | 0, HEAP32[$2 + 8 >> 2], HEAP32[$2 + 4 >> 2]) & 1) { + $0 = HEAP32[$2 + 4 >> 2]; + break label$1; + } + $0 = HEAP32[$2 + 8 >> 2]; + } + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function emscripten__internal__FunctionInvoker_void_20_28__29_28b2Body__2c_20b2MassData_20const__29_2c_20void_2c_20b2Body__2c_20b2MassData_20const____invoke_28void_20_28___29_28b2Body__2c_20b2MassData_20const__29_2c_20b2Body__2c_20b2MassData__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[HEAP32[$3 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$3 + 8 >> 2]), emscripten__internal__GenericBindingType_b2MassData___fromWireType_28b2MassData__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int____vector_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$1 + 8 >> 2] = 0; + std____2____compressed_pair_int__2c_20std____2__allocator_int______compressed_pair_5babi_v160004_5d_std__nullptr_t_2c_20std____2____default_init_tag__28std__nullptr_t___2c_20std____2____default_init_tag___29($0 + 8 | 0, $1 + 8 | 0, $1 + 7 | 0); + void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_b2QueryCallbackWrapper__2c_20emscripten__val_____invoke_28b2QueryCallbackWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($2 + 4 | 0, HEAP32[$2 + 8 >> 2]); + $0 = emscripten__internal__BindingType_b2QueryCallbackWrapper__2c_20void___toWireType_28b2QueryCallbackWrapper__29(FUNCTION_TABLE[$0 | 0]($2 + 4 | 0) | 0); + emscripten__val___val_28_29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2DynamicTree__FreeNode_28int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(HEAP32[$2 + 8 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 8 >> 2] >= 0)) { + __assert_fail(1382, 5965, 98, 9843); + wasm2js_trap(); + } + if (HEAP32[$0 + 8 >> 2] <= 0) { + __assert_fail(2369, 5965, 99, 9843); + wasm2js_trap(); + } + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 20 >> 2] = HEAP32[$0 + 16 >> 2]; + HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 32 >> 2] = -1; + HEAP32[$0 + 16 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 8 >> 2] = HEAP32[$0 + 8 >> 2] - 1; + __stack_pointer = $2 + 16 | 0; +} + +function b2BodyDef__b2BodyDef_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0 + 4 | 0); + b2Vec2__b2Vec2_28_29($0 + 16 | 0); + HEAP32[$0 + 44 >> 2] = 0; + b2Vec2__Set_28float_2c_20float_29($0 + 4 | 0, Math_fround(0), Math_fround(0)); + HEAPF32[$0 + 12 >> 2] = 0; + b2Vec2__Set_28float_2c_20float_29($0 + 16 | 0, Math_fround(0), Math_fround(0)); + HEAPF32[$0 + 24 >> 2] = 0; + HEAPF32[$0 + 28 >> 2] = 0; + HEAPF32[$0 + 32 >> 2] = 0; + HEAP8[$0 + 36 | 0] = 1; + HEAP8[$0 + 37 | 0] = 1; + HEAP8[$0 + 38 | 0] = 0; + HEAP8[$0 + 39 | 0] = 0; + HEAP32[$0 >> 2] = 0; + HEAP8[$0 + 40 | 0] = 1; + HEAPF32[$0 + 48 >> 2] = 1; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function float_20_28b2RayCastCallback____emscripten__internal__getContext_float_20_28b2RayCastCallback____29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29__28float_20_28b2RayCastCallback____20const__29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29_29_29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__wrapper_b2Draw___call_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const__29_20const($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + void_20emscripten__val__call_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const__29_20const(HEAP32[$5 + 28 >> 2] + 12 | 0, HEAP32[$5 + 24 >> 2], HEAP32[$5 + 20 >> 2], HEAP32[$5 + 16 >> 2], HEAP32[$5 + 12 >> 2]); + __stack_pointer = $5 + 32 | 0; +} + +function void_20_28std____2__vector_int_2c_20std____2__allocator_int______emscripten__internal__getContext_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28unsigned_20long_2c_20int_20const__29__28void_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28unsigned_20long_2c_20int_20const__29_29_29_28unsigned_20long_2c_20int_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2SizeMap__b2SizeMap_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = 0; + HEAP8[$0 | 0] = 0; + HEAP32[$1 >> 2] = 1; + while (1) { + if (HEAP32[$1 >> 2] <= 640) { + if (HEAP32[$1 + 4 >> 2] >= 14) { + __assert_fail(2175, 5349, 60, 6253); + wasm2js_trap(); + } else { + if (HEAP32[$1 >> 2] > HEAP32[(HEAP32[$1 + 4 >> 2] << 2) + 18128 >> 2]) { + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] + 1; + } + HEAP8[HEAP32[$1 >> 2] + $0 | 0] = HEAP32[$1 + 4 >> 2]; + HEAP32[$1 >> 2] = HEAP32[$1 >> 2] + 1; + continue; + } + } + break; + } + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2PrismaticJoint__GetReactionForce_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $1; + HEAPF32[$3 + 24 >> 2] = $2; + $2 = HEAPF32[$3 + 24 >> 2]; + $1 = HEAP32[$3 + 28 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($3 + 8 | 0, HEAPF32[$1 + 104 >> 2], $1 + 192 | 0); + operator__28float_2c_20b2Vec2_20const__29($3, Math_fround(Math_fround(HEAPF32[$1 + 112 >> 2] + HEAPF32[$1 + 116 >> 2]) + HEAPF32[$1 + 120 >> 2]), $1 + 184 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 16 | 0, $3 + 8 | 0, $3); + operator__28float_2c_20b2Vec2_20const__29($0, $2, $3 + 16 | 0); + __stack_pointer = $3 + 32 | 0; +} + +function b2Body__ApplyLinearImpulseToCenter_28b2Vec2_20const__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP8[$3 + 23 | 0] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + label$1: { + if (HEAP32[$0 >> 2] != 2) { + break label$1; + } + if (!(!(HEAP8[$3 + 23 | 0] & 1) | HEAPU16[$0 + 4 >> 1] & 2)) { + b2Body__SetAwake_28bool_29($0, 1); + } + if (!(HEAPU16[$0 + 4 >> 1] & 2)) { + break label$1; + } + operator__28float_2c_20b2Vec2_20const__29($3 + 12 | 0, HEAPF32[$0 + 120 >> 2], HEAP32[$3 + 24 >> 2]); + b2Vec2__operator___28b2Vec2_20const__29($0 - -64 | 0, $3 + 12 | 0); + } + __stack_pointer = $3 + 32 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2FixtureDef_2c_20b2Filter___setWire_b2FixtureDef__28b2Filter_20b2FixtureDef____20const__2c_20b2FixtureDef__2c_20b2Filter__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = emscripten__internal__GenericBindingType_b2Filter___fromWireType_28b2Filter__29(HEAP32[$3 + 4 >> 2]); + $1 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + $2 = HEAPU16[$0 >> 1] | HEAPU16[$0 + 2 >> 1] << 16; + HEAP16[$1 >> 1] = $2; + HEAP16[$1 + 2 >> 1] = $2 >>> 16; + HEAP16[$1 + 4 >> 1] = HEAPU16[$0 + 4 >> 1]; + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__VectorAccess_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____set_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 4 >> 2]; + $1 = std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____operator_5b_5d_5babi_v160004_5d_28unsigned_20long_29(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2]); + $2 = HEAP32[$0 + 4 >> 2]; + HEAP32[$1 >> 2] = HEAP32[$0 >> 2]; + HEAP32[$1 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; + return 1; +} + +function void_20std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______construct_5babi_v160004_5d_b2Fixture__2c_20b2Fixture__20const__2c_20void__28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20b2Fixture___2c_20b2Fixture__20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + void_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____construct_5babi_v160004_5d_b2Fixture__2c_20b2Fixture__20const___28b2Fixture___2c_20b2Fixture__20const__29(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__wrapper_b2Draw___call_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const___28char_20const__2c_20unsigned_20int__2c_20int__2c_20b2Color_20const__29_20const($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; + void_20emscripten__val__call_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const___28char_20const__2c_20unsigned_20int__2c_20int__2c_20b2Color_20const__29_20const(HEAP32[$5 + 28 >> 2] + 12 | 0, HEAP32[$5 + 24 >> 2], HEAP32[$5 + 20 >> 2], HEAP32[$5 + 16 >> 2], HEAP32[$5 + 12 >> 2]); + __stack_pointer = $5 + 32 | 0; +} + +function b2PrismaticJointDef__b2PrismaticJointDef_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2JointDef__b2JointDef_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 20 | 0); + b2Vec2__b2Vec2_28_29($0 + 28 | 0); + b2Vec2__b2Vec2_28_29($0 + 36 | 0); + HEAP32[$0 >> 2] = 2; + b2Vec2__SetZero_28_29($0 + 20 | 0); + b2Vec2__SetZero_28_29($0 + 28 | 0); + b2Vec2__Set_28float_2c_20float_29($0 + 36 | 0, Math_fround(1), Math_fround(0)); + HEAPF32[$0 + 44 >> 2] = 0; + HEAP8[$0 + 48 | 0] = 0; + HEAPF32[$0 + 52 >> 2] = 0; + HEAPF32[$0 + 56 >> 2] = 0; + HEAP8[$0 + 60 | 0] = 0; + HEAPF32[$0 + 64 >> 2] = 0; + HEAPF32[$0 + 68 >> 2] = 0; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2ContactListenerWrapper__BeginContact_28unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + label$1: { + if (!(b2ContactListenerWrapper__isIndexOf_28unsigned_20int_29($0, b2Contact__GetFixtureA_28_29(HEAP32[$2 + 8 >> 2])) & 1)) { + if (!(b2ContactListenerWrapper__isIndexOf_28unsigned_20int_29($0, b2Contact__GetFixtureB_28_29(HEAP32[$2 + 8 >> 2])) & 1)) { + break label$1; + } + } + void_20emscripten__wrapper_b2ContactListener___call_void_2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__29_20const($0, 3100, $2 + 8 | 0); + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__FunctionInvoker_void_20_28__29_28b2JointDef__2c_20b2Body__29_2c_20void_2c_20b2JointDef__2c_20b2Body____invoke_28void_20_28___29_28b2JointDef__2c_20b2Body__29_2c_20b2JointDef__2c_20b2Body__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[HEAP32[$3 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_b2JointDef__2c_20void___fromWireType_28b2JointDef__29(HEAP32[$3 + 8 >> 2]), emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function b2ContactListenerWrapper__EndContact_28unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + label$1: { + if (!(b2ContactListenerWrapper__isIndexOf_28unsigned_20int_29($0, b2Contact__GetFixtureA_28_29(HEAP32[$2 + 8 >> 2])) & 1)) { + if (!(b2ContactListenerWrapper__isIndexOf_28unsigned_20int_29($0, b2Contact__GetFixtureB_28_29(HEAP32[$2 + 8 >> 2])) & 1)) { + break label$1; + } + } + void_20emscripten__wrapper_b2ContactListener___call_void_2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__29_20const($0, 3202, $2 + 8 | 0); + } + __stack_pointer = $2 + 16 | 0; +} + +function b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + b2Min_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 12 | 0, HEAP32[$3 + 24 >> 2], HEAP32[$3 + 20 >> 2]); + $1 = HEAP32[$3 + 16 >> 2]; + $2 = HEAP32[$3 + 12 >> 2]; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $1; + b2Max_28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 4 | 0, HEAP32[$3 + 24 >> 2] + 8 | 0, HEAP32[$3 + 20 >> 2] + 8 | 0); + $2 = HEAP32[$3 + 8 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + __stack_pointer = $3 + 32 | 0; +} + +function emscripten__internal__Invoker_int_2c_20unsigned_20int___invoke_28int_20_28__29_28unsigned_20int_29_2c_20unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$2 + 8 >> 2])) | 0, + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function std____2__pair_char_20const__2c_20char___20std____2____copy_trivial_impl_5babi_v160004_5d_char_20const_2c_20char__28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $2; + $2 = $2 - $1 | 0; + wasm2js_i32$0 = $4, wasm2js_i32$1 = $2 + memmove($3, $1, $2) | 0, HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + std____2__pair_std____2____unwrap_ref_decay_char_20const_____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const___2c_20char___28char_20const___2c_20char____29($0, $4 + 12 | 0, $4 + 8 | 0); + __stack_pointer = $4 + 16 | 0; +} + +function b2Body__GetMassData_28b2MassData__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0), $4 = Math_fround(0), $5 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAPF32[HEAP32[$2 + 8 >> 2] >> 2] = HEAPF32[$0 + 116 >> 2]; + $3 = HEAPF32[$0 + 124 >> 2]; + $4 = Math_fround(HEAPF32[$0 + 116 >> 2] * b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0 + 28 | 0, $0 + 28 | 0)); + HEAPF32[HEAP32[$2 + 8 >> 2] + 12 >> 2] = $4 + $3; + $5 = HEAP32[$0 + 32 >> 2]; + $0 = HEAP32[$0 + 28 >> 2]; + $1 = $0; + $0 = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[$0 + 8 >> 2] = $5; + __stack_pointer = $2 + 16 | 0; +} + +function b2PolygonAndCircleContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $0 = HEAP32[$4 + 12 >> 2]; + b2CollidePolygonAndCircle_28b2Manifold__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2CircleShape_20const__2c_20b2Transform_20const__29(HEAP32[$4 + 8 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 48 >> 2]), HEAP32[$4 + 4 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 52 >> 2]), HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function fmt_u($0, $1, $2) { + var $3 = 0, $4 = 0, $5 = 0, $6 = 0; + label$1: { + if (!$1) { + $5 = $0; + $4 = $1; + $6 = $4; + break label$1; + } + while (1) { + $4 = $1; + $3 = __wasm_i64_udiv($0, $4, 10, 0); + $4 = i64toi32_i32$HIGH_BITS; + $6 = $4; + $5 = $3; + $3 = __wasm_i64_mul($5, $4, 10, 0); + $4 = i64toi32_i32$HIGH_BITS; + $2 = $2 - 1 | 0; + HEAP8[$2 | 0] = $0 - $3 | 48; + $3 = $1 >>> 0 > 9; + $0 = $5; + $4 = $6; + $1 = $4; + if ($3) { + continue; + } + break; + } + } + $3 = $5; + if ($3) { + while (1) { + $2 = $2 - 1 | 0; + $0 = ($3 >>> 0) / 10 | 0; + HEAP8[$2 | 0] = $3 - Math_imul($0, 10) | 48; + $1 = $3 >>> 0 > 9; + $3 = $0; + if ($1) { + continue; + } + break; + } + } + return $2; +} + +function emscripten__internal__Signature_void_2c_20unsigned_20int__2c_20unsigned_20int____get_method_caller_28_29() { + var $0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = __stack_pointer - 16 | 0; + __stack_pointer = $0; + if (!(HEAP8[30060] & 1)) { + wasm2js_i32$0 = 30056, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int__2c_20unsigned_20int____getCount_28_29_20const($0 + 15 | 0) | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int__2c_20unsigned_20int____getTypes_28_29_20const($0 + 15 | 0) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[30060] = 1; + } + __stack_pointer = $0 + 16 | 0; + return HEAP32[7514]; +} + +function b2EdgeAndPolygonContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $0 = HEAP32[$4 + 12 >> 2]; + b2CollideEdgeAndPolygon_28b2Manifold__2c_20b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__29(HEAP32[$4 + 8 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 48 >> 2]), HEAP32[$4 + 4 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 52 >> 2]), HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function b2World__SetAllowSleeping_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + label$1: { + if ((HEAP8[$2 + 11 | 0] & 1) == (HEAP8[$0 + 102972 | 0] & 1)) { + break label$1; + } + HEAP8[$0 + 102972 | 0] = HEAP8[$2 + 11 | 0] & 1; + if (HEAP8[$0 + 102972 | 0] & 1) { + break label$1; + } + HEAP32[$2 + 4 >> 2] = HEAP32[$0 + 102948 >> 2]; + while (1) { + if (HEAP32[$2 + 4 >> 2]) { + b2Body__SetAwake_28bool_29(HEAP32[$2 + 4 >> 2], 1); + HEAP32[$2 + 4 >> 2] = HEAP32[HEAP32[$2 + 4 >> 2] + 96 >> 2]; + continue; + } + break; + } + } + __stack_pointer = $2 + 16 | 0; +} + +function unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______emscripten__internal__getContext_unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28_29_20const__28unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__MethodInvoker_void_20_28b2PrismaticJoint____29_28_29_2c_20void_2c_20b2PrismaticJoint____invoke_28void_20_28b2PrismaticJoint____20const__29_28_29_2c_20b2PrismaticJoint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2PrismaticJoint__2c_20void___fromWireType_28b2PrismaticJoint__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function b2EdgeAndCircleContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $0 = HEAP32[$4 + 12 >> 2]; + b2CollideEdgeAndCircle_28b2Manifold__2c_20b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2CircleShape_20const__2c_20b2Transform_20const__29(HEAP32[$4 + 8 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 48 >> 2]), HEAP32[$4 + 4 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 52 >> 2]), HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const__28void_20_28b2World____20const__29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const_29_29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29__28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29_29_29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__Invoker_b2DrawWrapper__2c_20emscripten__val_____invoke_28b2DrawWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($2 + 4 | 0, HEAP32[$2 + 8 >> 2]); + $0 = emscripten__internal__BindingType_b2DrawWrapper__2c_20void___toWireType_28b2DrawWrapper__29(FUNCTION_TABLE[$0 | 0]($2 + 4 | 0) | 0); + emscripten__val___val_28_29($2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______end_node_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__pointer_traits_std____2____tree_end_node_std____2____tree_node_base_void________pointer_to_5babi_v160004_5d_28std____2____tree_end_node_std____2____tree_node_base_void______29(std____2____compressed_pair_std____2____tree_end_node_std____2____tree_node_base_void_____2c_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______first_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2] + 4 | 0)); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__FunctionInvoker_void_20_28__29_28b2Shape__2c_20float_29_2c_20void_2c_20b2Shape__2c_20float___invoke_28void_20_28___29_28b2Shape__2c_20float_29_2c_20b2Shape__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $0 = HEAP32[HEAP32[$3 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_b2Shape__2c_20void___fromWireType_28b2Shape__29(HEAP32[$3 + 8 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20b2Vec2___setWire_b2PrismaticJointDef__28b2Vec2_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2RevoluteJoint____29_28_29_2c_20void_2c_20b2RevoluteJoint____invoke_28void_20_28b2RevoluteJoint____20const__29_28_29_2c_20b2RevoluteJoint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2RevoluteJoint__2c_20void___fromWireType_28b2RevoluteJoint__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2DistanceJoint____29_28_29_2c_20void_2c_20b2DistanceJoint____invoke_28void_20_28b2DistanceJoint____20const__29_28_29_2c_20b2DistanceJoint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2DistanceJoint__2c_20void___fromWireType_28b2DistanceJoint__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodCaller_void___call_28emscripten___EM_VAL__2c_20char_20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + wasm2js_i32$0 = $2, wasm2js_i32$1 = emscripten__internal__Signature_void___get_method_caller_28_29(), + HEAP32[wasm2js_i32$0 + 20 >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack____WireTypePack_28_29($2 + 8 | 0); + _emval_call_void_method(HEAP32[$2 + 20 >> 2], HEAP32[$2 + 28 >> 2], HEAP32[$2 + 24 >> 2], emscripten__internal__WireTypePack____operator_20void_20const__28_29_20const($2 + 8 | 0) | 0); + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__Invoker_void_2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28__29_28unsigned_20int_2c_20unsigned_20int_29_2c_20unsigned_20int_2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$3 + 8 >> 2]), emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function b2PolygonContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $0 = HEAP32[$4 + 12 >> 2]; + b2CollidePolygons_28b2Manifold__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2PolygonShape_20const__2c_20b2Transform_20const__29(HEAP32[$4 + 8 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 48 >> 2]), HEAP32[$4 + 4 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 52 >> 2]), HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_cap_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + var $2 = 0; + $2 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0); + HEAP32[$2 + 8 >> 2] = HEAP32[$2 + 8 >> 2] & -2147483648 | $1 & 2147483647; + $0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0); + HEAP32[$0 + 8 >> 2] = HEAP32[$0 + 8 >> 2] | -2147483648; +} + +function std____2____compressed_pair_elem_std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_201_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20void__28std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$1 >> 2]; + $3 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $3; + return $0; +} + +function void_20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20b2Vec2___setWire_b2RevoluteJointDef__28b2Vec2_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2DistanceJointDef_2c_20b2Vec2___setWire_b2DistanceJointDef__28b2Vec2_20b2DistanceJointDef____20const__2c_20b2DistanceJointDef__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__FunctionInvoker_void_20_28__29_28b2AABB__2c_20b2AABB__29_2c_20void_2c_20b2AABB__2c_20b2AABB____invoke_28void_20_28___29_28b2AABB__2c_20b2AABB__29_2c_20b2AABB__2c_20b2AABB__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[HEAP32[$3 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_b2AABB__2c_20void___fromWireType_28b2AABB__29(HEAP32[$3 + 8 >> 2]), emscripten__internal__BindingType_b2AABB__2c_20void___fromWireType_28b2AABB__29(HEAP32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void___fromWireType_28emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_28char_20const__2c_20unsigned_20long_29($0, HEAP32[$2 + 8 >> 2] + 4 | 0, HEAP32[HEAP32[$2 + 8 >> 2] >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function b2BroadPhase__MoveProxy_28int_2c_20b2AABB_20const__2c_20b2Vec2_20const__29($0, $1, $2, $3) { + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[$4 + 28 >> 2] = $0; + HEAP32[$4 + 24 >> 2] = $1; + HEAP32[$4 + 20 >> 2] = $2; + HEAP32[$4 + 16 >> 2] = $3; + $0 = HEAP32[$4 + 28 >> 2]; + wasm2js_i32$0 = $4, wasm2js_i32$1 = b2DynamicTree__MoveProxy_28int_2c_20b2AABB_20const__2c_20b2Vec2_20const__29($0, HEAP32[$4 + 24 >> 2], HEAP32[$4 + 20 >> 2], HEAP32[$4 + 16 >> 2]) & 1, + HEAP8[wasm2js_i32$0 + 15 | 0] = wasm2js_i32$1; + if (HEAP8[$4 + 15 | 0] & 1) { + b2BroadPhase__BufferMove_28int_29($0, HEAP32[$4 + 24 >> 2]); + } + __stack_pointer = $4 + 32 | 0; +} + +function void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______emscripten__internal__getContext_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28b2Vec2_20const__29__28void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28b2Vec2_20const__29_29_29_28b2Vec2_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2CircleContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + $0 = HEAP32[$4 + 12 >> 2]; + b2CollideCircles_28b2Manifold__2c_20b2CircleShape_20const__2c_20b2Transform_20const__2c_20b2CircleShape_20const__2c_20b2Transform_20const__29(HEAP32[$4 + 8 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 48 >> 2]), HEAP32[$4 + 4 >> 2], b2Fixture__GetShape_28_29(HEAP32[$0 + 52 >> 2]), HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function bool_20_28__emscripten__internal__getContext_bool_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29__28bool_20_28__20const__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29_29_29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2__allocator_b2Vec2___allocate_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + if (HEAPU32[$2 + 8 >> 2] > unsigned_20long_20std____2__allocator_traits_std____2__allocator_b2Vec2____max_size_5babi_v160004_5d_std____2__allocator_b2Vec2__2c_20void__28std____2__allocator_b2Vec2__20const__29(HEAP32[$2 + 12 >> 2]) >>> 0) { + std____throw_bad_array_new_length_5babi_v160004_5d_28_29(); + wasm2js_trap(); + } + $0 = std____2____libcpp_allocate_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29(HEAP32[$2 + 8 >> 2] << 3, 4); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long___operator___5babi_v160004_5d_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + wasm2js_i32$0 = $0, wasm2js_i32$1 = std____2____tree_end_node_std____2____tree_node_base_void______20std____2____tree_next_iter_5babi_v160004_5d_std____2____tree_end_node_std____2____tree_node_base_void______2c_20std____2____tree_node_base_void_____28std____2____tree_node_base_void____29(HEAP32[$0 >> 2]), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__FunctionInvoker_b2Shape_20const__20_28__29_28b2FixtureDef__29_2c_20b2Shape_20const__2c_20b2FixtureDef____invoke_28b2Shape_20const__20_28___29_28b2FixtureDef__29_2c_20b2FixtureDef__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[HEAP32[$2 + 12 >> 2] >> 2]; + $0 = emscripten__internal__BindingType_b2Shape_20const__2c_20void___toWireType_28b2Shape_20const__29(FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_b2FixtureDef__2c_20void___fromWireType_28b2FixtureDef__29(HEAP32[$2 + 8 >> 2])) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function bool_20_28b2Fixture____emscripten__internal__getContext_bool_20_28b2Fixture____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const__28bool_20_28b2Fixture____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2RevoluteJointDef__b2RevoluteJointDef_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2JointDef__b2JointDef_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 20 | 0); + b2Vec2__b2Vec2_28_29($0 + 28 | 0); + HEAP32[$0 >> 2] = 1; + b2Vec2__Set_28float_2c_20float_29($0 + 20 | 0, Math_fround(0), Math_fround(0)); + b2Vec2__Set_28float_2c_20float_29($0 + 28 | 0, Math_fround(0), Math_fround(0)); + HEAPF32[$0 + 36 >> 2] = 0; + HEAPF32[$0 + 44 >> 2] = 0; + HEAPF32[$0 + 48 >> 2] = 0; + HEAPF32[$0 + 60 >> 2] = 0; + HEAPF32[$0 + 56 >> 2] = 0; + HEAP8[$0 + 40 | 0] = 0; + HEAP8[$0 + 52 | 0] = 0; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______emscripten__internal__getContext_unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28_29_20const__28unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__val__val_b2Vec2_20const___28b2Vec2_20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + emscripten__internal__WireTypePack_b2Vec2_20const____WireTypePack_28b2Vec2_20const__29($2, HEAP32[$2 + 8 >> 2]); + wasm2js_i32$0 = $0, wasm2js_i32$1 = _emval_take_value(emscripten__internal__TypeID_b2Vec2_20const__2c_20void___get_28_29() | 0, emscripten__internal__WireTypePack_b2Vec2_20const____operator_20void_20const__28_29_20const($2) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______deallocate_5babi_v160004_5d_28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____deallocate_5babi_v160004_5d_28std____2____tree_node_b2Fixture__2c_20void____2c_20unsigned_20long_29(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______end_node_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__pointer_traits_std____2____tree_end_node_std____2____tree_node_base_void________pointer_to_5babi_v160004_5d_28std____2____tree_end_node_std____2____tree_node_base_void______29(std____2____compressed_pair_std____2____tree_end_node_std____2____tree_node_base_void_____2c_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______first_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 4 | 0)); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__val_20_28__emscripten__internal__getContext_emscripten__val_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29__28emscripten__val_20_28__20const__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29_29_29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20b2Vec2___setWire_b2WheelJointDef__28b2Vec2_20b2WheelJointDef____20const__2c_20b2WheelJointDef__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2RayCastOutput_2c_20b2Vec2___setWire_b2RayCastOutput__28b2Vec2_20b2RayCastOutput____20const__2c_20b2RayCastOutput__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2MouseJointDef_2c_20b2Vec2___setWire_b2MouseJointDef__28b2Vec2_20b2MouseJointDef____20const__2c_20b2MouseJointDef__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2MotorJointDef_2c_20b2Vec2___setWire_b2MotorJointDef__28b2Vec2_20b2MotorJointDef____20const__2c_20b2MotorJointDef__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function fopen($0, $1) { + var $2 = 0, $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + label$1: { + label$2: { + if (!strchr(10404, HEAP8[$1 | 0])) { + wasm2js_i32$0 = __errno_location(), wasm2js_i32$1 = 28, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$2; + } + $4 = __fmodeflags($1); + HEAP32[$2 >> 2] = 438; + HEAP32[$2 + 4 >> 2] = 0; + $0 = __syscall_ret(__syscall_openat(-100, $0 | 0, $4 | 32768, $2 | 0) | 0); + if (($0 | 0) < 0) { + break label$1; + } + $3 = __fdopen($0, $1); + if ($3) { + break label$1; + } + __wasi_fd_close($0 | 0) | 0; + } + $3 = 0; + } + __stack_pointer = $2 + 16 | 0; + return $3; +} + +function b2AABB__IsValid_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $2 = HEAP32[$1 + 12 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 4 | 0, $2 + 8 | 0, $2); + $3 = HEAPF32[$1 + 4 >> 2] >= Math_fround(0) ? HEAPF32[$1 + 8 >> 2] >= Math_fround(0) : $3; + HEAP8[$1 + 3 | 0] = $3; + $0 = 0; + label$2: { + if (!(HEAP8[$1 + 3 | 0] & 1)) { + break label$2; + } + $0 = 0; + if (!(b2Vec2__IsValid_28_29_20const($2) & 1)) { + break label$2; + } + $0 = b2Vec2__IsValid_28_29_20const($2 + 8 | 0); + } + HEAP8[$1 + 3 | 0] = $0 & 1; + __stack_pointer = $1 + 16 | 0; + return HEAP8[$1 + 3 | 0] & 1; +} + +function emscripten__internal__MethodInvoker_void_20_28b2WheelJoint____29_28_29_2c_20void_2c_20b2WheelJoint____invoke_28void_20_28b2WheelJoint____20const__29_28_29_2c_20b2WheelJoint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2WheelJoint__2c_20void___fromWireType_28b2WheelJoint__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2MouseJoint____29_28_29_2c_20void_2c_20b2MouseJoint____invoke_28void_20_28b2MouseJoint____20const__29_28_29_2c_20b2MouseJoint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2MouseJoint__2c_20void___fromWireType_28b2MouseJoint__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2MotorJoint____29_28_29_2c_20void_2c_20b2MotorJoint____invoke_28void_20_28b2MotorJoint____20const__29_28_29_2c_20b2MotorJoint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2MotorJoint__2c_20void___fromWireType_28b2MotorJoint__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2WeldJointDef_2c_20b2Vec2___setWire_b2WeldJointDef__28b2Vec2_20b2WeldJointDef____20const__2c_20b2WeldJointDef__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2RopeJointDef_2c_20b2Vec2___setWire_b2RopeJointDef__28b2Vec2_20b2RopeJointDef____20const__2c_20b2RopeJointDef__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2RayCastInput_2c_20b2Vec2___setWire_b2RayCastInput__28b2Vec2_20b2RayCastInput____20const__2c_20b2RayCastInput__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function b2BroadPhase__b2BroadPhase_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2DynamicTree__b2DynamicTree_28_29($0); + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 48 >> 2] = 16; + HEAP32[$0 + 52 >> 2] = 0; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Alloc_28int_29(HEAP32[$0 + 48 >> 2] << 3), + HEAP32[wasm2js_i32$0 + 44 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 36 >> 2] = 16; + HEAP32[$0 + 40 >> 2] = 0; + wasm2js_i32$0 = $0, wasm2js_i32$1 = b2Alloc_28int_29(HEAP32[$0 + 36 >> 2] << 2), + HEAP32[wasm2js_i32$0 + 32 >> 2] = wasm2js_i32$1; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__allocator_int___allocate_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + if (HEAPU32[$2 + 8 >> 2] > unsigned_20long_20std____2__allocator_traits_std____2__allocator_int____max_size_5babi_v160004_5d_std____2__allocator_int__2c_20void__28std____2__allocator_int__20const__29(HEAP32[$2 + 12 >> 2]) >>> 0) { + std____throw_bad_array_new_length_5babi_v160004_5d_28_29(); + wasm2js_trap(); + } + $0 = std____2____libcpp_allocate_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29(HEAP32[$2 + 8 >> 2] << 2, 4); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__MemberAccess_b2CircleShape_2c_20b2Vec2___setWire_b2CircleShape__28b2Vec2_20b2CircleShape____20const__2c_20b2CircleShape__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2WeldJoint____29_28_29_2c_20void_2c_20b2WeldJoint____invoke_28void_20_28b2WeldJoint____20const__29_28_29_2c_20b2WeldJoint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2WeldJoint__2c_20void___fromWireType_28b2WeldJoint__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2RopeJoint____29_28_29_2c_20void_2c_20b2RopeJoint____invoke_28void_20_28b2RopeJoint____20const__29_28_29_2c_20b2RopeJoint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2RopeJoint__2c_20void___fromWireType_28b2RopeJoint__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function std____2____allocation_result_std____2__allocator_traits_std____2__allocator_b2Vec2____pointer__20std____2____allocate_at_least_5babi_v160004_5d_std____2__allocator_b2Vec2___28std____2__allocator_b2Vec2___2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + wasm2js_i32$0 = $0, wasm2js_i32$1 = std____2__allocator_b2Vec2___allocate_5babi_v160004_5d_28unsigned_20long_29(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2]), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 4 >> 2] = HEAP32[$3 + 8 >> 2]; + __stack_pointer = $3 + 16 | 0; +} + +function std____2__pair_std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool___pair_5babi_v160004_5d_std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__2c_20bool__2c_20_28void__290__28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long____2c_20bool__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[HEAP32[$3 + 8 >> 2] >> 2]; + HEAP8[$0 + 4 | 0] = HEAP8[HEAP32[$3 + 4 >> 2]] & 1; + return $0; +} + +function void_20_28b2PolygonShape____emscripten__internal__getContext_void_20_28b2PolygonShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const__28void_20_28b2PolygonShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29__28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_29_29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__val__val_int_20const___28int_20const__29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + emscripten__internal__WireTypePack_int_20const____WireTypePack_28int_20const__29($2, HEAP32[$2 + 8 >> 2]); + wasm2js_i32$0 = $0, wasm2js_i32$1 = _emval_take_value(emscripten__internal__TypeID_int_20const__2c_20void___get_28_29() | 0, emscripten__internal__WireTypePack_int_20const____operator_20void_20const__28_29_20const($2) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__MemberAccess_b2Transform_2c_20b2Vec2___setWire_b2Transform__28b2Vec2_20b2Transform____20const__2c_20b2Transform__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_short_size_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + var $2 = 0; + $2 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0); + HEAP8[$2 + 11 | 0] = HEAPU8[$2 + 11 | 0] & 128 | $1; + $0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0); + HEAP8[$0 + 11 | 0] = HEAPU8[$0 + 11 | 0] & 127; +} + +function emscripten__val_20_28__emscripten__internal__getContext_emscripten__val_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29__28emscripten__val_20_28__20const__29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29_29_29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28std____2__vector_int_2c_20std____2__allocator_int______emscripten__internal__getContext_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28int_20const__29__28void_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28int_20const__29_29_29_28int_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2CircleShape____emscripten__internal__getContext_void_20_28b2CircleShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const__28void_20_28b2CircleShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20_28b2PolygonShape____emscripten__internal__getContext_bool_20_28b2PolygonShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const__28bool_20_28b2PolygonShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29_29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Fixture__TestPoint_28b2Vec2_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$0 + 12 >> 2]; + $0 = (wasm2js_i32$1 = $1, wasm2js_i32$2 = b2Body__GetTransform_28_29_20const(HEAP32[$0 + 8 >> 2]), + wasm2js_i32$3 = HEAP32[$2 + 8 >> 2], wasm2js_i32$0 = HEAP32[HEAP32[$1 >> 2] + 16 >> 2], + FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function bool_20_28__emscripten__internal__getContext_bool_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29__28bool_20_28__20const__29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29_29_29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__internal__MemberAccess_b2MassData_2c_20b2Vec2___setWire_b2MassData__28b2Vec2_20b2MassData____20const__2c_20b2MassData__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20_28b2PolygonShape____emscripten__internal__getContext_void_20_28b2PolygonShape____29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29__28void_20_28b2PolygonShape____20const__29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_29_29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28_29_2c_20void_2c_20b2Fixture____invoke_28void_20_28b2Fixture____20const__29_28_29_2c_20b2Fixture__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Fixture__2c_20void___fromWireType_28b2Fixture__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__Invoker_void_2c_20unsigned_20int_2c_20float___invoke_28void_20_28__29_28unsigned_20int_2c_20float_29_2c_20unsigned_20int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$3 + 8 >> 2]), emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function bool_20_28b2CircleShape____emscripten__internal__getContext_bool_20_28b2CircleShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const__28bool_20_28b2CircleShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29_29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__internal__MemberAccess_b2Transform_2c_20b2Rot___setWire_b2Transform__28b2Rot_20b2Transform____20const__2c_20b2Transform__2c_20b2Rot__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Rot___fromWireType_28b2Rot__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function std____2____allocation_result_std____2__allocator_traits_std____2__allocator_int____pointer__20std____2____allocate_at_least_5babi_v160004_5d_std____2__allocator_int___28std____2__allocator_int___2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + wasm2js_i32$0 = $0, wasm2js_i32$1 = std____2__allocator_int___allocate_5babi_v160004_5d_28unsigned_20long_29(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2]), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 4 >> 2] = HEAP32[$3 + 8 >> 2]; + __stack_pointer = $3 + 16 | 0; +} + +function __cxxabiv1____si_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 + 8 >> 2], $5)) { + __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($1, $1, $2, $3, $4); + return; + } + $0 = HEAP32[$0 + 8 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 20 >> 2]]($0, $1, $2, $3, $4, $5); +} + +function void_20_28b2EdgeShape____emscripten__internal__getContext_void_20_28b2EdgeShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const__28void_20_28b2EdgeShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__Signature_void_2c_20b2Transform_20const____get_method_caller_28_29() { + var $0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = __stack_pointer - 16 | 0; + __stack_pointer = $0; + if (!(HEAP8[30100] & 1)) { + wasm2js_i32$0 = 30096, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Transform_20const____getCount_28_29_20const($0 + 15 | 0) | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Transform_20const____getTypes_28_29_20const($0 + 15 | 0) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[30100] = 1; + } + __stack_pointer = $0 + 16 | 0; + return HEAP32[7524]; +} + +function void_20emscripten__internal__MemberAccess_b2BodyDef_2c_20b2Vec2___setWire_b2BodyDef__28b2Vec2_20b2BodyDef____20const__2c_20b2BodyDef__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function bool_20_28b2EdgeShape____emscripten__internal__getContext_bool_20_28b2EdgeShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const__28bool_20_28b2EdgeShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29_29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2DynamicTree__DestroyProxy_28int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(HEAP32[$2 + 8 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 8 >> 2] >= 0)) { + __assert_fail(1341, 5965, 128, 1036); + wasm2js_trap(); + } + if (!(b2TreeNode__IsLeaf_28_29_20const(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) & 1)) { + __assert_fail(12442, 5965, 129, 1036); + wasm2js_trap(); + } + b2DynamicTree__RemoveLeaf_28int_29($0, HEAP32[$2 + 8 >> 2]); + b2DynamicTree__FreeNode_28int_29($0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function void_20_28__emscripten__internal__getContext_void_20_28__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29__28void_20_28__20const__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_29_29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Body__ApplyAngularImpulse_28float_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAPF32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + label$1: { + if (HEAP32[$0 >> 2] != 2) { + break label$1; + } + if (!(!(HEAP8[$3 + 7 | 0] & 1) | HEAPU16[$0 + 4 >> 1] & 2)) { + b2Body__SetAwake_28bool_29($0, 1); + } + if (!(HEAPU16[$0 + 4 >> 1] & 2)) { + break label$1; + } + HEAPF32[$0 + 72 >> 2] = Math_fround(HEAPF32[$0 + 128 >> 2] * HEAPF32[$3 + 8 >> 2]) + HEAPF32[$0 + 72 >> 2]; + } + __stack_pointer = $3 + 16 | 0; +} + +function bool_20_28b2AABB____emscripten__internal__getContext_bool_20_28b2AABB____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const__28bool_20_28b2AABB____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const_29_29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Body__SetAwake_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + label$1: { + if (!HEAP32[$0 >> 2]) { + break label$1; + } + if (HEAP8[$2 + 11 | 0] & 1) { + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] | 2; + HEAPF32[$0 + 144 >> 2] = 0; + break label$1; + } + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] & -3; + HEAPF32[$0 + 144 >> 2] = 0; + b2Vec2__SetZero_28_29($0 - -64 | 0); + HEAPF32[$0 + 72 >> 2] = 0; + b2Vec2__SetZero_28_29($0 + 76 | 0); + HEAPF32[$0 + 84 >> 2] = 0; + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2World____29_28_29_2c_20void_2c_20b2World____invoke_28void_20_28b2World____20const__29_28_29_2c_20b2World__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2World__2c_20void___fromWireType_28b2World__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Joint____29_28_29_2c_20void_2c_20b2Joint____invoke_28void_20_28b2Joint____20const__29_28_29_2c_20b2Joint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Joint__2c_20void___fromWireType_28b2Joint__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__Invoker_void_2c_20unsigned_20int_2c_20bool___invoke_28void_20_28__29_28unsigned_20int_2c_20bool_29_2c_20unsigned_20int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$3 + 8 >> 2]), emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1) & 1); + __stack_pointer = $3 + 16 | 0; +} + +function b2DrawWrapper__DrawSegment_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + void_20emscripten__wrapper_b2Draw___call_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_20const(HEAP32[$4 + 12 >> 2], 2799, HEAP32[$4 + 8 >> 2], HEAP32[$4 + 4 >> 2], HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____end_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____tree_iterator_5babi_v160004_5d_28std____2____tree_end_node_std____2____tree_node_base_void______29($1 + 12 | 0, std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______end_node_5babi_v160004_5d_28_29(HEAP32[$1 + 8 >> 2])); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2WheelJoint__GetReactionForce_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $1; + HEAPF32[$3 + 24 >> 2] = $2; + $2 = HEAPF32[$3 + 24 >> 2]; + $1 = HEAP32[$3 + 28 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($3 + 8 | 0, HEAPF32[$1 + 100 >> 2], $1 + 200 | 0); + operator__28float_2c_20b2Vec2_20const__29($3, HEAPF32[$1 + 108 >> 2], $1 + 192 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($3 + 16 | 0, $3 + 8 | 0, $3); + operator__28float_2c_20b2Vec2_20const__29($0, $2, $3 + 16 | 0); + __stack_pointer = $3 + 32 | 0; +} + +function void_20_28b2Shape____emscripten__internal__getContext_void_20_28b2Shape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const__28void_20_28b2Shape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_29_29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2PolygonShape__Clone_28b2BlockAllocator__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 8 >> 2], 152), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 4 >> 2]; + b2PolygonShape__b2PolygonShape_28_29($0); + HEAP32[$2 >> 2] = $0; + b2PolygonShape__operator__28b2PolygonShape_20const__29(HEAP32[$2 >> 2], $1); + __stack_pointer = $2 + 16 | 0; + return HEAP32[$2 >> 2]; +} + +function b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec2__b2Vec2_28float_2c_20float_29($0, Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) + Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])), Math_fround(Math_fround(Math_fround(-HEAPF32[HEAP32[$3 + 12 >> 2] >> 2]) * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) + Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2]))); + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2AABB_2c_20b2Vec2___setWire_b2AABB__28b2Vec2_20b2AABB____20const__2c_20b2AABB__2c_20b2Vec2__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$3 + 4 >> 2]); + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__pure_virtual_2c_20emscripten__allow_raw_pointers___ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RayCastCallback__2c_20unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RayCastCallback__2c_20unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Signature_void_2c_20unsigned_20int____get_method_caller_28_29() { + var $0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = __stack_pointer - 16 | 0; + __stack_pointer = $0; + if (!(HEAP8[30052] & 1)) { + wasm2js_i32$0 = 30048, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int____getCount_28_29_20const($0 + 15 | 0) | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int____getTypes_28_29_20const($0 + 15 | 0) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[30052] = 1; + } + __stack_pointer = $0 + 16 | 0; + return HEAP32[7512]; +} + +function emscripten__internal__Signature_bool_2c_20unsigned_20int____get_method_caller_28_29() { + var $0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = __stack_pointer - 16 | 0; + __stack_pointer = $0; + if (!(HEAP8[30036] & 1)) { + wasm2js_i32$0 = 30032, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20unsigned_20int____getCount_28_29_20const($0 + 15 | 0) | 0, emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20unsigned_20int____getTypes_28_29_20const($0 + 15 | 0) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[30036] = 1; + } + __stack_pointer = $0 + 16 | 0; + return HEAP32[7508]; +} + +function emscripten__internal__MethodInvoker_void_20_28b2Body____29_28_29_2c_20void_2c_20b2Body____invoke_28void_20_28b2Body____20const__29_28_29_2c_20b2Body__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29(HEAP32[$2 + 8 >> 2]); + $0 = HEAP32[$2 + 12 >> 2]; + $3 = HEAP32[$0 + 4 >> 2]; + $0 = HEAP32[$0 >> 2]; + $1 = ($3 >> 1) + $1 | 0; + if ($3 & 1) { + $0 = HEAP32[HEAP32[$1 >> 2] + $0 >> 2]; + } + FUNCTION_TABLE[$0 | 0]($1); + __stack_pointer = $2 + 16 | 0; +} + +function bool_20_28b2Shape____emscripten__internal__getContext_bool_20_28b2Shape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const__28bool_20_28b2Shape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_29_29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2MotorJoint__SetLinearOffset_28b2Vec2_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(HEAPF32[HEAP32[$2 + 8 >> 2] >> 2] == HEAPF32[$0 + 68 >> 2] & HEAPF32[HEAP32[$2 + 8 >> 2] + 4 >> 2] == HEAPF32[$0 + 72 >> 2])) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + $1 = HEAP32[$2 + 8 >> 2]; + $3 = HEAP32[$1 + 4 >> 2]; + HEAP32[$0 + 68 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$0 + 72 >> 2] = $3; + } + __stack_pointer = $2 + 16 | 0; +} + +function b2Fixture__DestroyProxies_28b2BroadPhase__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 4 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 4 >> 2] < HEAP32[$0 + 28 >> 2]) { + HEAP32[$2 >> 2] = HEAP32[$0 + 24 >> 2] + Math_imul(HEAP32[$2 + 4 >> 2], 28); + b2BroadPhase__DestroyProxy_28int_29(HEAP32[$2 + 8 >> 2], HEAP32[HEAP32[$2 >> 2] + 24 >> 2]); + HEAP32[HEAP32[$2 >> 2] + 24 >> 2] = -1; + HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] + 1; + continue; + } + break; + } + HEAP32[$0 + 28 >> 2] = 0; + __stack_pointer = $2 + 16 | 0; +} + +function b2Mul22_28b2Mat33_20const__2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec2__b2Vec2_28float_2c_20float_29($0, Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) + Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 12 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])), Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) + Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 16 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2]))); + __stack_pointer = $3 + 16 | 0; +} + +function b2CircleShape__Clone_28b2BlockAllocator__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 8 >> 2], 20), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 4 >> 2]; + b2CircleShape__b2CircleShape_28_29($0); + HEAP32[$2 >> 2] = $0; + b2CircleShape__operator__28b2CircleShape_20const__29(HEAP32[$2 >> 2], $1); + __stack_pointer = $2 + 16 | 0; + return HEAP32[$2 >> 2]; +} + +function b2Mul_28b2Mat22_20const__2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec2__b2Vec2_28float_2c_20float_29($0, Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) + Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 8 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])), Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) + Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 12 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2]))); + __stack_pointer = $3 + 16 | 0; +} + +function void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29__28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29_29_29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2AABB__Combine_28b2AABB_20const__29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + b2Min_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 16 | 0, $0, HEAP32[$2 + 24 >> 2]); + $1 = HEAP32[$2 + 20 >> 2]; + $3 = HEAP32[$2 + 16 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$0 + 4 >> 2] = $1; + b2Max_28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 8 | 0, $0 + 8 | 0, HEAP32[$2 + 24 >> 2] + 8 | 0); + $3 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $3; + __stack_pointer = $2 + 32 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__pair_char_20const__2c_20char___20std____2____dispatch_copy_or_move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { + std____2__pair_char_20const__2c_20char___20std____2____unwrap_and_dispatch_5babi_v160004_5d_std____2____overload_std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial__2c_20char_20const__2c_20char_20const__2c_20char__2c_200__28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3); +} + +function void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2QueryCallback__2c_20b2AABB_20const__29_20const__28void_20_28b2World____20const__29_28b2QueryCallback__2c_20b2AABB_20const__29_20const_29_29_28b2QueryCallback__2c_20b2AABB_20const__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29__28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29_29_29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__FunctionInvoker_b2Body__20_28__29_28b2JointDef__29_2c_20b2Body__2c_20b2JointDef____invoke_28b2Body__20_28___29_28b2JointDef__29_2c_20b2JointDef__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[HEAP32[$2 + 12 >> 2] >> 2]; + $0 = emscripten__internal__BindingType_b2Body__2c_20void___toWireType_28b2Body__29(FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_b2JointDef__2c_20void___fromWireType_28b2JointDef__29(HEAP32[$2 + 8 >> 2])) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec2__b2Vec2_28float_2c_20float_29($0, Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) - Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])), Math_fround(Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) + Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2]))); + __stack_pointer = $3 + 16 | 0; +} + +function b2MulT_28b2Rot_20const__2c_20b2Rot_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Rot__b2Rot_28_29($0); + HEAPF32[$0 >> 2] = Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]) - Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2]); + HEAPF32[$0 + 4 >> 2] = Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2]) + Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function scalbn($0, $1) { + label$1: { + if (($1 | 0) >= 1024) { + $0 = $0 * 898846567431158e293; + if ($1 >>> 0 < 2047) { + $1 = $1 - 1023 | 0; + break label$1; + } + $0 = $0 * 898846567431158e293; + $1 = (($1 | 0) >= 3069 ? 3069 : $1) - 2046 | 0; + break label$1; + } + if (($1 | 0) > -1023) { + break label$1; + } + $0 = $0 * 2004168360008973e-307; + if ($1 >>> 0 > 4294965304) { + $1 = $1 + 969 | 0; + break label$1; + } + $0 = $0 * 2004168360008973e-307; + $1 = (($1 | 0) <= -2960 ? -2960 : $1) + 1938 | 0; + } + wasm2js_scratch_store_i32(0, 0); + wasm2js_scratch_store_i32(1, $1 + 1023 << 20); + return $0 * +wasm2js_scratch_load_f64(); +} + +function b2EdgeShape__Clone_28b2BlockAllocator__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BlockAllocator__Allocate_28int_29(HEAP32[$2 + 8 >> 2], 48), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$2 + 4 >> 2]; + b2EdgeShape__b2EdgeShape_28_29($0); + HEAP32[$2 >> 2] = $0; + b2EdgeShape__operator__28b2EdgeShape_20const__29(HEAP32[$2 >> 2], $1); + __stack_pointer = $2 + 16 | 0; + return HEAP32[$2 >> 2]; +} + +function void_20emscripten__val__call_void_2c_20unsigned_20int__2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__2c_20unsigned_20int__29_20const($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + emscripten__internal__MethodCaller_void_2c_20unsigned_20int__2c_20unsigned_20int____call_28emscripten___EM_VAL__2c_20char_20const__2c_20unsigned_20int__2c_20unsigned_20int__29(HEAP32[HEAP32[$4 + 12 >> 2] >> 2], HEAP32[$4 + 8 >> 2], HEAP32[$4 + 4 >> 2], HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function b2BroadPhase__CreateProxy_28b2AABB_20const__2c_20void__29($0, $1, $2) { + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + wasm2js_i32$0 = $3, wasm2js_i32$1 = b2DynamicTree__CreateProxy_28b2AABB_20const__2c_20void__29($0, HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]), + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[$0 + 28 >> 2] = HEAP32[$0 + 28 >> 2] + 1; + b2BroadPhase__BufferMove_28int_29($0, HEAP32[$3 >> 2]); + __stack_pointer = $3 + 16 | 0; + return HEAP32[$3 >> 2]; +} + +function void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29__28void_20_28b2Draw____20const__29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29_29_29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2ContactListener____emscripten__internal__getContext_void_20_28b2ContactListener____29_28unsigned_20int_2c_20unsigned_20int_29__28void_20_28b2ContactListener____20const__29_28unsigned_20int_2c_20unsigned_20int_29_29_29_28unsigned_20int_2c_20unsigned_20int_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void________unique_ptr_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______reset_5babi_v160004_5d_28std____2____tree_node_b2Fixture__2c_20void____29($0, 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function fclose($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; + if (HEAP32[$0 + 76 >> 2] < 0) { + $1 = 0; + } else { + $1 = __lockfile($0); + } + $4 = fflush($0); + $5 = FUNCTION_TABLE[HEAP32[$0 + 12 >> 2]]($0) | 0; + $1 = !$1; + if (!$1) { + __unlockfile($0); + } + if (!(HEAP8[$0 | 0] & 1)) { + dummy($0); + $1 = __ofl_lock(); + $2 = HEAP32[$0 + 52 >> 2]; + if ($2) { + HEAP32[$2 + 56 >> 2] = HEAP32[$0 + 56 >> 2]; + } + $3 = HEAP32[$0 + 56 >> 2]; + if ($3) { + HEAP32[$3 + 52 >> 2] = $2; + } + if (HEAP32[$1 >> 2] == ($0 | 0)) { + HEAP32[$1 >> 2] = $3; + } + __ofl_unlock(); + dlfree(HEAP32[$0 + 96 >> 2]); + dlfree($0); + } + return $4 | $5; +} + +function b2DrawWrapper__DrawCircle_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAPF32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + void_20emscripten__wrapper_b2Draw___call_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const__29_20const(HEAP32[$4 + 12 >> 2], 9617, HEAP32[$4 + 8 >> 2], $4 + 4 | 0, HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function b2DrawWrapper__DrawPoint_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAPF32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + void_20emscripten__wrapper_b2Draw___call_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const___28char_20const__2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const__29_20const(HEAP32[$4 + 12 >> 2], 2399, HEAP32[$4 + 8 >> 2], $4 + 4 | 0, HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function b2Body__ApplyForceToCenter_28b2Vec2_20const__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + label$1: { + if (HEAP32[$0 >> 2] != 2) { + break label$1; + } + if (!(!(HEAP8[$3 + 7 | 0] & 1) | HEAPU16[$0 + 4 >> 1] & 2)) { + b2Body__SetAwake_28bool_29($0, 1); + } + if (!(HEAPU16[$0 + 4 >> 1] & 2)) { + break label$1; + } + b2Vec2__operator___28b2Vec2_20const__29($0 + 76 | 0, HEAP32[$3 + 8 >> 2]); + } + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2RayCastCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2RayCastCallbackWrapper__29__operator_28_29_28b2RayCastCallbackWrapper__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29(HEAP32[$2 + 8 >> 2] + 4 | 0, 1); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2ContactListenerWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2ContactListenerWrapper__29__operator_28_29_28b2ContactListenerWrapper__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29(HEAP32[$2 + 8 >> 2] + 4 | 0, 1); + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__wrapper_b2ContactListener___call_void_2c_20unsigned_20int__2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__2c_20unsigned_20int__29_20const($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + void_20emscripten__val__call_void_2c_20unsigned_20int__2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__2c_20unsigned_20int__29_20const(HEAP32[$4 + 12 >> 2] + 8 | 0, HEAP32[$4 + 8 >> 2], HEAP32[$4 + 4 >> 2], HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20b2Transform_20const__2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20b2Transform_20const__2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2BlockAllocator____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2BlockAllocator_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function strlen($0) { + var $1 = 0, $2 = 0, $3 = 0; + label$1: { + label$2: { + $1 = $0; + if (!($1 & 3)) { + break label$2; + } + if (!HEAPU8[$0 | 0]) { + return 0; + } + while (1) { + $1 = $1 + 1 | 0; + if (!($1 & 3)) { + break label$2; + } + if (HEAPU8[$1 | 0]) { + continue; + } + break; + } + break label$1; + } + while (1) { + $2 = $1; + $1 = $1 + 4 | 0; + $3 = HEAP32[$2 >> 2]; + if (!(($3 ^ -1) & $3 - 16843009 & -2139062144)) { + continue; + } + break; + } + while (1) { + $1 = $2; + $2 = $1 + 1 | 0; + if (HEAPU8[$1 | 0]) { + continue; + } + break; + } + } + return $1 - $0 | 0; +} + +function std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______operator___5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______first_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$0 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2BlockAllocator____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2BlockAllocator_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2QueryCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2QueryCallbackWrapper__29__operator_28_29_28b2QueryCallbackWrapper__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29(HEAP32[$2 + 8 >> 2] + 4 | 0, 1); + __stack_pointer = $2 + 16 | 0; +} + +function b2Body__SetFixedRotation_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP8[$2 + 10 | 0] = (HEAPU16[$0 + 4 >> 1] & 16) == 16; + if ((HEAP8[$2 + 10 | 0] & 1) != (HEAP8[$2 + 11 | 0] & 1)) { + label$2: { + if (HEAP8[$2 + 11 | 0] & 1) { + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] | 16; + break label$2; + } + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] & -17; + } + HEAPF32[$0 + 72 >> 2] = 0; + b2Body__ResetMassData_28_29($0); + } + __stack_pointer = $2 + 16 | 0; +} + +function void_20_28b2PolygonShape____emscripten__internal__getContext_void_20_28b2PolygonShape____29_28b2MassData__2c_20float_29_20const__28void_20_28b2PolygonShape____20const__29_28b2MassData__2c_20float_29_20const_29_29_28b2MassData__2c_20float_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20b2Transform_20const__2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Body__ApplyTorque_28float_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAPF32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + label$1: { + if (HEAP32[$0 >> 2] != 2) { + break label$1; + } + if (!(!(HEAP8[$3 + 7 | 0] & 1) | HEAPU16[$0 + 4 >> 1] & 2)) { + b2Body__SetAwake_28bool_29($0, 1); + } + if (!(HEAPU16[$0 + 4 >> 1] & 2)) { + break label$1; + } + HEAPF32[$0 + 84 >> 2] = HEAPF32[$0 + 84 >> 2] + HEAPF32[$3 + 8 >> 2]; + } + __stack_pointer = $3 + 16 | 0; +} + +function b2Body__GetLinearVelocityFromWorldPoint_28b2Vec2_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = Math_fround(0); + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $1; + HEAP32[$3 + 24 >> 2] = $2; + $1 = HEAP32[$3 + 28 >> 2]; + $4 = HEAPF32[$1 + 72 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($3 + 8 | 0, HEAP32[$3 + 24 >> 2], $1 + 44 | 0); + b2Cross_28float_2c_20b2Vec2_20const__29($3 + 16 | 0, $4, $3 + 8 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($0, $1 - -64 | 0, $3 + 16 | 0); + __stack_pointer = $3 + 32 | 0; +} + +function unsigned_20long_20const__20std____2__min_5babi_v160004_5d_unsigned_20long__28unsigned_20long_20const__2c_20unsigned_20long_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = unsigned_20long_20const__20std____2__min_5babi_v160004_5d_unsigned_20long_2c_20std____2____less_unsigned_20long_2c_20unsigned_20long___28unsigned_20long_20const__2c_20unsigned_20long_20const__2c_20std____2____less_unsigned_20long_2c_20unsigned_20long__29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function unsigned_20long_20const__20std____2__max_5babi_v160004_5d_unsigned_20long__28unsigned_20long_20const__2c_20unsigned_20long_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = unsigned_20long_20const__20std____2__max_5babi_v160004_5d_unsigned_20long_2c_20std____2____less_unsigned_20long_2c_20unsigned_20long___28unsigned_20long_20const__2c_20unsigned_20long_20const__2c_20std____2____less_unsigned_20long_2c_20unsigned_20long__29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2BlockAllocator____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2BlockAllocator_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20float___setWire_b2PrismaticJointDef__28float_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2Filter_2c_20unsigned_20short___setWire_b2Filter__28unsigned_20short_20b2Filter____20const__2c_20b2Filter__2c_20unsigned_20short_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP16[$3 + 6 >> 1] = $2; + $0 = emscripten__internal__BindingType_unsigned_20short_2c_20void___fromWireType_28unsigned_20short_29(HEAPU16[$3 + 6 >> 1]); + HEAP16[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 1] = $0; + __stack_pointer = $3 + 16 | 0; +} + +function void_20_28b2CircleShape____emscripten__internal__getContext_void_20_28b2CircleShape____29_28b2MassData__2c_20float_29_20const__28void_20_28b2CircleShape____20const__29_28b2MassData__2c_20float_29_20const_29_29_28b2MassData__2c_20float_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Shape__20_28b2PolygonShape____emscripten__internal__getContext_b2Shape__20_28b2PolygonShape____29_28b2BlockAllocator__29_20const__28b2Shape__20_28b2PolygonShape____20const__29_28b2BlockAllocator__29_20const_29_29_28b2BlockAllocator__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Shape_20const__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______get_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______first_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$0 >> 2]; +} + +function __cxxabiv1____pointer_to_member_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($0, $1) { + var $2 = 0; + label$1: { + if (!$1) { + break label$1; + } + $1 = __dynamic_cast($1, 23924, 24180, 0); + if (!$1 | HEAP32[$1 + 8 >> 2] & (HEAP32[$0 + 8 >> 2] ^ -1)) { + break label$1; + } + if (!is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[$0 + 12 >> 2], HEAP32[$1 + 12 >> 2], 0)) { + break label$1; + } + $2 = is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[$0 + 16 >> 2], HEAP32[$1 + 16 >> 2], 0); + } + return $2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Shape__20_28b2CircleShape____emscripten__internal__getContext_b2Shape__20_28b2CircleShape____29_28b2BlockAllocator__29_20const__28b2Shape__20_28b2CircleShape____20const__29_28b2BlockAllocator__29_20const_29_29_28b2BlockAllocator__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2DrawWrapper__DrawSolidPolygon_28unsigned_20int_2c_20int_2c_20b2Color_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + void_20emscripten__wrapper_b2Draw___call_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const___28char_20const__2c_20unsigned_20int__2c_20int__2c_20b2Color_20const__29_20const(HEAP32[$4 + 12 >> 2], 6861, $4 + 8 | 0, $4 + 4 | 0, HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20float___setWire_b2RevoluteJointDef__28float_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2DistanceJointDef_2c_20float___setWire_b2DistanceJointDef__28float_20b2DistanceJointDef____20const__2c_20b2DistanceJointDef__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function b2EdgeShape__b2EdgeShape_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Shape__b2Shape_28_29($0); + HEAP32[$0 >> 2] = 17996; + b2Vec2__b2Vec2_28_29($0 + 12 | 0); + b2Vec2__b2Vec2_28_29($0 + 20 | 0); + b2Vec2__b2Vec2_28_29($0 + 28 | 0); + b2Vec2__b2Vec2_28_29($0 + 36 | 0); + HEAP32[$0 + 4 >> 2] = 1; + HEAPF32[$0 + 8 >> 2] = .009999999776482582; + HEAPF32[$0 + 28 >> 2] = 0; + HEAPF32[$0 + 32 >> 2] = 0; + HEAPF32[$0 + 36 >> 2] = 0; + HEAPF32[$0 + 40 >> 2] = 0; + HEAP8[$0 + 44 | 0] = 0; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function frexp($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + wasm2js_scratch_store_f64(+$0); + $2 = wasm2js_scratch_load_i32(1) | 0; + $3 = wasm2js_scratch_load_i32(0) | 0; + $4 = $2; + $2 = $2 >>> 20 & 2047; + if (($2 | 0) != 2047) { + if (!$2) { + if ($0 == 0) { + $2 = 0; + } else { + $0 = frexp($0 * 0x10000000000000000, $1); + $2 = HEAP32[$1 >> 2] + -64 | 0; + } + HEAP32[$1 >> 2] = $2; + return $0; + } + HEAP32[$1 >> 2] = $2 - 1022; + $2 = $3; + wasm2js_scratch_store_i32(0, $2 | 0); + $2 = $4 & -2146435073 | 1071644672; + wasm2js_scratch_store_i32(1, $2 | 0); + $0 = +wasm2js_scratch_load_f64(); + } + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20b2Transform_20const__2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20_28b2EdgeShape____emscripten__internal__getContext_void_20_28b2EdgeShape____29_28b2MassData__2c_20float_29_20const__28void_20_28b2EdgeShape____20const__29_28b2MassData__2c_20float_29_20const_29_29_28b2MassData__2c_20float_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__FunctionInvoker_void_20_28__29_28b2RayCastCallbackWrapper__29_2c_20void_2c_20b2RayCastCallbackWrapper____invoke_28void_20_28___29_28b2RayCastCallbackWrapper__29_2c_20b2RayCastCallbackWrapper__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[HEAP32[$2 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__GenericBindingType_b2RayCastCallbackWrapper___fromWireType_28b2RayCastCallbackWrapper__29(HEAP32[$2 + 8 >> 2])); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__FunctionInvoker_void_20_28__29_28b2ContactListenerWrapper__29_2c_20void_2c_20b2ContactListenerWrapper____invoke_28void_20_28___29_28b2ContactListenerWrapper__29_2c_20b2ContactListenerWrapper__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[HEAP32[$2 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__GenericBindingType_b2ContactListenerWrapper___fromWireType_28b2ContactListenerWrapper__29(HEAP32[$2 + 8 >> 2])); + __stack_pointer = $2 + 16 | 0; +} + +function b2DrawWrapper__DrawPolygon_28unsigned_20int_2c_20int_2c_20b2Color_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + void_20emscripten__wrapper_b2Draw___call_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const___28char_20const__2c_20unsigned_20int__2c_20int__2c_20b2Color_20const__29_20const(HEAP32[$4 + 12 >> 2], 6849, $4 + 8 | 0, $4 + 4 | 0, HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__pointer_traits_char_20const____pointer_to_5babi_v160004_5d_28char_20const__29(std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2])); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Shape__20_28b2EdgeShape____emscripten__internal__getContext_b2Shape__20_28b2EdgeShape____29_28b2BlockAllocator__29_20const__28b2Shape__20_28b2EdgeShape____20const__29_28b2BlockAllocator__29_20const_29_29_28b2BlockAllocator__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Body__ShouldCollideConnected_28b2Body_20const__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 4 >> 2] = $1; + HEAP32[$2 >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] + 108 >> 2]; + label$1: { + while (1) { + if (HEAP32[$2 >> 2]) { + if (!(HEAP8[HEAP32[HEAP32[$2 >> 2] + 4 >> 2] + 61 | 0] & 1) & HEAP32[HEAP32[$2 >> 2] >> 2] == HEAP32[$2 + 4 >> 2]) { + HEAP8[$2 + 15 | 0] = 0; + break label$1; + } + HEAP32[$2 >> 2] = HEAP32[HEAP32[$2 >> 2] + 12 >> 2]; + continue; + } + break; + } + HEAP8[$2 + 15 | 0] = 1; + } + return HEAP8[$2 + 15 | 0] & 1; +} + +function b2Fixture__20_28b2Body____emscripten__internal__getContext_b2Fixture__20_28b2Body____29_28b2Shape_20const__2c_20float_29__28b2Fixture__20_28b2Body____20const__29_28b2Shape_20const__2c_20float_29_29_29_28b2Shape_20const__2c_20float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2FixtureDef_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2FixtureDef_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20bool___setWire_b2PrismaticJointDef__28bool_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2; + $0 = emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1); + HEAP8[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0] = $0 & 1; + __stack_pointer = $3 + 16 | 0; +} + +function void_20_28b2ContactListenerWrapper____emscripten__internal__getContext_void_20_28b2ContactListenerWrapper____29_28unsigned_20int_29__28void_20_28b2ContactListenerWrapper____20const__29_28unsigned_20int_29_29_29_28unsigned_20int_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20b2QueryCallback__2c_20b2AABB_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20emscripten__internal__AllowedRawPointer_b2QueryCallback__2c_20b2AABB_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function bool_20_28b2ContactListenerWrapper____emscripten__internal__getContext_bool_20_28b2ContactListenerWrapper____29_28unsigned_20int_29__28bool_20_28b2ContactListenerWrapper____20const__29_28unsigned_20int_29_29_29_28unsigned_20int_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20float___setWire_b2WheelJointDef__28float_20b2WheelJointDef____20const__2c_20b2WheelJointDef__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2RayCastOutput_2c_20float___setWire_b2RayCastOutput__28float_20b2RayCastOutput____20const__2c_20b2RayCastOutput__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2MouseJointDef_2c_20float___setWire_b2MouseJointDef__28float_20b2MouseJointDef____20const__2c_20b2MouseJointDef__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2MotorJointDef_2c_20float___setWire_b2MotorJointDef__28float_20b2MotorJointDef____20const__2c_20b2MotorJointDef__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____max_size_5babi_v160004_5d_28_29_20const($0) { + $0 = unsigned_20long_20std____2__allocator_traits_std____2__allocator_char____max_size_5babi_v160004_5d_std____2__allocator_char__2c_20void_2c_20void__28std____2__allocator_char__20const__29(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29_20const($0)); + return ($0 >>> (std____2__numeric_limits_unsigned_20long___max_5babi_v160004_5d_28_29() >>> 1 >>> 0 < $0 >>> 0) | 0) - 16 | 0; +} + +function void_20_28b2Shape____emscripten__internal__getContext_void_20_28b2Shape____29_28b2MassData__2c_20float_29_20const__28void_20_28b2Shape____20const__29_28b2MassData__2c_20float_29_20const_29_29_28b2MassData__2c_20float_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__FunctionInvoker_void_20_28__29_28b2QueryCallbackWrapper__29_2c_20void_2c_20b2QueryCallbackWrapper____invoke_28void_20_28___29_28b2QueryCallbackWrapper__29_2c_20b2QueryCallbackWrapper__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[HEAP32[$2 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__GenericBindingType_b2QueryCallbackWrapper___fromWireType_28b2QueryCallbackWrapper__29(HEAP32[$2 + 8 >> 2])); + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20bool___setWire_b2RevoluteJointDef__28bool_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2; + $0 = emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1); + HEAP8[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0] = $0 & 1; + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Joint__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2JointDef_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Joint__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2JointDef_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__MemberAccess_b2WeldJointDef_2c_20float___setWire_b2WeldJointDef__28float_20b2WeldJointDef____20const__2c_20b2WeldJointDef__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2RopeJointDef_2c_20float___setWire_b2RopeJointDef__28float_20b2RopeJointDef____20const__2c_20b2RopeJointDef__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2RayCastInput_2c_20float___setWire_b2RayCastInput__28float_20b2RayCastInput____20const__2c_20b2RayCastInput__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__GenericBindingType_b2Transform___toWireType_28b2Transform_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(16); + $3 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + $4 = $1; + $1 = $5; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + $1 = HEAP32[$3 + 12 >> 2]; + $0 = HEAP32[$3 + 8 >> 2]; + $4 = $0; + $0 = $5; + HEAP32[$0 + 8 >> 2] = $4; + HEAP32[$0 + 12 >> 2] = $1; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function std____2__unique_ptr_std____2____tree_node_b2Fixture__2c_20void___2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______get_deleter_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______second_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2DistanceJointDef__b2DistanceJointDef_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2JointDef__b2JointDef_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 20 | 0); + b2Vec2__b2Vec2_28_29($0 + 28 | 0); + HEAP32[$0 >> 2] = 3; + b2Vec2__Set_28float_2c_20float_29($0 + 20 | 0, Math_fround(0), Math_fround(0)); + b2Vec2__Set_28float_2c_20float_29($0 + 28 | 0, Math_fround(0), Math_fround(0)); + HEAPF32[$0 + 36 >> 2] = 1; + HEAPF32[$0 + 40 >> 2] = 0; + HEAPF32[$0 + 44 >> 2] = 0; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture________tree_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____destroy_28std____2____tree_node_b2Fixture__2c_20void____29($0, std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______root_5babi_v160004_5d_28_29_20const($0)); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2BodyDef_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2BodyDef_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__MemberAccess_b2JointDef_2c_20b2JointType___setWire_b2JointDef__28b2JointType_20b2JointDef____20const__2c_20b2JointDef__2c_20b2JointType_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = emscripten__internal__EnumBindingType_b2JointType___fromWireType_28b2JointType_29(HEAP32[$3 + 4 >> 2]); + HEAP32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $0; + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__Signature_void___get_method_caller_28_29() { + var $0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = __stack_pointer - 16 | 0; + __stack_pointer = $0; + if (!(HEAP8[30028] & 1)) { + wasm2js_i32$0 = 30024, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void___getCount_28_29_20const($0 + 15 | 0) | 0, emscripten__internal__WithPolicies____ArgTypeList_void___getTypes_28_29_20const($0 + 15 | 0) | 0) | 0, + HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[30028] = 1; + } + __stack_pointer = $0 + 16 | 0; + return HEAP32[7506]; +} + +function b2Vec2_20const__20_28b2PrismaticJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const__28b2Vec2_20const__20_28b2PrismaticJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__internal__MemberAccess_b2Shape_2c_20b2Shape__Type___setWire_b2Shape__28b2Shape__Type_20b2Shape____20const__2c_20b2Shape__2c_20b2Shape__Type_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = emscripten__internal__EnumBindingType_b2Shape__Type___fromWireType_28b2Shape__Type_29(HEAP32[$3 + 4 >> 2]); + HEAP32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $0; + __stack_pointer = $3 + 16 | 0; +} + +function embind_init_b2_28_29__$_4____invoke_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + embind_init_b2_28_29__$_4__operator_28_29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_20const($3 + 3 | 0, HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function b2WorldQueryWrapper__QueryCallback_28int_29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + wasm2js_i32$0 = $2, wasm2js_i32$1 = b2BroadPhase__GetUserData_28int_29_20const(HEAP32[$0 >> 2], HEAP32[$2 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; + $0 = HEAP32[$0 + 4 >> 2]; + $0 = FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 8 >> 2]]($0, HEAP32[HEAP32[$2 + 4 >> 2] + 16 >> 2]) | 0; + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function std____2__pair_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2_____pair_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___2c_20_28void__290__28std____2__reverse_iterator_b2Vec2_____2c_20std____2__reverse_iterator_b2Vec2_____29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[HEAP32[$3 + 8 >> 2] >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[HEAP32[$3 + 4 >> 2] >> 2]; + return $0; +} + +function b2Vec2_20const__20_28b2RevoluteJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2RevoluteJoint____29_28_29_20const__28b2Vec2_20const__20_28b2RevoluteJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20const__20_28b2DistanceJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2DistanceJoint____29_28_29_20const__28b2Vec2_20const__20_28b2DistanceJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__internal__MemberAccess_b2FixtureDef_2c_20float___setWire_b2FixtureDef__28float_20b2FixtureDef____20const__2c_20b2FixtureDef__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function b2Body__SetLinearVelocity_28b2Vec2_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAP32[$0 >> 2]) { + if (b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 8 >> 2]) > Math_fround(0)) { + b2Body__SetAwake_28bool_29($0, 1); + } + $1 = HEAP32[$2 + 8 >> 2]; + $3 = HEAP32[$1 + 4 >> 2]; + HEAP32[$0 + 64 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$0 + 68 >> 2] = $3; + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__GenericBindingType_b2Color___toWireType_28b2Color_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(16); + $3 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + $4 = $1; + $1 = $5; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + $1 = HEAP32[$3 + 12 >> 2]; + $0 = HEAP32[$3 + 8 >> 2]; + $4 = $0; + $0 = $5; + HEAP32[$0 + 8 >> 2] = $4; + HEAP32[$0 + 12 >> 2] = $1; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function void_20std____2__allocator_traits_std____2__allocator_b2Vec2____construct_5babi_v160004_5d_b2Vec2_2c_20b2Vec2_20const__2c_20void__28std____2__allocator_b2Vec2___2c_20b2Vec2__2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + void_20std____2__allocator_b2Vec2___construct_5babi_v160004_5d_b2Vec2_2c_20b2Vec2_20const___28b2Vec2__2c_20b2Vec2_20const__29(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function b2WeldJointDef__b2WeldJointDef_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2JointDef__b2JointDef_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 20 | 0); + b2Vec2__b2Vec2_28_29($0 + 28 | 0); + HEAP32[$0 >> 2] = 8; + b2Vec2__Set_28float_2c_20float_29($0 + 20 | 0, Math_fround(0), Math_fround(0)); + b2Vec2__Set_28float_2c_20float_29($0 + 28 | 0, Math_fround(0), Math_fround(0)); + HEAPF32[$0 + 36 >> 2] = 0; + HEAPF32[$0 + 40 >> 2] = 0; + HEAPF32[$0 + 44 >> 2] = 0; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Fixture__20_28b2Body____emscripten__internal__getContext_b2Fixture__20_28b2Body____29_28b2FixtureDef_20const__29__28b2Fixture__20_28b2Body____20const__29_28b2FixtureDef_20const__29_29_29_28b2FixtureDef_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20bool___setWire_b2WheelJointDef__28bool_20b2WheelJointDef____20const__2c_20b2WheelJointDef__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2; + $0 = emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1); + HEAP8[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0] = $0 & 1; + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2MassData__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__GenericBindingType_b2AABB___toWireType_28b2AABB_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(16); + $3 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$3 >> 2]; + $0 = HEAP32[$3 + 4 >> 2]; + $4 = $1; + $1 = $5; + HEAP32[$1 >> 2] = $4; + HEAP32[$1 + 4 >> 2] = $0; + $1 = HEAP32[$3 + 12 >> 2]; + $0 = HEAP32[$3 + 8 >> 2]; + $4 = $0; + $0 = $5; + HEAP32[$0 + 8 >> 2] = $4; + HEAP32[$0 + 12 >> 2] = $1; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_bool_2c_20unsigned_20int___invoke_28bool_20_28__29_28unsigned_20int_29_2c_20unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$2 + 8 >> 2])) & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function void_20emscripten__internal__MemberAccess_b2BodyDef_2c_20b2BodyType___setWire_b2BodyDef__28b2BodyType_20b2BodyDef____20const__2c_20b2BodyDef__2c_20b2BodyType_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = emscripten__internal__EnumBindingType_b2BodyType___fromWireType_28b2BodyType_29(HEAP32[$3 + 4 >> 2]); + HEAP32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $0; + __stack_pointer = $3 + 16 | 0; +} + +function void_20_28b2PrismaticJoint____emscripten__internal__getContext_void_20_28b2PrismaticJoint____29_28float_2c_20float_29__28void_20_28b2PrismaticJoint____20const__29_28float_2c_20float_29_29_29_28float_2c_20float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2Vec2_20const__2c_20float_29__28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20float_29_29_29_28b2Vec2_20const__2c_20float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2MassData__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function bool_20_28b2Fixture____emscripten__internal__getContext_bool_20_28b2Fixture____29_28b2Vec2_20const__29_20const__28bool_20_28b2Fixture____20const__29_28b2Vec2_20const__29_20const_29_29_28b2Vec2_20const__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__internal__MemberAccess_b2MassData_2c_20float___setWire_b2MassData__28float_20b2MassData____20const__2c_20b2MassData__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20_28b2RevoluteJoint____emscripten__internal__getContext_void_20_28b2RevoluteJoint____29_28float_2c_20float_29__28void_20_28b2RevoluteJoint____20const__29_28float_2c_20float_29_29_29_28float_2c_20float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2ContactListener____emscripten__internal__getContext_void_20_28b2ContactListener____29_28unsigned_20int_29__28void_20_28b2ContactListener____20const__29_28unsigned_20int_29_29_29_28unsigned_20int_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2Vec2_20const__2c_20bool_29__28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20bool_29_29_29_28b2Vec2_20const__2c_20bool_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20const__20_28b2WheelJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const__28b2Vec2_20const__20_28b2WheelJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20const__20_28b2MouseJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2MouseJoint____29_28_29_20const__28b2Vec2_20const__20_28b2MouseJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20const__20_28b2MotorJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2MotorJoint____29_28_29_20const__28b2Vec2_20const__20_28b2MotorJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20_28b2Body____emscripten__internal__getContext_b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const__28b2Vec2_20_28b2Body____20const__29_28b2Vec2_20const__29_20const_29_29_28b2Vec2_20const__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2AABB_20const__20_28b2Fixture____emscripten__internal__getContext_b2AABB_20const__20_28b2Fixture____29_28int_29_20const__28b2AABB_20const__20_28b2Fixture____20const__29_28int_29_20const_29_29_28int_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2MassData__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function unsigned_20long_20std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______max_size_5babi_v160004_5d_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void____2c_20void__28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____max_size_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____ConstructTransaction___ConstructTransaction_5babi_v160004_5d_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$3 + 8 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[HEAP32[$3 + 8 >> 2] + 4 >> 2]; + HEAP32[$0 + 8 >> 2] = HEAP32[HEAP32[$3 + 8 >> 2] + 4 >> 2] + (HEAP32[$3 + 4 >> 2] << 3); + return $0; +} + +function b2World__QueryAABB_28b2QueryCallback__2c_20b2AABB_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[$3 + 28 >> 2] = $0; + HEAP32[$3 + 24 >> 2] = $1; + HEAP32[$3 + 20 >> 2] = $2; + $0 = HEAP32[$3 + 28 >> 2]; + HEAP32[$3 + 12 >> 2] = $0 + 102868; + HEAP32[$3 + 16 >> 2] = HEAP32[$3 + 24 >> 2]; + void_20b2BroadPhase__Query_b2WorldQueryWrapper__28b2WorldQueryWrapper__2c_20b2AABB_20const__29_20const($0 + 102868 | 0, $3 + 12 | 0, HEAP32[$3 + 20 >> 2]); + __stack_pointer = $3 + 32 | 0; +} + +function void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28float_2c_20int_2c_20int_29__28void_20_28b2World____20const__29_28float_2c_20int_2c_20int_29_29_29_28float_2c_20int_2c_20int_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2PolygonShape____emscripten__internal__getContext_void_20_28b2PolygonShape____29_28float_2c_20float_29__28void_20_28b2PolygonShape____20const__29_28float_2c_20float_29_29_29_28float_2c_20float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2PrismaticJoint____emscripten__internal__getContext_float_20_28b2PrismaticJoint____29_28float_29_20const__28float_20_28b2PrismaticJoint____20const__29_28float_29_20const_29_29_28float_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__Invoker_b2World__2c_20b2Vec2_____invoke_28b2World__20_28__29_28b2Vec2___29_2c_20b2Vec2__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + emscripten__internal__BindingType_b2Vec2___2c_20void___fromWireType_28b2Vec2__29($2, HEAP32[$2 + 8 >> 2]); + $0 = emscripten__internal__BindingType_b2World__2c_20void___toWireType_28b2World__29(FUNCTION_TABLE[$0 | 0]($2) | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Vec2_20const__20_28b2WeldJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2WeldJoint____29_28_29_20const__28b2Vec2_20const__20_28b2WeldJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20const__20_28b2RopeJoint____emscripten__internal__getContext_b2Vec2_20const__20_28b2RopeJoint____29_28_29_20const__28b2Vec2_20const__20_28b2RopeJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Transform_20const__20_28b2Body____emscripten__internal__getContext_b2Transform_20const__20_28b2Body____29_28_29_20const__28b2Transform_20const__20_28b2Body____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2TempPolygon__b2TempPolygon_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + $3 = $0 - -64 | 0; + $2 = $0; + while (1) { + b2Vec2__b2Vec2_28_29($2); + $2 = $2 + 8 | 0; + if (($3 | 0) != ($2 | 0)) { + continue; + } + break; + } + $0 = $0 - -64 | 0; + $2 = $0 - -64 | 0; + while (1) { + b2Vec2__b2Vec2_28_29($0); + $0 = $0 + 8 | 0; + if (($2 | 0) != ($0 | 0)) { + continue; + } + break; + } + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Joint__20_28b2World____emscripten__internal__getContext_b2Joint__20_28b2World____29_28b2JointDef_20const__29__28b2Joint__20_28b2World____20const__29_28b2JointDef_20const__29_29_29_28b2JointDef_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Filter_20const__20_28b2Fixture____emscripten__internal__getContext_b2Filter_20const__20_28b2Fixture____29_28_29_20const__28b2Filter_20const__20_28b2Fixture____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__internal__MemberAccess_b2BodyDef_2c_20float___setWire_b2BodyDef__28float_20b2BodyDef____20const__2c_20b2BodyDef__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______second_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_201_2c_20false_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 4 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function float_20emscripten__internal__fromGenericWireType_float__28double_29($0) { + var $1 = 0, $2 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAPF64[$1 + 8 >> 3] = $0; + wasm2js_i32$0 = $1, wasm2js_f32$0 = emscripten__internal__GenericWireTypeConverter_float___from_28double_29(HEAPF64[$1 + 8 >> 3]), + HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$1 + 4 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $2; +} + +function emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2DrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2DrawWrapper__29__operator_28_29_28b2DrawWrapper__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29(HEAP32[$2 + 8 >> 2] + 8 | 0, 1); + __stack_pointer = $2 + 16 | 0; +} + +function b2World__ClearForces_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$1 + 8 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] + 102948 >> 2]; + while (1) { + if (HEAP32[$1 + 8 >> 2]) { + b2Vec2__SetZero_28_29(HEAP32[$1 + 8 >> 2] + 76 | 0); + HEAPF32[HEAP32[$1 + 8 >> 2] + 84 >> 2] = 0; + wasm2js_i32$0 = $1, wasm2js_i32$1 = b2Body__GetNext_28_29(HEAP32[$1 + 8 >> 2]), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + continue; + } + break; + } + __stack_pointer = $1 + 16 | 0; +} + +function float_20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20float___getWire_b2PrismaticJointDef__28float_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function float_20_28b2RevoluteJoint____emscripten__internal__getContext_float_20_28b2RevoluteJoint____29_28float_29_20const__28float_20_28b2RevoluteJoint____20const__29_28float_29_20const_29_29_28float_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20_28b2QueryCallback____emscripten__internal__getContext_bool_20_28b2QueryCallback____29_28unsigned_20int_29__28bool_20_28b2QueryCallback____20const__29_28unsigned_20int_29_29_29_28unsigned_20int_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20_28b2AABB____emscripten__internal__getContext_bool_20_28b2AABB____29_28b2AABB_20const__29_20const__28bool_20_28b2AABB____20const__29_28b2AABB_20const__29_20const_29_29_28b2AABB_20const__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Island___b2Island_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2StackAllocator__Free_28void__29(HEAP32[$0 >> 2], HEAP32[$0 + 20 >> 2]); + b2StackAllocator__Free_28void__29(HEAP32[$0 >> 2], HEAP32[$0 + 24 >> 2]); + b2StackAllocator__Free_28void__29(HEAP32[$0 >> 2], HEAP32[$0 + 16 >> 2]); + b2StackAllocator__Free_28void__29(HEAP32[$0 >> 2], HEAP32[$0 + 12 >> 2]); + b2StackAllocator__Free_28void__29(HEAP32[$0 >> 2], HEAP32[$0 + 8 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__MemberAccess_b2FixtureDef_2c_20bool___setWire_b2FixtureDef__28bool_20b2FixtureDef____20const__2c_20b2FixtureDef__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2; + $0 = emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1); + HEAP8[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0] = $0 & 1; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2Filter_2c_20short___setWire_b2Filter__28short_20b2Filter____20const__2c_20b2Filter__2c_20short_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP16[$3 + 6 >> 1] = $2; + $0 = emscripten__internal__BindingType_short_2c_20void___fromWireType_28short_29(HEAPU16[$3 + 6 >> 1] << 16 >> 16); + HEAP16[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 1] = $0; + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__Invoker_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______invoke_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20void___toWireType_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28b2MassData__29_20const__28void_20_28b2Fixture____20const__29_28b2MassData__29_20const_29_29_28b2MassData__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2__pair_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int_____pair_5babi_v160004_5d_std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___2c_20_28void__290__28std____2__reverse_iterator_int_____2c_20std____2__reverse_iterator_int_____29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[HEAP32[$3 + 8 >> 2] >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[HEAP32[$3 + 4 >> 2] >> 2]; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2MassData__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Body__20_28b2World____emscripten__internal__getContext_b2Body__20_28b2World____29_28b2BodyDef_20const__29__28b2Body__20_28b2World____20const__29_28b2BodyDef_20const__29_29_29_28b2BodyDef_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20float___getWire_b2RevoluteJointDef__28float_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function float_20emscripten__internal__MemberAccess_b2DistanceJointDef_2c_20float___getWire_b2DistanceJointDef__28float_20b2DistanceJointDef____20const__2c_20b2DistanceJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____vector_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______destroy_vector____destroy_vector_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($1 + 8 | 0, $0); + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______destroy_vector__operator_28_29_5babi_v160004_5d_28_29($1 + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__MemberAccess_b2Shape_2c_20float___setWire_b2Shape__28float_20b2Shape____20const__2c_20b2Shape__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2Color_2c_20float___setWire_b2Color__28float_20b2Color____20const__2c_20b2Color__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function void_20_28b2MouseJoint____emscripten__internal__getContext_void_20_28b2MouseJoint____29_28b2Vec2_20const__29__28void_20_28b2MouseJoint____20const__29_28b2Vec2_20const__29_29_29_28b2Vec2_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2MotorJoint____emscripten__internal__getContext_void_20_28b2MotorJoint____29_28b2Vec2_20const__29__28void_20_28b2MotorJoint____20const__29_28b2Vec2_20const__29_29_29_28b2Vec2_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__vector_int_2c_20std____2__allocator_int_____ConstructTransaction___ConstructTransaction_5babi_v160004_5d_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$3 + 8 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[HEAP32[$3 + 8 >> 2] + 4 >> 2]; + HEAP32[$0 + 8 >> 2] = HEAP32[HEAP32[$3 + 8 >> 2] + 4 >> 2] + (HEAP32[$3 + 4 >> 2] << 2); + return $0; +} + +function embind_init_b2_28_29__$_4__operator_28_29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_20const($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + b2PolygonShape__Set_28b2Vec2_20const__2c_20int_29(HEAP32[$4 + 8 >> 2], std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29(HEAP32[$4 + 4 >> 2]), HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2JointDef_2c_20bool___setWire_b2JointDef__28bool_20b2JointDef____20const__2c_20b2JointDef__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2; + $0 = emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1); + HEAP8[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0] = $0 & 1; + __stack_pointer = $3 + 16 | 0; +} + +function void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28b2Filter_20const__29__28void_20_28b2Fixture____20const__29_28b2Filter_20const__29_29_29_28b2Filter_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28b2Transform_20const__29__28void_20_28b2Draw____20const__29_28b2Transform_20const__29_29_29_28b2Transform_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2WheelJoint____emscripten__internal__getContext_float_20_28b2WheelJoint____29_28float_29_20const__28float_20_28b2WheelJoint____20const__29_28float_29_20const_29_29_28float_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Color_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Color_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function bool_20std____2__operator___5babi_v160004_5d_b2Vec2__2c_20b2Vec2___28std____2__reverse_iterator_b2Vec2___20const__2c_20std____2__reverse_iterator_b2Vec2___20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = std____2__reverse_iterator_b2Vec2____base_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]); + $1 = std____2__reverse_iterator_b2Vec2____base_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return ($0 | 0) != ($1 | 0); +} + +function b2Vec2_20_28b2RopeJoint____emscripten__internal__getContext_b2Vec2_20_28b2RopeJoint____29_28float_29_20const__28b2Vec2_20_28b2RopeJoint____20const__29_28float_29_20const_29_29_28float_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Shape__Type_20_28b2Fixture____emscripten__internal__getContext_b2Shape__Type_20_28b2Fixture____29_28_29_20const__28b2Shape__Type_20_28b2Fixture____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__internal__MemberAccess_b2Vec2_2c_20float___setWire_b2Vec2__28float_20b2Vec2____20const__2c_20b2Vec2__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function __cxxabiv1____si_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 + 8 >> 2], 0)) { + __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($1, $1, $2, $3); + return; + } + $0 = HEAP32[$0 + 8 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 28 >> 2]]($0, $1, $2, $3); +} + +function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function decltype_28fp_29_20emscripten__select_overload_void_20_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_2c_20b2PolygonShape__28void_20_28b2PolygonShape____29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0; + $3 = HEAP32[$1 >> 2]; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 8 >> 2] = $3; + $1 = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = $1; + $1 = HEAP32[$0 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; + HEAP32[$0 >> 2] = $1; +} + +function void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2ContactListener__29__28void_20_28b2World____20const__29_28b2ContactListener__29_29_29_28b2ContactListener__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2MassData__29_20const__28void_20_28b2Body____20const__29_28b2MassData__29_20const_29_29_28b2MassData__29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2RopeJoint____emscripten__internal__getContext_float_20_28b2RopeJoint____29_28float_29_20const__28float_20_28b2RopeJoint____20const__29_28float_29_20const_29_29_28float_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2PrismaticJoint____emscripten__internal__getContext_float_20_28b2PrismaticJoint____29_28_29_20const__28float_20_28b2PrismaticJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20const__20_28b2Body____emscripten__internal__getContext_b2Vec2_20const__20_28b2Body____29_28_29_20const__28b2Vec2_20const__20_28b2Body____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__internal__MemberAccess_b2BodyDef_2c_20bool___setWire_b2BodyDef__28bool_20b2BodyDef____20const__2c_20b2BodyDef__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2; + $0 = emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$3 + 7 | 0] & 1); + HEAP8[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] | 0] = $0 & 1; + __stack_pointer = $3 + 16 | 0; +} + +function b2Body__CreateFixture_28b2Shape_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[$3 + 44 >> 2] = $0; + HEAP32[$3 + 40 >> 2] = $1; + HEAPF32[$3 + 36 >> 2] = $2; + $0 = HEAP32[$3 + 44 >> 2]; + b2FixtureDef__b2FixtureDef_28_29($3 + 8 | 0); + HEAP32[$3 + 8 >> 2] = HEAP32[$3 + 40 >> 2]; + HEAPF32[$3 + 24 >> 2] = HEAPF32[$3 + 36 >> 2]; + $0 = b2Body__CreateFixture_28b2FixtureDef_20const__29($0, $3 + 8 | 0); + __stack_pointer = $3 + 48 | 0; + return $0 | 0; +} + +function void_20emscripten__internal__MemberAccess_b2Rot_2c_20float___setWire_b2Rot__28float_20b2Rot____20const__2c_20b2Rot__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $2 = emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(HEAPF32[$3 + 4 >> 2]); + HEAPF32[HEAP32[$3 + 8 >> 2] + HEAP32[HEAP32[$3 + 12 >> 2] >> 2] >> 2] = $2; + __stack_pointer = $3 + 16 | 0; +} + +function unsigned_20short_20emscripten__internal__MemberAccess_b2Filter_2c_20unsigned_20short___getWire_b2Filter__28unsigned_20short_20b2Filter____20const__2c_20b2Filter_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__BindingType_unsigned_20short_2c_20void___toWireType_28unsigned_20short_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 & 65535; +} + +function unsigned_20int_20_28b2Draw____emscripten__internal__getContext_unsigned_20int_20_28b2Draw____29_28_29_20const__28unsigned_20int_20_28b2Draw____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2RevoluteJoint____emscripten__internal__getContext_float_20_28b2RevoluteJoint____29_28_29_20const__28float_20_28b2RevoluteJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2DistanceJoint____emscripten__internal__getContext_float_20_28b2DistanceJoint____29_28_29_20const__28float_20_28b2DistanceJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int_2c_20int_2c_20b2Color_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int_2c_20int_2c_20b2Color_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int_2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int_2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function bool_20_28b2PrismaticJoint____emscripten__internal__getContext_bool_20_28b2PrismaticJoint____29_28_29_20const__28bool_20_28b2PrismaticJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Shape__Type_20_28b2Shape____emscripten__internal__getContext_b2Shape__Type_20_28b2Shape____29_28_29_20const__28b2Shape__Type_20_28b2Shape____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20float___getWire_b2WheelJointDef__28float_20b2WheelJointDef____20const__2c_20b2WheelJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function float_20emscripten__internal__MemberAccess_b2RayCastOutput_2c_20float___getWire_b2RayCastOutput__28float_20b2RayCastOutput____20const__2c_20b2RayCastOutput_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function float_20emscripten__internal__MemberAccess_b2MouseJointDef_2c_20float___getWire_b2MouseJointDef__28float_20b2MouseJointDef____20const__2c_20b2MouseJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function float_20emscripten__internal__MemberAccess_b2MotorJointDef_2c_20float___getWire_b2MotorJointDef__28float_20b2MotorJointDef____20const__2c_20b2MotorJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function b2MouseJoint__SetTarget_28b2Vec2_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (operator___28b2Vec2_20const__2c_20b2Vec2_20const__29(HEAP32[$2 + 8 >> 2], $0 + 76 | 0) & 1) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + $1 = HEAP32[$2 + 8 >> 2]; + $3 = HEAP32[$1 + 4 >> 2]; + HEAP32[$0 + 76 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$0 + 80 >> 2] = $3; + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WireTypePack____WireTypePack_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + wasm2js_i32$0 = $1, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29($0), + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29($1 + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2BlockAllocator___b2BlockAllocator_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$1 + 4 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 4 >> 2] < HEAP32[$0 + 4 >> 2]) { + b2Free_28void__29(HEAP32[(HEAP32[$0 >> 2] + (HEAP32[$1 + 4 >> 2] << 3) | 0) + 4 >> 2]); + HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] + 1; + continue; + } + break; + } + b2Free_28void__29(HEAP32[$0 >> 2]); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function bool_20_28b2RevoluteJoint____emscripten__internal__getContext_bool_20_28b2RevoluteJoint____29_28_29_20const__28bool_20_28b2RevoluteJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______allocate_5babi_v160004_5d_28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20unsigned_20long_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____allocate_5babi_v160004_5d_28unsigned_20long_29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int___20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int___20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function __cxxabiv1____class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 + 8 >> 2], $5)) { + __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($1, $1, $2, $3, $4); + } +} + +function float_20emscripten__internal__MemberAccess_b2WeldJointDef_2c_20float___getWire_b2WeldJointDef__28float_20b2WeldJointDef____20const__2c_20b2WeldJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function float_20emscripten__internal__MemberAccess_b2RopeJointDef_2c_20float___getWire_b2RopeJointDef__28float_20b2RopeJointDef____20const__2c_20b2RopeJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function float_20emscripten__internal__MemberAccess_b2RayCastInput_2c_20float___getWire_b2RayCastInput__28float_20b2RayCastInput____20const__2c_20b2RayCastInput_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function void_20std____2__allocator_traits_std____2__allocator_int____construct_5babi_v160004_5d_int_2c_20int_20const__2c_20void__28std____2__allocator_int___2c_20int__2c_20int_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + void_20std____2__allocator_int___construct_5babi_v160004_5d_int_2c_20int_20const___28int__2c_20int_20const__29(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2Vec2_20const__29__28void_20_28b2World____20const__29_28b2Vec2_20const__29_29_29_28b2Vec2_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2MassData____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20int_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20int_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function bool_20_28b2PolygonShape____emscripten__internal__getContext_bool_20_28b2PolygonShape____29_28_29_20const__28bool_20_28b2PolygonShape____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20_28b2Joint____emscripten__internal__getContext_b2Vec2_20_28b2Joint____29_28float_29_20const__28b2Vec2_20_28b2Joint____20const__29_28float_29_20const_29_29_28float_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2JointType_20_28b2Joint____emscripten__internal__getContext_b2JointType_20_28b2Joint____29_28_29_20const__28b2JointType_20_28b2Joint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20const__20emscripten__internal__getActualType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float_2c_20b2Vec2_20const__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float_2c_20b2Vec2_20const__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20_28b2PrismaticJoint____emscripten__internal__getContext_void_20_28b2PrismaticJoint____29_28float_29__28void_20_28b2PrismaticJoint____20const__29_28float_29_29_29_28float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28float_2c_20bool_29__28void_20_28b2Body____20const__29_28float_2c_20bool_29_29_29_28float_2c_20bool_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2Vec2_20const__29__28void_20_28b2Body____20const__29_28b2Vec2_20const__29_29_29_28b2Vec2_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function int_20_28b2PolygonShape____emscripten__internal__getContext_int_20_28b2PolygonShape____29_28_29_20const__28int_20_28b2PolygonShape____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2WheelJoint____emscripten__internal__getContext_float_20_28b2WheelJoint____29_28_29_20const__28float_20_28b2WheelJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2MouseJoint____emscripten__internal__getContext_float_20_28b2MouseJoint____29_28_29_20const__28float_20_28b2MouseJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2MotorJoint____emscripten__internal__getContext_float_20_28b2MotorJoint____29_28_29_20const__28float_20_28b2MotorJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2Joint____emscripten__internal__getContext_float_20_28b2Joint____29_28float_29_20const__28float_20_28b2Joint____20const__29_28float_29_20const_29_29_28float_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20emscripten__internal__fromGenericWireType_bool__28double_29($0) { + var $1 = 0, $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAPF64[$1 + 8 >> 3] = $0; + wasm2js_i32$0 = $1, wasm2js_i32$1 = emscripten__internal__GenericWireTypeConverter_bool___from_28double_29(HEAPF64[$1 + 8 >> 3]) & 1, + HEAP8[wasm2js_i32$0 + 7 | 0] = wasm2js_i32$1; + $2 = emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29(HEAP8[$1 + 7 | 0] & 1); + __stack_pointer = $1 + 16 | 0; + return $2 & 1; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2AABB__2c_20b2AABB__2c_20b2AABB____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20emscripten__internal__AllowedRawPointer_b2AABB_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_std____2__vector_int_2c_20std____2__allocator_int______invoke_28std____2__vector_int_2c_20std____2__allocator_int____20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_std____2__vector_int_2c_20std____2__allocator_int____2c_20void___toWireType_28std____2__vector_int_2c_20std____2__allocator_int____29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2Body__SynchronizeTransform_28_29($0) { + var $1 = 0, $2 = 0; + $1 = __stack_pointer - 32 | 0; + __stack_pointer = $1; + HEAP32[$1 + 28 >> 2] = $0; + $0 = HEAP32[$1 + 28 >> 2]; + b2Rot__Set_28float_29($0 + 20 | 0, HEAPF32[$0 + 56 >> 2]); + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($1 + 12 | 0, $0 + 20 | 0, $0 + 28 | 0); + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($1 + 20 | 0, $0 + 44 | 0, $1 + 12 | 0); + $2 = HEAP32[$1 + 24 >> 2]; + HEAP32[$0 + 12 >> 2] = HEAP32[$1 + 20 >> 2]; + HEAP32[$0 + 16 >> 2] = $2; + __stack_pointer = $1 + 32 | 0; +} + +function void_20_28b2RevoluteJoint____emscripten__internal__getContext_void_20_28b2RevoluteJoint____29_28float_29__28void_20_28b2RevoluteJoint____20const__29_28float_29_29_29_28float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2PrismaticJoint____emscripten__internal__getContext_void_20_28b2PrismaticJoint____29_28bool_29__28void_20_28b2PrismaticJoint____20const__29_28bool_29_29_29_28bool_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Draw____emscripten__internal__getContext_void_20_28b2Draw____29_28unsigned_20int_29__28void_20_28b2Draw____20const__29_28unsigned_20int_29_29_29_28unsigned_20int_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2DistanceJoint____emscripten__internal__getContext_void_20_28b2DistanceJoint____29_28float_29__28void_20_28b2DistanceJoint____20const__29_28float_29_29_29_28float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2__pair_char_20const__2c_20char___20std____2____copy_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { + std____2__pair_char_20const__2c_20char___20std____2____dispatch_copy_or_move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3); +} + +function int_20_28b2CircleShape____emscripten__internal__getContext_int_20_28b2CircleShape____29_28_29_20const__28int_20_28b2CircleShape____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2WeldJoint____emscripten__internal__getContext_float_20_28b2WeldJoint____29_28_29_20const__28float_20_28b2WeldJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2RopeJoint____emscripten__internal__getContext_float_20_28b2RopeJoint____29_28_29_20const__28float_20_28b2RopeJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2ContactListener____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2ContactListener_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20b2MassData____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function bool_20std____2__operator___5babi_v160004_5d_int__2c_20int___28std____2__reverse_iterator_int___20const__2c_20std____2__reverse_iterator_int___20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = std____2__reverse_iterator_int____base_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 12 >> 2]); + $1 = std____2__reverse_iterator_int____base_5babi_v160004_5d_28_29_20const(HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return ($0 | 0) != ($1 | 0); +} + +function bool_20_28b2WheelJoint____emscripten__internal__getContext_bool_20_28b2WheelJoint____29_28_29_20const__28bool_20_28b2WheelJoint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20b2Vec2___getWire_b2PrismaticJointDef__28b2Vec2_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2BodyType_20_28b2Body____emscripten__internal__getContext_b2BodyType_20_28b2Body____29_28_29_20const__28b2BodyType_20_28b2Body____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function operator__28b2Vec3_20const__2c_20b2Vec3_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec3__b2Vec3_28float_2c_20float_2c_20float_29($0, Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] + HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]), Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] + HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2]), Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 8 >> 2] + HEAPF32[HEAP32[$3 + 8 >> 2] + 8 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function float_20emscripten__internal__MemberAccess_b2FixtureDef_2c_20float___getWire_b2FixtureDef__28float_20b2FixtureDef____20const__2c_20b2FixtureDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function std____2__vector_int_2c_20std____2__allocator_int_____vector_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2__vector_int_2c_20std____2__allocator_int______destroy_vector____destroy_vector_28std____2__vector_int_2c_20std____2__allocator_int____29($1 + 8 | 0, $0); + std____2__vector_int_2c_20std____2__allocator_int______destroy_vector__operator_28_29_5babi_v160004_5d_28_29($1 + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2ContactListenerWrapper__b2ContactListenerWrapper___28emscripten__val___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + emscripten__wrapper_b2ContactListener___wrapper___28emscripten__val___29($0, HEAP32[$2 + 8 >> 2]); + HEAP32[$0 >> 2] = 25980; + std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____set_5babi_v160004_5d_28_29($0 + 12 | 0); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function void_20_28b2RevoluteJoint____emscripten__internal__getContext_void_20_28b2RevoluteJoint____29_28bool_29__28void_20_28b2RevoluteJoint____20const__29_28bool_29_29_29_28bool_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__FunctionInvoker_void_20_28__29_28b2DrawWrapper__29_2c_20void_2c_20b2DrawWrapper____invoke_28void_20_28___29_28b2DrawWrapper__29_2c_20b2DrawWrapper__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[HEAP32[$2 + 12 >> 2] >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__GenericBindingType_b2DrawWrapper___fromWireType_28b2DrawWrapper__29(HEAP32[$2 + 8 >> 2])); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__Invoker_unsigned_20int___invoke_28unsigned_20int_20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + wasm2js_i32$0 = $1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0, + HEAP32[wasm2js_i32$0 + 8 >> 2] = wasm2js_i32$1; + $0 = emscripten__internal__BindingType_unsigned_20int_2c_20void___toWireType_28unsigned_20int_20const__29($1 + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20b2Vec2___getWire_b2RevoluteJointDef__28b2Vec2_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2DistanceJointDef_2c_20b2Vec2___getWire_b2DistanceJointDef__28b2Vec2_20b2DistanceJointDef____20const__2c_20b2DistanceJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2PrismaticJoint__EnableLimit_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if ((HEAP8[$2 + 11 | 0] & 1) != (HEAP8[$0 + 140 | 0] & 1)) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAP8[$0 + 140 | 0] = HEAP8[$2 + 11 | 0] & 1; + HEAPF32[$0 + 116 >> 2] = 0; + HEAPF32[$0 + 120 >> 2] = 0; + } + __stack_pointer = $2 + 16 | 0; +} + +function int_20_28b2EdgeShape____emscripten__internal__getContext_int_20_28b2EdgeShape____29_28_29_20const__28int_20_28b2EdgeShape____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2Fixture____emscripten__internal__getContext_float_20_28b2Fixture____29_28_29_20const__28float_20_28b2Fixture____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20bool___getWire_b2PrismaticJointDef__28bool_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(HEAP8[HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0] & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function b2RevoluteJoint__EnableLimit_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if ((HEAP8[$2 + 11 | 0] & 1) != (HEAP8[$0 + 116 | 0] & 1)) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAP8[$0 + 116 | 0] = HEAP8[$2 + 11 | 0] & 1; + HEAPF32[$0 + 96 >> 2] = 0; + HEAPF32[$0 + 100 >> 2] = 0; + } + __stack_pointer = $2 + 16 | 0; +} + +function std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____erase_5babi_v160004_5d_28b2Fixture__20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = unsigned_20long_20std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______erase_unique_b2Fixture___28b2Fixture__20const__29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20_28b2WheelJoint____emscripten__internal__getContext_void_20_28b2WheelJoint____29_28float_29__28void_20_28b2WheelJoint____20const__29_28float_29_29_29_28float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2MouseJoint____emscripten__internal__getContext_void_20_28b2MouseJoint____29_28float_29__28void_20_28b2MouseJoint____20const__29_28float_29_29_29_28float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2MotorJoint____emscripten__internal__getContext_void_20_28b2MotorJoint____29_28float_29__28void_20_28b2MotorJoint____20const__29_28float_29_29_29_28float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20emscripten__internal__MemberAccess_b2MassData_2c_20float___getWire_b2MassData__28float_20b2MassData____20const__2c_20b2MassData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function bool_20_28b2Fixture____emscripten__internal__getContext_bool_20_28b2Fixture____29_28_29_20const__28bool_20_28b2Fixture____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20_28b2World____emscripten__internal__getContext_b2Vec2_20_28b2World____29_28_29_20const__28b2Vec2_20_28b2World____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20_28b2Joint____emscripten__internal__getContext_b2Vec2_20_28b2Joint____29_28_29_20const__28b2Vec2_20_28b2Joint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20bool___getWire_b2RevoluteJointDef__28bool_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(HEAP8[HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0] & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function emscripten__wrapper_b2RayCastCallback____wrapper_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$0 >> 2] = 25728; + if (HEAP8[$0 + 4 | 0] & 1) { + void_20emscripten__wrapper_b2RayCastCallback___call_void__28char_20const__29_20const($0, 3023); + } + emscripten__val___val_28_29($0 + 8 | 0); + b2RayCastCallback___b2RayCastCallback_28_29($0); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__wrapper_b2ContactListener____wrapper_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$0 >> 2] = 26012; + if (HEAP8[$0 + 4 | 0] & 1) { + void_20emscripten__wrapper_b2ContactListener___call_void__28char_20const__29_20const($0, 3023); + } + emscripten__val___val_28_29($0 + 8 | 0); + b2ContactListener___b2ContactListener_28_29($0); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function void_20_28b2WheelJoint____emscripten__internal__getContext_void_20_28b2WheelJoint____29_28bool_29__28void_20_28b2WheelJoint____20const__29_28bool_29_29_29_28bool_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2WeldJoint____emscripten__internal__getContext_void_20_28b2WeldJoint____29_28float_29__28void_20_28b2WeldJoint____20const__29_28float_29_29_29_28float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2RopeJoint____emscripten__internal__getContext_void_20_28b2RopeJoint____29_28float_29__28void_20_28b2RopeJoint____20const__29_28float_29_29_29_28float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2PrismaticJoint____emscripten__internal__getContext_void_20_28b2PrismaticJoint____29_28_29__28void_20_28b2PrismaticJoint____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2Fixture__29__28void_20_28b2Body____20const__29_28b2Fixture__29_29_29_28b2Fixture__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28b2BodyType_29__28void_20_28b2Body____20const__29_28b2BodyType_29_29_29_28b2BodyType_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______is_long_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAPU8[std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]) + 11 | 0]; + __stack_pointer = $1 + 16 | 0; + return $0 >>> 7 | 0; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_4__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_4__28embind_init_b2_28_29__$_4_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_4__operator_20void_20_28__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec2_20_28b2AABB____emscripten__internal__getContext_b2Vec2_20_28b2AABB____29_28_29_20const__28b2Vec2_20_28b2AABB____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____data_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_pointer_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2])); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function float_20emscripten__internal__MemberAccess_b2BodyDef_2c_20float___getWire_b2BodyDef__28float_20b2BodyDef____20const__2c_20b2BodyDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function bool_20emscripten__val__call_bool_2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = emscripten__internal__MethodCaller_bool_2c_20unsigned_20int____call_28emscripten___EM_VAL__2c_20char_20const__2c_20unsigned_20int__29(HEAP32[HEAP32[$3 + 12 >> 2] >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; + return $0 & 1; +} + +function b2MotorJoint__SetCorrectionFactor_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(!(!(b2IsValid_28float_29(HEAPF32[$2 + 8 >> 2]) & 1) | !(HEAPF32[$2 + 8 >> 2] >= Math_fround(0))) & HEAPF32[$2 + 8 >> 2] <= Math_fround(1))) { + __assert_fail(8039, 4228, 257, 3741); + wasm2js_trap(); + } + HEAPF32[$0 + 100 >> 2] = HEAPF32[$2 + 8 >> 2]; + __stack_pointer = $2 + 16 | 0; +} + +function __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { + $0 = HEAP32[$1 + 16 >> 2]; + if (!$0) { + HEAP32[$1 + 36 >> 2] = 1; + HEAP32[$1 + 24 >> 2] = $3; + HEAP32[$1 + 16 >> 2] = $2; + return; + } + label$2: { + if (($2 | 0) == ($0 | 0)) { + if (HEAP32[$1 + 24 >> 2] != 2) { + break label$2; + } + HEAP32[$1 + 24 >> 2] = $3; + return; + } + HEAP8[$1 + 54 | 0] = 1; + HEAP32[$1 + 24 >> 2] = 2; + HEAP32[$1 + 36 >> 2] = HEAP32[$1 + 36 >> 2] + 1; + } +} + +function void_20emscripten__val__call_void_2c_20b2Transform_20const___28char_20const__2c_20b2Transform_20const__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + emscripten__internal__MethodCaller_void_2c_20b2Transform_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20b2Transform_20const__29(HEAP32[HEAP32[$3 + 12 >> 2] >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Island__Add_28b2Body__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAP32[$0 + 28 >> 2] >= HEAP32[$0 + 40 >> 2]) { + __assert_fail(1216, 7552, 58, 10388); + wasm2js_trap(); + } + HEAP32[HEAP32[$2 + 8 >> 2] + 8 >> 2] = HEAP32[$0 + 28 >> 2]; + HEAP32[HEAP32[$0 + 8 >> 2] + (HEAP32[$0 + 28 >> 2] << 2) >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 28 >> 2] = HEAP32[$0 + 28 >> 2] + 1; + __stack_pointer = $2 + 16 | 0; +} + +function void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2Joint__29__28void_20_28b2World____20const__29_28b2Joint__29_29_29_28b2Joint__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2RevoluteJoint____emscripten__internal__getContext_void_20_28b2RevoluteJoint____29_28_29__28void_20_28b2RevoluteJoint____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2DistanceJoint____emscripten__internal__getContext_void_20_28b2DistanceJoint____29_28_29__28void_20_28b2DistanceJoint____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2Body____emscripten__internal__getContext_float_20_28b2Body____29_28_29_20const__28float_20_28b2Body____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20_28b2AABB____emscripten__internal__getContext_float_20_28b2AABB____29_28_29_20const__28float_20_28b2AABB____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20_28b2World____emscripten__internal__getContext_bool_20_28b2World____29_28_29_20const__28bool_20_28b2World____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20_28b2Joint____emscripten__internal__getContext_bool_20_28b2Joint____29_28_29_20const__28bool_20_28b2Joint____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2RopeJointDef__b2RopeJointDef_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2JointDef__b2JointDef_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 20 | 0); + b2Vec2__b2Vec2_28_29($0 + 28 | 0); + HEAP32[$0 >> 2] = 10; + b2Vec2__Set_28float_2c_20float_29($0 + 20 | 0, Math_fround(-1), Math_fround(0)); + b2Vec2__Set_28float_2c_20float_29($0 + 28 | 0, Math_fround(1), Math_fround(0)); + HEAPF32[$0 + 36 >> 2] = 0; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2JointType_20emscripten__internal__MemberAccess_b2JointDef_2c_20b2JointType___getWire_b2JointDef__28b2JointType_20b2JointDef____20const__2c_20b2JointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__EnumBindingType_b2JointType___toWireType_28b2JointType_29(HEAP32[HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20b2Vec2___getWire_b2WheelJointDef__28b2Vec2_20b2WheelJointDef____20const__2c_20b2WheelJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2RayCastOutput_2c_20b2Vec2___getWire_b2RayCastOutput__28b2Vec2_20b2RayCastOutput____20const__2c_20b2RayCastOutput_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2MouseJointDef_2c_20b2Vec2___getWire_b2MouseJointDef__28b2Vec2_20b2MouseJointDef____20const__2c_20b2MouseJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2MotorJointDef_2c_20b2Vec2___getWire_b2MotorJointDef__28b2Vec2_20b2MotorJointDef____20const__2c_20b2MotorJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$0 >> 2]; +} + +function b2Shape__Type_20emscripten__internal__MemberAccess_b2Shape_2c_20b2Shape__Type___getWire_b2Shape__28b2Shape__Type_20b2Shape____20const__2c_20b2Shape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__EnumBindingType_b2Shape__Type___toWireType_28b2Shape__Type_29(HEAP32[HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2Draw__29__28void_20_28b2World____20const__29_28b2Draw__29_29_29_28b2Draw__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28b2Body__29__28void_20_28b2World____20const__29_28b2Body__29_29_29_28b2Body__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28float_29__28void_20_28b2Fixture____20const__29_28float_29_29_29_28float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2______ConstructTransaction___ConstructTransaction_5babi_v160004_5d_28b2Vec2___2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[HEAP32[$3 + 8 >> 2] >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[HEAP32[$3 + 8 >> 2] >> 2] + (HEAP32[$3 + 4 >> 2] << 3); + HEAP32[$0 + 8 >> 2] = HEAP32[$3 + 8 >> 2]; + return $0; +} + +function std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______first_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2____tree_node_b2Fixture__2c_20void____2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function int_20_28b2Shape____emscripten__internal__getContext_int_20_28b2Shape____29_28_29_20const__28int_20_28b2Shape____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Fixture____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function bool_20_28b2Body____emscripten__internal__getContext_bool_20_28b2Body____29_28_29_20const__28bool_20_28b2Body____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20_28b2AABB____emscripten__internal__getContext_bool_20_28b2AABB____29_28_29_20const__28bool_20_28b2AABB____20const__29_28_29_20const_29_29_28_29_20const($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Filter__20emscripten__internal__MemberAccess_b2FixtureDef_2c_20b2Filter___getWire_b2FixtureDef__28b2Filter_20b2FixtureDef____20const__2c_20b2FixtureDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Filter___toWireType_28b2Filter_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int___20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__wrapper_b2QueryCallback____wrapper_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$0 >> 2] = 25476; + if (HEAP8[$0 + 4 | 0] & 1) { + void_20emscripten__wrapper_b2QueryCallback___call_void__28char_20const__29_20const($0, 3023); + } + emscripten__val___val_28_29($0 + 8 | 0); + b2QueryCallback___b2QueryCallback_28_29($0); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2____compressed_pair_std____2____tree_end_node_std____2____tree_node_base_void_____2c_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______first_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2____tree_end_node_std____2____tree_node_base_void_____2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Joint____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Joint_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2WeldJointDef_2c_20b2Vec2___getWire_b2WeldJointDef__28b2Vec2_20b2WeldJointDef____20const__2c_20b2WeldJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2RopeJointDef_2c_20b2Vec2___getWire_b2RopeJointDef__28b2Vec2_20b2RopeJointDef____20const__2c_20b2RopeJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2RayCastInput_2c_20b2Vec2___getWire_b2RayCastInput__28b2Vec2_20b2RayCastInput____20const__2c_20b2RayCastInput_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28bool_29__28void_20_28b2Fixture____20const__29_28bool_29_29_29_28bool_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20emscripten__internal__MemberAccess_b2Shape_2c_20float___getWire_b2Shape__28float_20b2Shape____20const__2c_20b2Shape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function float_20emscripten__internal__MemberAccess_b2Color_2c_20float___getWire_b2Color__28float_20b2Color____20const__2c_20b2Color_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function b2Shape__20_28b2Fixture____emscripten__internal__getContext_b2Shape__20_28b2Fixture____29_28_29__28b2Shape__20_28b2Fixture____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____deallocate_5babi_v160004_5d_28std____2____tree_node_b2Fixture__2c_20void____2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + std____2____libcpp_deallocate_5babi_v160004_5d_28void__2c_20unsigned_20long_2c_20unsigned_20long_29(HEAP32[$3 + 8 >> 2], Math_imul(HEAP32[$3 + 4 >> 2], 20), 4); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Draw____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Draw_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Body____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Body_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function bool_20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20bool___getWire_b2WheelJointDef__28bool_20b2WheelJointDef____20const__2c_20b2WheelJointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(HEAP8[HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0] & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function void_20_28b2WheelJoint____emscripten__internal__getContext_void_20_28b2WheelJoint____29_28_29__28void_20_28b2WheelJoint____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2MouseJoint____emscripten__internal__getContext_void_20_28b2MouseJoint____29_28_29__28void_20_28b2MouseJoint____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2MotorJoint____emscripten__internal__getContext_void_20_28b2MotorJoint____29_28_29__28void_20_28b2MotorJoint____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28int_29__28void_20_28b2Fixture____20const__29_28int_29_29_29_28int_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2CircleShape_2c_20b2Vec2___getWire_b2CircleShape__28b2Vec2_20b2CircleShape____20const__2c_20b2CircleShape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Fixture__20_28b2Body____emscripten__internal__getContext_b2Fixture__20_28b2Body____29_28_29__28b2Fixture__20_28b2Body____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2ContactListenerWrapper__registerContactFixture_28unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + HEAP32[$2 + 28 >> 2] = $0; + HEAP32[$2 + 24 >> 2] = $1; + $0 = HEAP32[$2 + 28 >> 2]; + HEAP32[$2 + 20 >> 2] = HEAP32[$2 + 24 >> 2]; + std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____insert_5babi_v160004_5d_28b2Fixture__20const__29($2 + 12 | 0, $0 + 12 | 0, $2 + 20 | 0); + __stack_pointer = $2 + 32 | 0; +} + +function b2Body__20_28b2Fixture____emscripten__internal__getContext_b2Body__20_28b2Fixture____29_28_29__28b2Body__20_28b2Fixture____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2BodyType_20emscripten__internal__MemberAccess_b2BodyDef_2c_20b2BodyType___getWire_b2BodyDef__28b2BodyType_20b2BodyDef____20const__2c_20b2BodyDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__EnumBindingType_b2BodyType___toWireType_28b2BodyType_29(HEAP32[HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function float_20emscripten__internal__MemberAccess_b2Vec2_2c_20float___getWire_b2Vec2__28float_20b2Vec2____20const__2c_20b2Vec2_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function emscripten__wrapper_b2RayCastCallback___wrapper___28emscripten__val___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = 0; + b2RayCastCallback__b2RayCastCallback_28_29($0); + emscripten__internal__WrapperBase__WrapperBase_28_29($0 + 4 | 0); + HEAP32[$0 >> 2] = 25728; + emscripten__val__val_28emscripten__val___29($0 + 8 | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function emscripten__wrapper_b2ContactListener___wrapper___28emscripten__val___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = 0; + b2ContactListener__b2ContactListener_28_29($0); + emscripten__internal__WrapperBase__WrapperBase_28_29($0 + 4 | 0); + HEAP32[$0 >> 2] = 26012; + emscripten__val__val_28emscripten__val___29($0 + 8 | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28bool_29__28void_20_28b2World____20const__29_28bool_29_29_29_28bool_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2WeldJoint____emscripten__internal__getContext_void_20_28b2WeldJoint____29_28_29__28void_20_28b2WeldJoint____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2RopeJoint____emscripten__internal__getContext_void_20_28b2RopeJoint____29_28_29__28void_20_28b2RopeJoint____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28float_29__28void_20_28b2Body____20const__29_28float_29_29_29_28float_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int______ConstructTransaction___ConstructTransaction_5babi_v160004_5d_28int___2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[HEAP32[$3 + 8 >> 2] >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[HEAP32[$3 + 8 >> 2] >> 2] + (HEAP32[$3 + 4 >> 2] << 2); + HEAP32[$0 + 8 >> 2] = HEAP32[$3 + 8 >> 2]; + return $0; +} + +function bool_20emscripten__wrapper_b2QueryCallback___call_bool_2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = bool_20emscripten__val__call_bool_2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__29_20const(HEAP32[$3 + 12 >> 2] + 8 | 0, HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; + return $0 & 1; +} + +function void_20emscripten__constant_int__28char_20const__2c_20int_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + _embind_register_constant(HEAP32[$2 + 12 >> 2], emscripten__internal__TypeID_int_20const__2c_20void___get_28_29() | 0, +double_20emscripten__internal__asGenericValue_int__28int_29(emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[$2 + 8 >> 2]))); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function float_20emscripten__internal__MemberAccess_b2Rot_2c_20float___getWire_b2Rot__28float_20b2Rot____20const__2c_20b2Rot_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $3 = emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return Math_fround($3); +} + +function b2BroadPhase__UnBufferMove_28int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 4 >> 2] = 0; + while (1) { + if (HEAP32[$2 + 4 >> 2] < HEAP32[$0 + 40 >> 2]) { + if (HEAP32[HEAP32[$0 + 32 >> 2] + (HEAP32[$2 + 4 >> 2] << 2) >> 2] == HEAP32[$2 + 8 >> 2]) { + HEAP32[HEAP32[$0 + 32 >> 2] + (HEAP32[$2 + 4 >> 2] << 2) >> 2] = -1; + } + HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] + 1; + continue; + } + break; + } +} + +function void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28bool_29__28void_20_28b2Body____20const__29_28bool_29_29_29_28bool_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function decltype_28fp_29_20emscripten__select_overload_b2Fixture__20_28b2Shape_20const__2c_20float_29_2c_20b2Body__28b2Fixture__20_28b2Body____29_28b2Shape_20const__2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0; + $3 = HEAP32[$1 >> 2]; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 8 >> 2] = $3; + $1 = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = $1; + $1 = HEAP32[$0 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; + HEAP32[$0 >> 2] = $1; +} + +function b2World__20_28b2Body____emscripten__internal__getContext_b2World__20_28b2Body____29_28_29__28b2World__20_28b2Body____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Body__20_28b2Joint____emscripten__internal__getContext_b2Body__20_28b2Joint____29_28_29__28b2Body__20_28b2Joint____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2____compressed_pair_std____2____tree_end_node_std____2____tree_node_base_void_____2c_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______second_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void____2c_201_2c_20true_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__wrapper_b2QueryCallback___wrapper___28emscripten__val___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = 0; + b2QueryCallback__b2QueryCallback_28_29($0); + emscripten__internal__WrapperBase__WrapperBase_28_29($0 + 4 | 0); + HEAP32[$0 >> 2] = 25476; + emscripten__val__val_28emscripten__val___29($0 + 8 | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2QueryCallback__2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2QueryCallback__2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2Transform_2c_20b2Vec2___getWire_b2Transform__28b2Vec2_20b2Transform____20const__2c_20b2Transform_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function void_20_28b2Fixture____emscripten__internal__getContext_void_20_28b2Fixture____29_28_29__28void_20_28b2Fixture____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20emscripten__val__call_void_2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + emscripten__internal__MethodCaller_void_2c_20unsigned_20int____call_28emscripten___EM_VAL__2c_20char_20const__2c_20unsigned_20int__29(HEAP32[HEAP32[$3 + 12 >> 2] >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function std____2____compressed_pair_std____2____tree_node_b2Fixture__2c_20void____2c_20std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_______first_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2____tree_node_b2Fixture__2c_20void____2c_200_2c_20false_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2FixtureDef__2c_20b2Shape_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2FixtureDef__2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function bool_20emscripten__internal__MemberAccess_b2FixtureDef_2c_20bool___getWire_b2FixtureDef__28bool_20b2FixtureDef____20const__2c_20b2FixtureDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(HEAP8[HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0] & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function void_20emscripten__wrapper_b2Draw___call_void_2c_20b2Transform_20const___28char_20const__2c_20b2Transform_20const__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + void_20emscripten__val__call_void_2c_20b2Transform_20const___28char_20const__2c_20b2Transform_20const__29_20const(HEAP32[$3 + 12 >> 2] + 12 | 0, HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______node_alloc_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_std____2____tree_end_node_std____2____tree_node_base_void_____2c_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______second_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 4 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____compressed_pair_std____2____tree_end_node_std____2____tree_node_base_void_____2c_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______first_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2____tree_end_node_std____2____tree_node_base_void_____2c_200_2c_20false_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2MassData_2c_20b2Vec2___getWire_b2MassData__28b2Vec2_20b2MassData____20const__2c_20b2MassData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2Rot__20emscripten__internal__MemberAccess_b2Transform_2c_20b2Rot___getWire_b2Transform__28b2Rot_20b2Transform____20const__2c_20b2Transform_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Rot___toWireType_28b2Rot_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Transform_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Transform_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20_28b2World____emscripten__internal__getContext_void_20_28b2World____29_28_29__28void_20_28b2World____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28b2Joint____emscripten__internal__getContext_void_20_28b2Joint____29_28_29__28void_20_28b2Joint____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function short_20emscripten__internal__MemberAccess_b2Filter_2c_20short___getWire_b2Filter__28short_20b2Filter____20const__2c_20b2Filter_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__BindingType_short_2c_20void___toWireType_28short_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 << 16 >> 16; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2BodyDef_2c_20b2Vec2___getWire_b2BodyDef__28b2Vec2_20b2BodyDef____20const__2c_20b2BodyDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2ContactListenerWrapper__unregisterContactFixture_28unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 8 >> 2]; + std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____erase_5babi_v160004_5d_28b2Fixture__20const__29($0 + 12 | 0, $2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function void_20_28__emscripten__internal__getContext_void_20_28__29_28b2FixtureDef__2c_20b2Shape_20const__29__28void_20_28__20const__29_28b2FixtureDef__2c_20b2Shape_20const__29_29_29_28b2FixtureDef__2c_20b2Shape_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2__allocator_traits_std____2__allocator_b2Vec2____deallocate_5babi_v160004_5d_28std____2__allocator_b2Vec2___2c_20b2Vec2__2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + std____2__allocator_b2Vec2___deallocate_5babi_v160004_5d_28b2Vec2__2c_20unsigned_20long_29(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function void_20_28b2Body____emscripten__internal__getContext_void_20_28b2Body____29_28_29__28void_20_28b2Body____20const__29_28_29_29_29_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAP32[$2 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + HEAP32[$0 >> 2] = $3; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Body____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Body_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Joint____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Joint_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function decltype_28fp_29_20emscripten__select_overload_b2Fixture__20_28b2FixtureDef_20const__29_2c_20b2Body__28b2Fixture__20_28b2Body____29_28b2FixtureDef_20const__29_29($0, $1) { + var $2 = 0, $3 = 0; + $3 = HEAP32[$1 >> 2]; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 8 >> 2] = $3; + $1 = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = $1; + $1 = HEAP32[$0 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; + HEAP32[$0 >> 2] = $1; +} + +function bool_20emscripten__internal__MemberAccess_b2JointDef_2c_20bool___getWire_b2JointDef__28bool_20b2JointDef____20const__2c_20b2JointDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(HEAP8[HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0] & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function b2Rot__b2Rot_28float_29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + wasm2js_i32$0 = $0, wasm2js_f32$0 = sinf(HEAPF32[$2 + 8 >> 2]), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $0, wasm2js_f32$0 = cosf(HEAPF32[$2 + 8 >> 2]), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function __cxxabiv1____base_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { + var $4 = 0, $5 = 0; + $5 = HEAP32[$0 + 4 >> 2]; + $4 = 0; + label$1: { + if (!$2) { + break label$1; + } + $4 = $5 >> 8; + if (!($5 & 1)) { + break label$1; + } + $4 = update_offset_to_base_28char_20const__2c_20long_29(HEAP32[$2 >> 2], $4); + } + $0 = HEAP32[$0 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 28 >> 2]]($0, $1, $2 + $4 | 0, $5 & 2 ? $3 : 2); +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Island__Add_28b2Contact__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAP32[$0 + 36 >> 2] >= HEAP32[$0 + 44 >> 2]) { + __assert_fail(1276, 7552, 66, 10388); + wasm2js_trap(); + } + $3 = HEAP32[$2 + 8 >> 2]; + $4 = HEAP32[$0 + 12 >> 2]; + $1 = HEAP32[$0 + 36 >> 2]; + HEAP32[$0 + 36 >> 2] = $1 + 1; + HEAP32[($1 << 2) + $4 >> 2] = $3; + __stack_pointer = $2 + 16 | 0; +} + +function b2DistanceProxy__b2DistanceProxy_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + $3 = $0 + 16 | 0; + $2 = $0; + while (1) { + b2Vec2__b2Vec2_28_29($2); + $2 = $2 + 8 | 0; + if (($3 | 0) != ($2 | 0)) { + continue; + } + break; + } + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAPF32[$0 + 24 >> 2] = 0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Manifold__b2Manifold_28_29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + $3 = $0 + 40 | 0; + $2 = $0; + while (1) { + b2ManifoldPoint__b2ManifoldPoint_28_29($2); + $2 = $2 + 20 | 0; + if (($3 | 0) != ($2 | 0)) { + continue; + } + break; + } + b2Vec2__b2Vec2_28_29($0 + 40 | 0); + b2Vec2__b2Vec2_28_29($0 + 48 | 0); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function void_20emscripten__wrapper_b2ContactListener___call_void_2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + void_20emscripten__val__call_void_2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__29_20const(HEAP32[$3 + 12 >> 2] + 8 | 0, HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function bool_20emscripten__internal__MemberAccess_b2BodyDef_2c_20bool___getWire_b2BodyDef__28bool_20b2BodyDef____20const__2c_20b2BodyDef_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29(HEAP8[HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0] & 1); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function b2Island__Add_28b2Joint__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAP32[$0 + 32 >> 2] >= HEAP32[$0 + 48 >> 2]) { + __assert_fail(1245, 7552, 72, 10388); + wasm2js_trap(); + } + $3 = HEAP32[$2 + 8 >> 2]; + $4 = HEAP32[$0 + 16 >> 2]; + $1 = HEAP32[$0 + 32 >> 2]; + HEAP32[$0 + 32 >> 2] = $1 + 1; + HEAP32[($1 << 2) + $4 >> 2] = $3; + __stack_pointer = $2 + 16 | 0; +} + +function void_20_28__emscripten__internal__getContext_void_20_28__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29__28void_20_28__20const__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_29_29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_______get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2RayCastCallbackWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2RayCastCallbackWrapper__2c_20emscripten__val______get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2ContactListenerWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20emscripten__val______get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function decltype_28fp_29_20emscripten__select_overload_void_20_28float_2c_20float_29_2c_20b2PolygonShape__28void_20_28b2PolygonShape____29_28float_2c_20float_29_29($0, $1) { + var $2 = 0, $3 = 0; + $3 = HEAP32[$1 >> 2]; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = HEAP32[$1 + 4 >> 2]; + HEAP32[$2 + 8 >> 2] = $3; + $1 = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = $1; + $1 = HEAP32[$0 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; + HEAP32[$0 >> 2] = $1; +} + +function char__20std____2__copy_5babi_v160004_5d_char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + std____2__pair_char_20const__2c_20char___20std____2____copy_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($3 + 8 | 0, $0, $1, $2); + __stack_pointer = $3 + 16 | 0; + $2 = HEAP32[$3 + 12 >> 2]; + return $2; +} + +function b2Min_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec2__b2Vec2_28float_2c_20float_29($0, float_20b2Min_float__28float_2c_20float_29(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2], HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]), float_20b2Min_float__28float_2c_20float_29(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2], HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function b2Max_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec2__b2Vec2_28float_2c_20float_29($0, float_20b2Max_float__28float_2c_20float_29(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2], HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]), float_20b2Max_float__28float_2c_20float_29(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2], HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function b2Fixture__SetFilterData_28b2Filter_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$2 + 8 >> 2]; + $3 = HEAPU16[$1 >> 1] | HEAPU16[$1 + 2 >> 1] << 16; + HEAP16[$0 + 32 >> 1] = $3; + HEAP16[$0 + 34 >> 1] = $3 >>> 16; + HEAP16[$0 + 36 >> 1] = HEAPU16[$1 + 4 >> 1]; + b2Fixture__Refilter_28_29($0); + __stack_pointer = $2 + 16 | 0; +} + +function void_20b2BroadPhase__RayCast_b2WorldRayCastWrapper__28b2WorldRayCastWrapper__2c_20b2RayCastInput_20const__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + void_20b2DynamicTree__RayCast_b2WorldRayCastWrapper__28b2WorldRayCastWrapper__2c_20b2RayCastInput_20const__29_20const(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function void_20_28__emscripten__internal__getContext_void_20_28__29_28b2Body__2c_20b2MassData_20const__29__28void_20_28__20const__29_28b2Body__2c_20b2MassData_20const__29_29_29_28b2Body__2c_20b2MassData_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Color__b2Color_28float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + HEAP32[$5 + 28 >> 2] = $0; + HEAPF32[$5 + 24 >> 2] = $1; + HEAPF32[$5 + 20 >> 2] = $2; + HEAPF32[$5 + 16 >> 2] = $3; + HEAPF32[$5 + 12 >> 2] = $4; + $0 = HEAP32[$5 + 28 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$5 + 24 >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$5 + 20 >> 2]; + HEAPF32[$0 + 8 >> 2] = HEAPF32[$5 + 16 >> 2]; + HEAPF32[$0 + 12 >> 2] = HEAPF32[$5 + 12 >> 2]; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2QueryCallbackWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2QueryCallbackWrapper__2c_20emscripten__val______get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec2__20emscripten__internal__MemberAccess_b2AABB_2c_20b2Vec2___getWire_b2AABB__28b2Vec2_20b2AABB____20const__2c_20b2AABB_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29(HEAP32[$2 + 8 >> 2] + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] | 0); + __stack_pointer = $2 + 16 | 0; + return $0 | 0; +} + +function b2RevoluteJoint__SetMaxMotorTorque_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAPF32[$2 + 8 >> 2] != HEAPF32[$0 + 108 >> 2]) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAPF32[$0 + 108 >> 2] = HEAPF32[$2 + 8 >> 2]; + } + __stack_pointer = $2 + 16 | 0; +} + +function b2PrismaticJoint__SetMaxMotorForce_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAPF32[$2 + 8 >> 2] != HEAPF32[$0 + 132 >> 2]) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAPF32[$0 + 132 >> 2] = HEAPF32[$2 + 8 >> 2]; + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__wrapper_b2Draw____wrapper_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$0 >> 2] = 26432; + if (HEAP8[$0 + 8 | 0] & 1) { + void_20emscripten__wrapper_b2Draw___call_void__28char_20const__29_20const($0, 3023); + } + emscripten__val___val_28_29($0 + 12 | 0); + b2Draw___b2Draw_28_29($0); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape_20const__2c_20b2FixtureDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20emscripten__internal__AllowedRawPointer_b2FixtureDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______destruct_at_end_5babi_v160004_5d_28b2Vec2__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______destruct_at_end_5babi_v160004_5d_28b2Vec2__2c_20std____2__integral_constant_bool_2c_20false__29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__allocator_traits_std____2__allocator_int____deallocate_5babi_v160004_5d_28std____2__allocator_int___2c_20int__2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + std____2__allocator_int___deallocate_5babi_v160004_5d_28int__2c_20unsigned_20long_29(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2JointDef__2c_20b2Body____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2JointDef__2c_20emscripten__internal__AllowedRawPointer_b2Body_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float_2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float_2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2WheelJoint__SetMaxMotorTorque_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAPF32[$2 + 8 >> 2] != HEAPF32[$0 + 132 >> 2]) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAPF32[$0 + 132 >> 2] = HEAPF32[$2 + 8 >> 2]; + } + __stack_pointer = $2 + 16 | 0; +} + +function b2Rot__Set_28float_29($0, $1) { + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + wasm2js_i32$0 = $0, wasm2js_f32$0 = sinf(HEAPF32[$2 + 8 >> 2]), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + wasm2js_i32$0 = $0, wasm2js_f32$0 = cosf(HEAPF32[$2 + 8 >> 2]), HEAPF32[wasm2js_i32$0 + 4 >> 2] = wasm2js_f32$0; + __stack_pointer = $2 + 16 | 0; +} + +function b2PrismaticJoint__SetMotorSpeed_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAPF32[$2 + 8 >> 2] != HEAPF32[$0 + 136 >> 2]) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAPF32[$0 + 136 >> 2] = HEAPF32[$2 + 8 >> 2]; + } + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____vector_5babi_v160004_5d_28_29($0); + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function operator__28float_2c_20b2Vec3_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAPF32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec3__b2Vec3_28float_2c_20float_2c_20float_29($0, Math_fround(HEAPF32[$3 + 12 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]), Math_fround(HEAPF32[$3 + 12 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2]), Math_fround(HEAPF32[$3 + 12 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 8 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function b2RevoluteJoint__SetMotorSpeed_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAPF32[$2 + 8 >> 2] != HEAPF32[$0 + 112 >> 2]) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAPF32[$0 + 112 >> 2] = HEAPF32[$2 + 8 >> 2]; + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float_2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float_2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20bool___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20bool____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2AABB_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2AABB_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2MotorJoint__SetAngularOffset_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAPF32[$2 + 8 >> 2] != HEAPF32[$0 + 76 >> 2]) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAPF32[$0 + 76 >> 2] = HEAPF32[$2 + 8 >> 2]; + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_std____2__vector_int_2c_20std____2__allocator_int______getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int_______get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20float_2c_20int_2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20float_2c_20int_2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2WheelJoint__SetMotorSpeed_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAPF32[$2 + 8 >> 2] != HEAPF32[$0 + 136 >> 2]) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAPF32[$0 + 136 >> 2] = HEAPF32[$2 + 8 >> 2]; + } + __stack_pointer = $2 + 16 | 0; +} + +function std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void________tree_node_destructor_5babi_v160004_5d_28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20bool_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP8[$3 + 7 | 0] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$3 + 8 >> 2]; + HEAP8[$0 + 4 | 0] = HEAP8[$3 + 7 | 0] & 1; + return $0; +} + +function emscripten__internal__Invoker_void_2c_20unsigned_20int___invoke_28void_20_28__29_28unsigned_20int_29_2c_20unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + FUNCTION_TABLE[$0 | 0](emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[$2 + 8 >> 2])); + __stack_pointer = $2 + 16 | 0; +} + +function b2MouseJointDef__b2MouseJointDef_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2JointDef__b2JointDef_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 20 | 0); + HEAP32[$0 >> 2] = 5; + b2Vec2__Set_28float_2c_20float_29($0 + 20 | 0, Math_fround(0), Math_fround(0)); + HEAPF32[$0 + 28 >> 2] = 0; + HEAPF32[$0 + 32 >> 2] = 5; + HEAPF32[$0 + 36 >> 2] = .699999988079071; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__allocator_char___allocate_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + if (unsigned_20long_20std____2__allocator_traits_std____2__allocator_char____max_size_5babi_v160004_5d_std____2__allocator_char__2c_20void_2c_20void__28std____2__allocator_char__20const__29($0) >>> 0 < $1 >>> 0) { + std____throw_bad_array_new_length_5babi_v160004_5d_28_29(); + wasm2js_trap(); + } + return std____2____libcpp_allocate_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29($1, 1); +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20b2AABB_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20b2AABB_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__enable_if_is_move_constructible_b2Vec2____value_20___20is_move_assignable_b2Vec2____value_2c_20void___type_20std____2__swap_5babi_v160004_5d_b2Vec2___28b2Vec2___2c_20b2Vec2___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[$2 + 4 >> 2] = HEAP32[HEAP32[$2 + 12 >> 2] >> 2]; + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] >> 2]; + HEAP32[HEAP32[$2 + 8 >> 2] >> 2] = HEAP32[$2 + 4 >> 2]; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_size_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + wasm2js_i32$0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0), + wasm2js_i32$1 = $1, HEAP32[wasm2js_i32$0 + 4 >> 2] = wasm2js_i32$1; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2AABB__2c_20b2AABB____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20emscripten__internal__AllowedRawPointer_b2AABB_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2PrismaticJoint__EnableMotor_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if ((HEAP8[$2 + 11 | 0] & 1) != (HEAP8[$0 + 141 | 0] & 1)) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAP8[$0 + 141 | 0] = HEAP8[$2 + 11 | 0] & 1; + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_5__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_5__28embind_init_b2_28_29__$_5_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_5__operator_20void_20_28__29_28b2FixtureDef__2c_20b2Shape_20const__29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2RevoluteJoint__EnableMotor_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if ((HEAP8[$2 + 11 | 0] & 1) != (HEAP8[$0 + 104 | 0] & 1)) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAP8[$0 + 104 | 0] = HEAP8[$2 + 11 | 0] & 1; + } + __stack_pointer = $2 + 16 | 0; +} + +function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0, $1, $2, $3) { + var $4 = 0, $5 = 0; + $4 = $2 >>> 16 | 0; + $5 = $0 >>> 16 | 0; + $3 = (Math_imul($4, $5) + Math_imul($1, $2) | 0) + Math_imul($3, $0) | 0; + $2 = $2 & 65535; + $0 = $0 & 65535; + $1 = Math_imul($2, $0); + $2 = ($1 >>> 16 | 0) + Math_imul($2, $5) | 0; + $3 = $3 + ($2 >>> 16 | 0) | 0; + $2 = Math_imul($0, $4) + ($2 & 65535) | 0; + i64toi32_i32$HIGH_BITS = $3 + ($2 >>> 16 | 0) | 0; + return $1 & 65535 | $2 << 16; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Color__Set_28float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + HEAP32[$5 + 28 >> 2] = $0; + HEAPF32[$5 + 24 >> 2] = $1; + HEAPF32[$5 + 20 >> 2] = $2; + HEAPF32[$5 + 16 >> 2] = $3; + HEAPF32[$5 + 12 >> 2] = $4; + $0 = HEAP32[$5 + 28 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$5 + 24 >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$5 + 20 >> 2]; + HEAPF32[$0 + 8 >> 2] = HEAPF32[$5 + 16 >> 2]; + HEAPF32[$0 + 12 >> 2] = HEAPF32[$5 + 12 >> 2]; +} + +function sbrk($0) { + var $1 = 0, $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = HEAP32[7465]; + $2 = $0 + 7 & -8; + $0 = $1 + $2 | 0; + label$1: { + if ($0 >>> 0 <= $1 >>> 0 ? $2 : 0) { + break label$1; + } + if (emscripten_get_heap_size() >>> 0 < $0 >>> 0) { + if (!(emscripten_resize_heap($0 | 0) | 0)) { + break label$1; + } + } + HEAP32[7465] = $0; + return $1; + } + wasm2js_i32$0 = __errno_location(), wasm2js_i32$1 = 48, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_1__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_1__28embind_init_b2_28_29__$_1_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_1__operator_20void_20_28__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function embind_init_b2_28_29__$_1____invoke_28b2AABB__2c_20b2AABB__2c_20b2AABB__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + embind_init_b2_28_29__$_1__operator_28_29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_20const($3 + 3 | 0, HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_7__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_7__28embind_init_b2_28_29__$_7_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_7__operator_20void_20_28__29_28b2Body__2c_20b2MassData_20const__29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20b2Filter_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20b2Filter_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2WheelJoint__EnableMotor_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if ((HEAP8[$2 + 11 | 0] & 1) != (HEAP8[$0 + 141 | 0] & 1)) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 48 >> 2], 1); + b2Body__SetAwake_28bool_29(HEAP32[$0 + 52 >> 2], 1); + HEAP8[$0 + 141 | 0] = HEAP8[$2 + 11 | 0] & 1; + } + __stack_pointer = $2 + 16 | 0; +} + +function b2RayCastCallbackWrapper__20emscripten__internal__wrapped_new_b2RayCastCallbackWrapper__2c_20b2RayCastCallbackWrapper_2c_20emscripten__val__28emscripten__val___29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(12); + b2RayCastCallbackWrapper__b2RayCastCallbackWrapper___28emscripten__val___29($0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2ContactListenerWrapper__20emscripten__internal__wrapped_new_b2ContactListenerWrapper__2c_20b2ContactListenerWrapper_2c_20emscripten__val__28emscripten__val___29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(24); + b2ContactListenerWrapper__b2ContactListenerWrapper___28emscripten__val___29($0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long___operator__5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____get_np_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2DrawWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2DrawWrapper__2c_20emscripten__val______get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__GenericBindingType_b2Filter___toWireType_28b2Filter_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(6); + $2 = HEAP32[$1 + 12 >> 2]; + $3 = HEAPU16[$2 >> 1] | HEAPU16[$2 + 2 >> 1] << 16; + HEAP16[$0 >> 1] = $3; + HEAP16[$0 + 2 >> 1] = $3 >>> 16; + HEAP16[$0 + 4 >> 1] = HEAPU16[$2 + 4 >> 1]; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20_28__emscripten__internal__getContext_void_20_28__29_28b2RayCastCallbackWrapper__29__28void_20_28__20const__29_28b2RayCastCallbackWrapper__29_29_29_28b2RayCastCallbackWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20_28__emscripten__internal__getContext_void_20_28__29_28b2ContactListenerWrapper__29__28void_20_28__20const__29_28b2ContactListenerWrapper__29_29_29_28b2ContactListenerWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Shape_20const__20_28__emscripten__internal__getContext_b2Shape_20const__20_28__29_28b2FixtureDef__29__28b2Shape_20const__20_28__20const__29_28b2FixtureDef__29_29_29_28b2FixtureDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2MotorJoint__SetMaxTorque_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(b2IsValid_28float_29(HEAPF32[$2 + 8 >> 2]) & 1 & HEAPF32[$2 + 8 >> 2] >= Math_fround(0))) { + __assert_fail(8451, 4228, 246, 8765); + wasm2js_trap(); + } + HEAPF32[$0 + 96 >> 2] = HEAPF32[$2 + 8 >> 2]; + __stack_pointer = $2 + 16 | 0; +} + +function b2ContactListenerWrapper___b2ContactListenerWrapper_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = 25980; + std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture______set_5babi_v160004_5d_28_29($0 + 12 | 0); + emscripten__wrapper_b2ContactListener____wrapper_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function __cxxabiv1____pbase_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { + var $3 = 0; + $2 = 1; + label$1: { + if (!(HEAPU8[$0 + 8 | 0] & 24)) { + $2 = 0; + if (!$1) { + break label$1; + } + $3 = __dynamic_cast($1, 23924, 24020, 0); + if (!$3) { + break label$1; + } + $2 = (HEAPU8[$3 + 8 | 0] & 24) != 0; + } + $2 = is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, $1, $2); + } + return $2; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_10__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_10__28embind_init_b2_28_29__$_10_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_10__operator_20void_20_28__29_28b2JointDef__2c_20b2Body__29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Transform_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Transform_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Filter_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Filter_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2MotorJoint__SetMaxForce_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(b2IsValid_28float_29(HEAPF32[$2 + 8 >> 2]) & 1 & HEAPF32[$2 + 8 >> 2] >= Math_fround(0))) { + __assert_fail(8487, 4228, 235, 9872); + wasm2js_trap(); + } + HEAPF32[$0 + 92 >> 2] = HEAPF32[$2 + 8 >> 2]; + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__internal__writeGenericWireType_b2Transform__28emscripten__internal__GenericWireType___2c_20b2Transform__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] >> 2] = HEAP32[$2 + 4 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] + 8; + __stack_pointer = $2 + 16 | 0; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int_______destruct_at_end_5babi_v160004_5d_28int__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + std____2____split_buffer_int_2c_20std____2__allocator_int_______destruct_at_end_5babi_v160004_5d_28int__2c_20std____2__integral_constant_bool_2c_20false__29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function void_20_28__emscripten__internal__getContext_void_20_28__29_28b2JointDef__2c_20b2Body__29__28void_20_28__20const__29_28b2JointDef__2c_20b2Body__29_29_29_28b2JointDef__2c_20b2Body__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2MotorJointDef__b2MotorJointDef_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2JointDef__b2JointDef_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 20 | 0); + HEAP32[$0 >> 2] = 11; + b2Vec2__SetZero_28_29($0 + 20 | 0); + HEAPF32[$0 + 28 >> 2] = 0; + HEAPF32[$0 + 32 >> 2] = 1; + HEAPF32[$0 + 36 >> 2] = 1; + HEAPF32[$0 + 40 >> 2] = .30000001192092896; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Body__GetLinearVelocityFromLocalPoint_28b2Vec2_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + $1 = HEAP32[$3 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($3, $1, HEAP32[$3 + 8 >> 2]); + b2Body__GetLinearVelocityFromWorldPoint_28b2Vec2_20const__29_20const($0, $1, $3); + __stack_pointer = $3 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + std____2__vector_int_2c_20std____2__allocator_int_____vector_5babi_v160004_5d_28_29($0); + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_pointer_5babi_v160004_5d_28char__29($0, $1) { + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + wasm2js_i32$0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0), + wasm2js_i32$1 = $1, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_6__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_6__28embind_init_b2_28_29__$_6_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_6__operator_20b2Shape_20const__20_28__29_28b2FixtureDef__29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_8__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_8__28embind_init_b2_28_29__$_8_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_8__operator_20void_20_28__29_28b2JointDef__2c_20b2Body__29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20b2JointDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2JointDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Fixture__GetAABB_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(HEAP32[$2 + 8 >> 2] < HEAP32[$0 + 28 >> 2] & HEAP32[$2 + 8 >> 2] >= 0)) { + __assert_fail(1997, 7346, 346, 11073); + wasm2js_trap(); + } + __stack_pointer = $2 + 16 | 0; + return HEAP32[$0 + 24 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 28) | 0; +} + +function void_20_28__emscripten__internal__getContext_void_20_28__29_28b2QueryCallbackWrapper__29__28void_20_28__20const__29_28b2QueryCallbackWrapper__29_29_29_28b2QueryCallbackWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2DynamicTree__GetUserData_28int_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(HEAP32[$2 + 8 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 8 >> 2] >= 0)) { + __assert_fail(1341, 7408, 167, 10491); + wasm2js_trap(); + } + __stack_pointer = $2 + 16 | 0; + return HEAP32[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 16 >> 2]; +} + +function void_20b2BroadPhase__Query_b2WorldQueryWrapper__28b2WorldQueryWrapper__2c_20b2AABB_20const__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + void_20b2DynamicTree__Query_b2WorldQueryWrapper__28b2WorldQueryWrapper__2c_20b2AABB_20const__29_20const(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function std____2__enable_if_is_move_constructible_int____value_20___20is_move_assignable_int____value_2c_20void___type_20std____2__swap_5babi_v160004_5d_int___28int___2c_20int___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[$2 + 4 >> 2] = HEAP32[HEAP32[$2 + 12 >> 2] >> 2]; + HEAP32[HEAP32[$2 + 12 >> 2] >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] >> 2]; + HEAP32[HEAP32[$2 + 8 >> 2] >> 2] = HEAP32[$2 + 4 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float_2c_20bool___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float_2c_20bool____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2DynamicTree__WasMoved_28int_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(HEAP32[$2 + 8 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 8 >> 2] >= 0)) { + __assert_fail(1341, 7408, 173, 10174); + wasm2js_trap(); + } + __stack_pointer = $2 + 16 | 0; + return HEAP8[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 36 | 0] & 1; +} + +function b2Body__SetAngularVelocity_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (HEAP32[$0 >> 2]) { + if (Math_fround(HEAPF32[$2 + 8 >> 2] * HEAPF32[$2 + 8 >> 2]) > Math_fround(0)) { + b2Body__SetAwake_28bool_29($0, 1); + } + HEAPF32[$0 + 72 >> 2] = HEAPF32[$2 + 8 >> 2]; + } + __stack_pointer = $2 + 16 | 0; +} + +function std____2____compressed_pair_elem_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void____2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____value_init_tag_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____allocator_5babi_v160004_5d_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2QueryCallbackWrapper__20emscripten__internal__wrapped_new_b2QueryCallbackWrapper__2c_20b2QueryCallbackWrapper_2c_20emscripten__val__28emscripten__val___29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(12); + b2QueryCallbackWrapper__b2QueryCallbackWrapper___28emscripten__val___29($0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2__operator___5babi_v160004_5d_28std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__2c_20std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__29_1($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[HEAP32[$2 + 12 >> 2] >> 2] == HEAP32[HEAP32[$2 + 8 >> 2] >> 2]; +} + +function std____2____compressed_pair_elem_std____2____tree_end_node_std____2____tree_node_base_void_____2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_28std____2____value_init_tag_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + std____2____tree_end_node_std____2____tree_node_base_void________tree_end_node_5babi_v160004_5d_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__wrapper_b2Draw___wrapper___28emscripten__val___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + b2Draw__b2Draw_28_29($0); + emscripten__internal__WrapperBase__WrapperBase_28_29($0 + 8 | 0); + HEAP32[$0 >> 2] = 26432; + emscripten__val__val_28emscripten__val___29($0 + 12 | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_0__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_0__28embind_init_b2_28_29__$_0_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_0__operator_20void_20_28__29_28b2AABB__2c_20b2AABB__29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Body__2c_20b2MassData_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2MassData_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20bool___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20bool____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__writeGenericWireType_b2Color__28emscripten__internal__GenericWireType___2c_20b2Color__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] >> 2] = HEAP32[$2 + 4 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] + 8; + __stack_pointer = $2 + 16 | 0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______root_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______end_node_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return HEAP32[$0 >> 2]; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_2__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_2__28embind_init_b2_28_29__$_2_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_2__operator_20void_20_28__29_28b2Shape__2c_20float_29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Fixture__SetDensity_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(b2IsValid_28float_29(HEAPF32[$2 + 8 >> 2]) & 1 & HEAPF32[$2 + 8 >> 2] >= Math_fround(0))) { + __assert_fail(8210, 7346, 300, 1089); + wasm2js_trap(); + } + HEAPF32[$0 >> 2] = HEAPF32[$2 + 8 >> 2]; + __stack_pointer = $2 + 16 | 0; +} + +function std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long___operator__5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____get_np_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 + 16 | 0; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_11__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_11__28embind_init_b2_28_29__$_11_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_11__operator_20b2Body__20_28__29_28b2JointDef__29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20bool___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20bool____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2RevoluteJoint__GetReactionForce_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAPF32[$3 + 8 >> 2] = $2; + $1 = HEAP32[$3 + 12 >> 2]; + b2Vec2__b2Vec2_28float_2c_20float_29($3, HEAPF32[$1 + 84 >> 2], HEAPF32[$1 + 88 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($0, HEAPF32[$3 + 8 >> 2], $3); + __stack_pointer = $3 + 16 | 0; +} + +function b2Dot_28b2Vec3_20const__2c_20b2Vec3_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[HEAP32[$2 + 12 >> 2] + 8 >> 2] * HEAPF32[HEAP32[$2 + 8 >> 2] + 8 >> 2]) + Math_fround(Math_fround(HEAPF32[HEAP32[$2 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$2 + 8 >> 2] >> 2]) + Math_fround(HEAPF32[HEAP32[$2 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$2 + 8 >> 2] + 4 >> 2]))); +} + +function b2Body__SetSleepingAllowed_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + label$1: { + if (HEAP8[$2 + 11 | 0] & 1) { + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] | 4; + break label$1; + } + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] & -5; + b2Body__SetAwake_28bool_29($0, 1); + } + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__internal__writeGenericWireType_b2Vec2__28emscripten__internal__GenericWireType___2c_20b2Vec2__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] >> 2] = HEAP32[$2 + 4 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] + 8; + __stack_pointer = $2 + 16 | 0; +} + +function __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { + var $6 = 0, $7 = 0; + $6 = HEAP32[$0 + 4 >> 2]; + $7 = $6 >> 8; + if ($6 & 1) { + $7 = update_offset_to_base_28char_20const__2c_20long_29(HEAP32[$3 >> 2], $7); + } + $0 = HEAP32[$0 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 20 >> 2]]($0, $1, $2, $3 + $7 | 0, $6 & 2 ? $4 : 2, $5); +} + +function std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____set_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______tree_28std____2__less_b2Fixture___20const__29($0, $1 + 11 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Joint__2c_20float_2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Joint__2c_20float_2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20emscripten__internal__AllowedRawPointer_b2Draw_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20int_2c_20emscripten__internal__AllowedRawPointer_b2Draw_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2WeldJoint__GetReactionForce_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAPF32[$3 + 8 >> 2] = $2; + $1 = HEAP32[$3 + 12 >> 2]; + b2Vec2__b2Vec2_28float_2c_20float_29($3, HEAPF32[$1 + 104 >> 2], HEAPF32[$1 + 108 >> 2]); + operator__28float_2c_20b2Vec2_20const__29($0, HEAPF32[$3 + 8 >> 2], $3); + __stack_pointer = $3 + 16 | 0; +} + +function b2CircleShape__operator__28b2CircleShape_20const__29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + b2Shape__operator__28b2Shape_20const__29($0, HEAP32[$2 + 8 >> 2]); + $1 = HEAP32[$2 + 8 >> 2]; + $3 = HEAP32[$1 + 16 >> 2]; + HEAP32[$0 + 12 >> 2] = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 + 16 >> 2] = $3; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function void_20_28__emscripten__internal__getContext_void_20_28__29_28b2AABB__2c_20b2AABB__29__28void_20_28__20const__29_28b2AABB__2c_20b2AABB__29_29_29_28b2AABB__2c_20b2AABB__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______recommend_5babi_v160004_5d_28unsigned_20long_29($0) { + var $1 = 0; + $1 = 10; + if ($0 >>> 0 >= 11) { + $0 = unsigned_20long_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______align_it_5babi_v160004_5d_16ul__28unsigned_20long_29($0 + 1 | 0); + $1 = $0; + $0 = $0 - 1 | 0; + $1 = ($0 | 0) == 11 ? $1 : $0; + } + return $1; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_9__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_9__28embind_init_b2_28_29__$_9_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_9__operator_20b2Body__20_28__29_28b2JointDef__29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__BindingType_b2Vec2___2c_20void___fromWireType_28b2Vec2__29($0, $1) { + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $3 = emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29(HEAP32[$2 + 12 >> 2]); + $1 = HEAP32[$3 >> 2]; + $4 = HEAP32[$3 + 4 >> 2]; + $3 = $1; + $1 = $0; + HEAP32[$1 >> 2] = $3; + HEAP32[$1 + 4 >> 2] = $4; + __stack_pointer = $2 + 16 | 0; +} + +function b2PulleyJoint__GetReactionForce_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAPF32[$3 + 8 >> 2] = $2; + $1 = HEAP32[$3 + 12 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($3, HEAPF32[$1 + 116 >> 2], $1 + 136 | 0); + operator__28float_2c_20b2Vec2_20const__29($0, HEAPF32[$3 + 8 >> 2], $3); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20bool___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20bool____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2BodyType___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2BodyType____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2JointType_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2JointType_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Contact__ResetRestitution_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + wasm2js_i32$0 = $0, wasm2js_f32$0 = b2MixRestitution_28float_2c_20float_29(HEAPF32[HEAP32[$0 + 48 >> 2] + 20 >> 2], HEAPF32[HEAP32[$0 + 52 >> 2] + 20 >> 2]), + HEAPF32[wasm2js_i32$0 + 140 >> 2] = wasm2js_f32$0; + __stack_pointer = $1 + 16 | 0; +} + +function void_20_28__emscripten__internal__getContext_void_20_28__29_28b2Shape__2c_20float_29__28void_20_28__20const__29_28b2Shape__2c_20float_29_29_29_28b2Shape__2c_20float_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__enum__b2Shape__Type___value_28char_20const__2c_20b2Shape__Type_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + _embind_register_enum_value(emscripten__internal__TypeID_b2Shape__Type_2c_20void___get_28_29() | 0, HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; + return $0; +} + +function b2GearJoint__GetReactionForce_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAPF32[$3 + 8 >> 2] = $2; + $1 = HEAP32[$3 + 12 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($3, HEAPF32[$1 + 156 >> 2], $1 + 240 | 0); + operator__28float_2c_20b2Vec2_20const__29($0, HEAPF32[$3 + 8 >> 2], $3); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__remove_class_decltype_28_embind_init_b2_28_29__$_3__operator_28_29_29___type__20emscripten__optional_override_embind_init_b2_28_29__$_3__28embind_init_b2_28_29__$_3_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_3__operator_20float_20_28__29_28b2Shape__29_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2DynamicTree__ClearMoved_28int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(HEAP32[$2 + 8 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 8 >> 2] >= 0)) { + __assert_fail(1341, 7408, 179, 10183); + wasm2js_trap(); + } + HEAP8[(HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0) + 36 | 0] = 0; + __stack_pointer = $2 + 16 | 0; +} + +function __cxxabiv1____class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, HEAP32[$1 + 8 >> 2], 0)) { + __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($1, $1, $2, $3); + } +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2BodyType_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2BodyType_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__operator___5babi_v160004_5d_28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__2c_20std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[HEAP32[$2 + 12 >> 2] >> 2] == HEAP32[HEAP32[$2 + 8 >> 2] >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20bool___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20bool____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Contact__ResetFriction_28_29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + wasm2js_i32$0 = $0, wasm2js_f32$0 = b2MixFriction_28float_2c_20float_29(HEAPF32[HEAP32[$0 + 48 >> 2] + 16 >> 2], HEAPF32[HEAP32[$0 + 52 >> 2] + 16 >> 2]), + HEAPF32[wasm2js_i32$0 + 136 >> 2] = wasm2js_f32$0; + __stack_pointer = $1 + 16 | 0; +} + +function std____2____compressed_pair_elem_std____2____tree_node_b2Fixture__2c_20void____2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std____2____tree_node_b2Fixture__2c_20void_____2c_20void__28std____2____tree_node_b2Fixture__2c_20void_____29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] >> 2]; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Vec2_2c_20b2Transform_20const__2c_20b2Vec2_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20b2Transform_20const__2c_20b2Vec2_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20bool___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20bool____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2World_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2World_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__enum__b2BodyType___value_28char_20const__2c_20b2BodyType_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + _embind_register_enum_value(emscripten__internal__TypeID_b2BodyType_2c_20void___get_28_29() | 0, HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; + return $0; +} + +function emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2RayCastCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2RayCastCallbackWrapper__29__operator_20void_20_28__29_28b2RayCastCallbackWrapper__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 476; +} + +function b2Sweep__Normalize_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAPF32[$1 + 8 >> 2] = 6.2831854820251465; + HEAPF32[$1 + 4 >> 2] = HEAPF32[$1 + 8 >> 2] * Math_fround(Math_floor(Math_fround(HEAPF32[$0 + 24 >> 2] / HEAPF32[$1 + 8 >> 2]))); + HEAPF32[$0 + 24 >> 2] = HEAPF32[$0 + 24 >> 2] - HEAPF32[$1 + 4 >> 2]; + HEAPF32[$0 + 28 >> 2] = HEAPF32[$0 + 28 >> 2] - HEAPF32[$1 + 4 >> 2]; +} + +function b2DynamicTree__GetFatAABB_28int_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(HEAP32[$2 + 8 >> 2] < HEAP32[$0 + 12 >> 2] & HEAP32[$2 + 8 >> 2] >= 0)) { + __assert_fail(1341, 7408, 185, 11081); + wasm2js_trap(); + } + __stack_pointer = $2 + 16 | 0; + return HEAP32[$0 + 4 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 40) | 0; +} + +function emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2ContactListenerWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2ContactListenerWrapper__29__operator_20void_20_28__29_28b2ContactListenerWrapper__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 484; +} +function b2WorldManifold__b2WorldManifold_28_29($0) { + var $1 = 0, $2 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + b2Vec2__b2Vec2_28_29($0); + $0 = $0 + 8 | 0; + $2 = $0 + 16 | 0; + while (1) { + b2Vec2__b2Vec2_28_29($0); + $0 = $0 + 8 | 0; + if (($2 | 0) != ($0 | 0)) { + continue; + } + break; + } + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2StackAllocator___b2StackAllocator_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + if (HEAP32[$0 + 102400 >> 2]) { + __assert_fail(12291, 5418, 36, 3781); + wasm2js_trap(); + } + if (HEAP32[$0 + 102796 >> 2]) { + __assert_fail(12322, 5418, 37, 3781); + wasm2js_trap(); + } + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20bool___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20bool____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2PolygonAndCircleContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0) | 0; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 148); + __stack_pointer = $2 + 16 | 0; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_____capacity_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0, $2 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + $2 = HEAP32[std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______end_cap_5babi_v160004_5d_28_29_20const($0) >> 2]; + __stack_pointer = $1 + 16 | 0; + return $2 - HEAP32[$0 >> 2] >> 3; +} + +function emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $3 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $0 = HEAP32[$2 >> 2]; + $4 = HEAP32[$2 + 4 >> 2]; + $2 = $0; + $0 = $3; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $4; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2ChainAndPolygonContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0) | 0; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 148); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2World_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2World_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2EdgeAndPolygonContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0) | 0; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 148); + __stack_pointer = $2 + 16 | 0; +} + +function b2ChainAndCircleContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0) | 0; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 148); + __stack_pointer = $2 + 16 | 0; +} + +function operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec2__b2Vec2_28float_2c_20float_29($0, Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] + HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]), Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] + HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__GenericBindingType_b2Rot___toWireType_28b2Rot_20const__29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $3 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $0 = HEAP32[$2 >> 2]; + $4 = HEAP32[$2 + 4 >> 2]; + $2 = $0; + $0 = $3; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $4; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2EdgeAndCircleContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0) | 0; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 148); + __stack_pointer = $2 + 16 | 0; +} + +function void_20_28__emscripten__internal__getContext_void_20_28__29_28b2DrawWrapper__29__28void_20_28__20const__29_28b2DrawWrapper__29_29_29_28b2DrawWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Body__GetInertia_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0), $3 = Math_fround(0); + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + $2 = HEAPF32[$0 + 124 >> 2]; + $3 = Math_fround(HEAPF32[$0 + 116 >> 2] * b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0 + 28 | 0, $0 + 28 | 0)); + __stack_pointer = $1 + 16 | 0; + return Math_fround(Math_fround($3 + $2)); +} + +function b2Body__20_28__emscripten__internal__getContext_b2Body__20_28__29_28b2JointDef__29__28b2Body__20_28__20const__29_28b2JointDef__29_29_29_28b2JointDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec2__b2Vec2_28float_2c_20float_29($0, Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] >> 2] - HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]), Math_fround(HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2] - HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function b2DistanceProxy__GetVertex_28int_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if (!(HEAP32[$2 + 8 >> 2] < HEAP32[$0 + 20 >> 2] & HEAP32[$2 + 8 >> 2] >= 0)) { + __assert_fail(1967, 7482, 131, 1744); + wasm2js_trap(); + } + __stack_pointer = $2 + 16 | 0; + return HEAP32[$0 + 16 >> 2] + (HEAP32[$2 + 8 >> 2] << 3) | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Shape__2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape__2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______root_ptr_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______end_node_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__allocator_b2Vec2___deallocate_5babi_v160004_5d_28b2Vec2__2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + std____2____libcpp_deallocate_5babi_v160004_5d_28void__2c_20unsigned_20long_2c_20unsigned_20long_29(HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2] << 3, 4); + __stack_pointer = $3 + 16 | 0; +} + +function std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____tree_const_iterator_5babi_v160004_5d_28std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $1; + HEAP32[$2 + 8 >> 2] = $0; + $0 = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 12 >> 2]; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__GenericBindingType_b2Vec2___toWireType_28b2Vec2___29($0) { + var $1 = 0, $2 = 0, $3 = 0, $4 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $3 = operator_20new_28unsigned_20long_29(8); + $2 = HEAP32[$1 + 12 >> 2]; + $0 = HEAP32[$2 >> 2]; + $4 = HEAP32[$2 + 4 >> 2]; + $2 = $0; + $0 = $3; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $4; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2QueryCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2QueryCallbackWrapper__29__operator_20void_20_28__29_28b2QueryCallbackWrapper__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 471; +} + +function b2QueryCallbackWrapper__ReportFixture_28unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = bool_20emscripten__wrapper_b2QueryCallback___call_bool_2c_20unsigned_20int___28char_20const__2c_20unsigned_20int__29_20const(HEAP32[$2 + 12 >> 2], 9168, $2 + 8 | 0); + __stack_pointer = $2 + 16 | 0; + return $0 & 1; +} + +function b2PolygonContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0) | 0; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 148); + __stack_pointer = $2 + 16 | 0; +} + +function std____2____libcpp_deallocate_5babi_v160004_5d_28void__2c_20unsigned_20long_2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + void_20std____2____do_deallocate_handle_size_5babi_v160004_5d___28void__2c_20unsigned_20long_29(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec2_20b2PrismaticJointDef_____20emscripten__internal__getContext_b2Vec2_20b2PrismaticJointDef_____28b2Vec2_20b2PrismaticJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2CircleContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0) | 0; + b2BlockAllocator__Free_28void__2c_20int_29(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 148); + __stack_pointer = $2 + 16 | 0; +} + +function __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { + var $5 = 0, $6 = 0; + $5 = HEAP32[$0 + 4 >> 2]; + $6 = $5 >> 8; + if ($5 & 1) { + $6 = update_offset_to_base_28char_20const__2c_20long_29(HEAP32[$2 >> 2], $6); + } + $0 = HEAP32[$0 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 24 >> 2]]($0, $1, $2 + $6 | 0, $5 & 2 ? $3 : 2, $4); +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function unsigned_20short_20b2Filter_____20emscripten__internal__getContext_unsigned_20short_20b2Filter_____28unsigned_20short_20b2Filter____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int_____capacity_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0, $2 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + $2 = HEAP32[std____2____split_buffer_int_2c_20std____2__allocator_int_______end_cap_5babi_v160004_5d_28_29_20const($0) >> 2]; + __stack_pointer = $1 + 16 | 0; + return $2 - HEAP32[$0 >> 2] >> 2; +} + +function float_20b2PrismaticJointDef_____20emscripten__internal__getContext_float_20b2PrismaticJointDef_____28float_20b2PrismaticJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20b2RevoluteJointDef_____20emscripten__internal__getContext_b2Vec2_20b2RevoluteJointDef_____28b2Vec2_20b2RevoluteJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20b2DistanceJointDef_____20emscripten__internal__getContext_b2Vec2_20b2DistanceJointDef_____28b2Vec2_20b2DistanceJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function std____2__allocator_int___deallocate_5babi_v160004_5d_28int__2c_20unsigned_20long_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + std____2____libcpp_deallocate_5babi_v160004_5d_28void__2c_20unsigned_20long_2c_20unsigned_20long_29(HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2] << 2, 4); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20std____2__allocator_traits_std____2__allocator_b2Vec2____destroy_5babi_v160004_5d_b2Vec2_2c_20void__28std____2__allocator_b2Vec2___2c_20b2Vec2__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + std____2__allocator_b2Vec2___destroy_5babi_v160004_5d_28b2Vec2__29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function void_20std____2__allocator_b2Vec2___construct_5babi_v160004_5d_b2Vec2_2c_20b2Vec2_20const___28b2Vec2__2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $1 = HEAP32[$3 + 4 >> 2]; + $0 = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$3 + 8 >> 2]; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; +} + +function float_20b2RevoluteJointDef_____20emscripten__internal__getContext_float_20b2RevoluteJointDef_____28float_20b2RevoluteJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20b2DistanceJointDef_____20emscripten__internal__getContext_float_20b2DistanceJointDef_____28float_20b2DistanceJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function embind_init_b2_28_29__$_1__operator_28_29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_20const($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[$4 + 12 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $3; + b2AABB__Combine_28b2AABB_20const__2c_20b2AABB_20const__29(HEAP32[$4 + 8 >> 2], HEAP32[$4 + 4 >> 2], HEAP32[$4 >> 2]); + __stack_pointer = $4 + 16 | 0; +} + +function bool_20b2PrismaticJointDef_____20emscripten__internal__getContext_bool_20b2PrismaticJointDef_____28bool_20b2PrismaticJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Joint____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Joint_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____capacity_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0, $2 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + $2 = HEAP32[std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______end_cap_5babi_v160004_5d_28_29_20const($0) >> 2]; + __stack_pointer = $1 + 16 | 0; + return $2 - HEAP32[$0 >> 2] >> 3; +} + +function float_20b2Clamp_float__28float_2c_20float_2c_20float_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAPF32[$3 + 12 >> 2] = $0; + HEAPF32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $0 = float_20b2Max_float__28float_2c_20float_29(HEAPF32[$3 + 8 >> 2], float_20b2Min_float__28float_2c_20float_29(HEAPF32[$3 + 12 >> 2], HEAPF32[$3 + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; + return $0; +} + +function float_20_28__emscripten__internal__getContext_float_20_28__29_28b2Shape__29__28float_20_28__20const__29_28b2Shape__29_29_29_28b2Shape__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20b2RevoluteJointDef_____20emscripten__internal__getContext_bool_20b2RevoluteJointDef_____28bool_20b2RevoluteJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2World__2c_20b2Vec2_____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2World__2c_20b2Vec2______get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function unsigned_20long_20std____2__allocator_traits_std____2__allocator_b2Vec2____max_size_5babi_v160004_5d_std____2__allocator_b2Vec2__2c_20void__28std____2__allocator_b2Vec2__20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__allocator_b2Vec2___max_size_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____allocator_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2____non_trivial_if_true_2c_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void________non_trivial_if_5babi_v160004_5d_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec2_20b2WheelJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WheelJointDef_____28b2Vec2_20b2WheelJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20b2RayCastOutput_____20emscripten__internal__getContext_b2Vec2_20b2RayCastOutput_____28b2Vec2_20b2RayCastOutput____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20b2MouseJointDef_____20emscripten__internal__getContext_b2Vec2_20b2MouseJointDef_____28b2Vec2_20b2MouseJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20b2MotorJointDef_____20emscripten__internal__getContext_b2Vec2_20b2MotorJointDef_____28b2Vec2_20b2MotorJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2PulleyJoint__ShiftOrigin_28b2Vec2_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + b2Vec2__operator___28b2Vec2_20const__29_1($0 + 68 | 0, HEAP32[$2 + 8 >> 2]); + b2Vec2__operator___28b2Vec2_20const__29_1($0 + 76 | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function b2JointType_20b2JointDef_____20emscripten__internal__getContext_b2JointType_20b2JointDef_____28b2JointType_20b2JointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2DrawWrapper__DrawTransform_28b2Transform_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + void_20emscripten__wrapper_b2Draw___call_void_2c_20b2Transform_20const___28char_20const__2c_20b2Transform_20const__29_20const(HEAP32[$2 + 12 >> 2], 6924, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____value_comp_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_unsigned_20long_2c_20std____2__less_b2Fixture_____second_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec3__operator___28b2Vec3_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$0 >> 2] + HEAPF32[HEAP32[$2 + 8 >> 2] >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$0 + 4 >> 2] + HEAPF32[HEAP32[$2 + 8 >> 2] + 4 >> 2]; + HEAPF32[$0 + 8 >> 2] = HEAPF32[$0 + 8 >> 2] + HEAPF32[HEAP32[$2 + 8 >> 2] + 8 >> 2]; +} + +function b2GrowableStack_int_2c_20256___Pop_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if (HEAP32[$0 + 1028 >> 2] <= 0) { + __assert_fail(12166, 7204, 72, 6222); + wasm2js_trap(); + } + HEAP32[$0 + 1028 >> 2] = HEAP32[$0 + 1028 >> 2] - 1; + __stack_pointer = $1 + 16 | 0; + return HEAP32[HEAP32[$0 >> 2] + (HEAP32[$0 + 1028 >> 2] << 2) >> 2]; +} + +function b2Fixture__b2Fixture_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Filter__b2Filter_28_29($0 + 32 | 0); + HEAP32[$0 + 40 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAPF32[$0 >> 2] = 0; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2DistanceJoint__GetReactionForce_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAPF32[$3 + 8 >> 2] = $2; + $1 = HEAP32[$3 + 12 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($0, Math_fround(HEAPF32[$3 + 8 >> 2] * HEAPF32[$1 + 100 >> 2]), $1 + 116 | 0); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2PrismaticJointDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2PrismaticJointDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WireTypePack_b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____operator_20void_20const__28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__array_emscripten__internal__GenericWireType_2c_204ul___data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2DrawWrapper__20emscripten__internal__wrapped_new_b2DrawWrapper__2c_20b2DrawWrapper_2c_20emscripten__val__28emscripten__val___29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(16); + b2DrawWrapper__b2DrawWrapper___28emscripten__val___29($0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function float_20b2WheelJointDef_____20emscripten__internal__getContext_float_20b2WheelJointDef_____28float_20b2WheelJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20b2RayCastOutput_____20emscripten__internal__getContext_float_20b2RayCastOutput_____28float_20b2RayCastOutput____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20b2MouseJointDef_____20emscripten__internal__getContext_float_20b2MouseJointDef_____28float_20b2MouseJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20b2MotorJointDef_____20emscripten__internal__getContext_float_20b2MotorJointDef_____28float_20b2MotorJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WireTypePack_unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____operator_20void_20const__28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__array_emscripten__internal__GenericWireType_2c_204ul___data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec2_20b2WeldJointDef_____20emscripten__internal__getContext_b2Vec2_20b2WeldJointDef_____28b2Vec2_20b2WeldJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20b2RopeJointDef_____20emscripten__internal__getContext_b2Vec2_20b2RopeJointDef_____28b2Vec2_20b2RopeJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20b2RayCastInput_____20emscripten__internal__getContext_b2Vec2_20b2RayCastInput_____28b2Vec2_20b2RayCastInput____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Shape__Type_20b2Shape_____20emscripten__internal__getContext_b2Shape__Type_20b2Shape_____28b2Shape__Type_20b2Shape____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2MotorJoint__GetAnchorB_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $3 = b2Body__GetPosition_28_29_20const(HEAP32[HEAP32[$2 + 12 >> 2] + 52 >> 2]); + $1 = HEAP32[$3 >> 2]; + $4 = HEAP32[$3 + 4 >> 2]; + $3 = $1; + $1 = $0; + HEAP32[$1 >> 2] = $3; + HEAP32[$1 + 4 >> 2] = $4; + __stack_pointer = $2 + 16 | 0; +} + +function b2MotorJoint__GetAnchorA_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $3 = b2Body__GetPosition_28_29_20const(HEAP32[HEAP32[$2 + 12 >> 2] + 48 >> 2]); + $1 = HEAP32[$3 >> 2]; + $4 = HEAP32[$3 + 4 >> 2]; + $3 = $1; + $1 = $0; + HEAP32[$1 >> 2] = $3; + HEAP32[$1 + 4 >> 2] = $4; + __stack_pointer = $2 + 16 | 0; +} + +function b2Filter_20b2FixtureDef_____20emscripten__internal__getContext_b2Filter_20b2FixtureDef_____28b2Filter_20b2FixtureDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2DistanceSquared_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $1) { + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + $3 = b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($2, $2); + __stack_pointer = $2 + 16 | 0; + return $3; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20b2Shape____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Shape_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2RevoluteJointDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2RevoluteJointDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2DistanceJointDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2DistanceJointDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_b2PrismaticJointDef____invoke_28b2PrismaticJointDef__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2PrismaticJointDef__2c_20void___toWireType_28b2PrismaticJointDef__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2RayCastCallbackWrapper__28b2RayCastCallbackWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2RayCastCallbackWrapper__28b2RayCastCallbackWrapper_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2ContactListenerWrapper__28b2ContactListenerWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2ContactListenerWrapper__28b2ContactListenerWrapper_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2FixtureDef__b2FixtureDef_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Filter__b2Filter_28_29($0 + 22 | 0); + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAPF32[$0 + 8 >> 2] = .20000000298023224; + HEAPF32[$0 + 12 >> 2] = 0; + HEAPF32[$0 + 16 >> 2] = 0; + HEAP8[$0 + 20 | 0] = 0; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29($0) { + return std____2__pointer_traits_char____pointer_to_5babi_v160004_5d_28char__29(std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0)); +} + +function pad($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 256 | 0; + __stack_pointer = $5; + if (!($4 & 73728 | ($2 | 0) <= ($3 | 0))) { + $3 = $2 - $3 | 0; + $2 = $3 >>> 0 < 256; + __memset($5, $1 & 255, $2 ? $3 : 256); + if (!$2) { + while (1) { + out($0, $5, 256); + $3 = $3 - 256 | 0; + if ($3 >>> 0 > 255) { + continue; + } + break; + } + } + out($0, $5, $3); + } + __stack_pointer = $5 + 256 | 0; +} + +function float_20b2WeldJointDef_____20emscripten__internal__getContext_float_20b2WeldJointDef_____28float_20b2WeldJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20b2RopeJointDef_____20emscripten__internal__getContext_float_20b2RopeJointDef_____28float_20b2RopeJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20b2RayCastInput_____20emscripten__internal__getContext_float_20b2RayCastInput_____28float_20b2RayCastInput____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20b2WheelJointDef_____20emscripten__internal__getContext_bool_20b2WheelJointDef_____28bool_20b2WheelJointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20b2CircleShape_____20emscripten__internal__getContext_b2Vec2_20b2CircleShape_____28b2Vec2_20b2CircleShape____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2RopeJoint__GetReactionForce_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAPF32[$3 + 8 >> 2] = $2; + $1 = HEAP32[$3 + 12 >> 2]; + operator__28float_2c_20b2Vec2_20const__29($0, Math_fround(HEAPF32[$3 + 8 >> 2] * HEAPF32[$1 + 92 >> 2]), $1 + 104 | 0); + __stack_pointer = $3 + 16 | 0; +} + +function b2BodyType_20b2BodyDef_____20emscripten__internal__getContext_b2BodyType_20b2BodyDef_____28b2BodyType_20b2BodyDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2AABB__GetPerimeter_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAPF32[$1 + 8 >> 2] = HEAPF32[$0 + 8 >> 2] - HEAPF32[$0 >> 2]; + HEAPF32[$1 + 4 >> 2] = HEAPF32[$0 + 12 >> 2] - HEAPF32[$0 + 4 >> 2]; + $2 = Math_fround(HEAPF32[$1 + 8 >> 2] + HEAPF32[$1 + 4 >> 2]); + return Math_fround(Math_fround($2 + $2)); +} + +function embind_init_b2_28_29__$_5____invoke_28b2FixtureDef__2c_20b2Shape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + embind_init_b2_28_29__$_5__operator_28_29_28b2FixtureDef__2c_20b2Shape_20const__29_20const($2 + 7 | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__set_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture______set_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture________tree_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_____size_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_unsigned_20long_2c_20std____2__less_b2Fixture_____first_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_b2RevoluteJointDef____invoke_28b2RevoluteJointDef__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2RevoluteJointDef__2c_20void___toWireType_28b2RevoluteJointDef__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__Invoker_b2DistanceJointDef____invoke_28b2DistanceJointDef__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2DistanceJointDef__2c_20void___toWireType_28b2DistanceJointDef__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int____capacity_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0, $2 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + $2 = HEAP32[std____2__vector_int_2c_20std____2__allocator_int______end_cap_5babi_v160004_5d_28_29_20const($0) >> 2]; + __stack_pointer = $1 + 16 | 0; + return $2 - HEAP32[$0 >> 2] >> 2; +} + +function b2Fixture__SetSensor_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + if ((HEAP8[$2 + 11 | 0] & 1) != (HEAP8[$0 + 38 | 0] & 1)) { + b2Body__SetAwake_28bool_29(HEAP32[$0 + 8 >> 2], 1); + HEAP8[$0 + 38 | 0] = HEAP8[$2 + 11 | 0] & 1; + } + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2WheelJointDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2WheelJointDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2MouseJointDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2MouseJointDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2MotorJointDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2MotorJointDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Cross_28float_2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAPF32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec2__b2Vec2_28float_2c_20float_29($0, Math_fround(Math_fround(-HEAPF32[$3 + 12 >> 2]) * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2]), Math_fround(HEAPF32[$3 + 12 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function b2Cross_28b2Vec2_20const__2c_20float_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAPF32[$3 + 8 >> 2] = $2; + b2Vec2__b2Vec2_28float_2c_20float_29($0, Math_fround(HEAPF32[$3 + 8 >> 2] * HEAPF32[HEAP32[$3 + 12 >> 2] + 4 >> 2]), Math_fround(Math_fround(-HEAPF32[$3 + 8 >> 2]) * HEAPF32[HEAP32[$3 + 12 >> 2] >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function unsigned_20long_20std____2__allocator_traits_std____2__allocator_int____max_size_5babi_v160004_5d_std____2__allocator_int__2c_20void__28std____2__allocator_int__20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__allocator_int___max_size_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20std____2__allocator_traits_std____2__allocator_int____destroy_5babi_v160004_5d_int_2c_20void__28std____2__allocator_int___2c_20int__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + std____2__allocator_int___destroy_5babi_v160004_5d_28int__29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function getint($0) { + var $1 = 0, $2 = 0, $3 = 0; + if (!isdigit(HEAP8[HEAP32[$0 >> 2]])) { + return 0; + } + while (1) { + $3 = HEAP32[$0 >> 2]; + $1 = -1; + if ($2 >>> 0 <= 214748364) { + $1 = HEAP8[$3 | 0] - 48 | 0; + $2 = Math_imul($2, 10); + $1 = ($2 ^ 2147483647) < ($1 | 0) ? -1 : $1 + $2 | 0; + } + HEAP32[$0 >> 2] = $3 + 1; + $2 = $1; + if (isdigit(HEAP8[$3 + 1 | 0])) { + continue; + } + break; + } + return $1; +} + +function float_20b2FixtureDef_____20emscripten__internal__getContext_float_20b2FixtureDef_____28float_20b2FixtureDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2WeldJointDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2WeldJointDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2RopeJointDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2RopeJointDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2PolygonShape____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2PolygonShape_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec2_20b2Transform_____20emscripten__internal__getContext_b2Vec2_20b2Transform_____28b2Vec2_20b2Transform____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function void_20const__20emscripten__internal__getActualType_b2QueryCallbackWrapper__28b2QueryCallbackWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2QueryCallbackWrapper__28b2QueryCallbackWrapper_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function embind_init_b2_28_29__$_7____invoke_28b2Body__2c_20b2MassData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + embind_init_b2_28_29__$_7__operator_28_29_28b2Body__2c_20b2MassData_20const__29_20const($2 + 7 | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2CircleShape____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2CircleShape_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WireTypePack_b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____operator_20void_20const__28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__InitFunc__InitFunc_28void_20_28__29_28_29_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[$0 + 4 >> 2] = 0; + FUNCTION_TABLE[HEAP32[$2 + 8 >> 2]](); + _embind_register_bindings($0); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function bool_20b2FixtureDef_____20emscripten__internal__getContext_bool_20b2FixtureDef_____28bool_20b2FixtureDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20b2MassData_____20emscripten__internal__getContext_b2Vec2_20b2MassData_____28b2Vec2_20b2MassData____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Rot_20b2Transform_____20emscripten__internal__getContext_b2Rot_20b2Transform_____28b2Rot_20b2Transform____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2FixtureDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2FixtureDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2RevoluteJoint__GetJointAngle_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$1 + 8 >> 2] = HEAP32[$0 + 48 >> 2]; + HEAP32[$1 + 4 >> 2] = HEAP32[$0 + 52 >> 2]; + return Math_fround(Math_fround(Math_fround(HEAPF32[HEAP32[$1 + 4 >> 2] + 56 >> 2] - HEAPF32[HEAP32[$1 + 8 >> 2] + 56 >> 2]) - HEAPF32[$0 + 120 >> 2])); +} + +function float_20b2MassData_____20emscripten__internal__getContext_float_20b2MassData_____28float_20b2MassData____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2Vec2_20b2BodyDef_____20emscripten__internal__getContext_b2Vec2_20b2BodyDef_____28b2Vec2_20b2BodyDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2RayCastCallbackWrapper__b2RayCastCallbackWrapper___28emscripten__val___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + emscripten__wrapper_b2RayCastCallback___wrapper___28emscripten__val___29($0, HEAP32[$2 + 8 >> 2]); + HEAP32[$0 >> 2] = 25708; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function std____2____tree_node_base_void____20std____2____tree_min_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + while (1) { + if (HEAP32[HEAP32[$1 + 12 >> 2] >> 2]) { + HEAP32[$1 + 12 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + continue; + } + break; + } + return HEAP32[$1 + 12 >> 2]; +} + +function b2BroadPhase__DestroyProxy_28int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + b2BroadPhase__UnBufferMove_28int_29($0, HEAP32[$2 + 8 >> 2]); + HEAP32[$0 + 28 >> 2] = HEAP32[$0 + 28 >> 2] - 1; + b2DynamicTree__DestroyProxy_28int_29($0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2JointDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2JointDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int__2c_20unsigned_20int____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int__2c_20unsigned_20int_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_b2WheelJointDef____invoke_28b2WheelJointDef__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2WheelJointDef__2c_20void___toWireType_28b2WheelJointDef__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__Invoker_b2MouseJointDef____invoke_28b2MouseJointDef__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2MouseJointDef__2c_20void___toWireType_28b2MouseJointDef__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__Invoker_b2MotorJointDef____invoke_28b2MotorJointDef__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2MotorJointDef__2c_20void___toWireType_28b2MotorJointDef__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function float_20b2BodyDef_____20emscripten__internal__getContext_float_20b2BodyDef_____28float_20b2BodyDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function bool_20b2JointDef_____20emscripten__internal__getContext_bool_20b2JointDef_____28bool_20b2JointDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2DistanceInput__b2DistanceInput_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2DistanceProxy__b2DistanceProxy_28_29($0); + b2DistanceProxy__b2DistanceProxy_28_29($0 + 28 | 0); + b2Transform__b2Transform_28_29($0 + 56 | 0); + b2Transform__b2Transform_28_29($0 + 72 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function operator__28float_2c_20b2Vec2_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAPF32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Vec2__b2Vec2_28float_2c_20float_29($0, Math_fround(HEAPF32[$3 + 12 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] >> 2]), Math_fround(HEAPF32[$3 + 12 >> 2] * HEAPF32[HEAP32[$3 + 8 >> 2] + 4 >> 2])); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__value_object_b2RayCastOutput____value_object_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + _embind_finalize_value_object(emscripten__internal__TypeID_b2RayCastOutput_2c_20void___get_28_29() | 0); + emscripten__internal__noncopyable___noncopyable_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2BodyDef____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2BodyDef_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_____clear_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______destruct_at_end_5babi_v160004_5d_28b2Vec2__29($0, HEAP32[$0 + 4 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______end_cap_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2_____first_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2] + 12 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WireTypePack_b2Vec2_20const__2c_20float__2c_20b2Color_20const____operator_20void_20const__28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2OpenDump_28char_20const__29($0) { + var $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + if (HEAP32[7692]) { + __assert_fail(3589, 5287, 56, 6226); + wasm2js_trap(); + } + wasm2js_i32$0 = 30768, wasm2js_i32$1 = fopen(HEAP32[$1 + 12 >> 2], 1822), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $1 + 16 | 0; +} + +function std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2____second_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2__allocator_b2Vec2__2c_201_2c_20true_____get_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function short_20b2Filter_____20emscripten__internal__getContext_short_20b2Filter_____28short_20b2Filter____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__value_object_b2RayCastInput____value_object_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + _embind_finalize_value_object(emscripten__internal__TypeID_b2RayCastInput_2c_20void___get_28_29() | 0); + emscripten__internal__noncopyable___noncopyable_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int_2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_b2WeldJointDef____invoke_28b2WeldJointDef__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2WeldJointDef__2c_20void___toWireType_28b2WeldJointDef__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__Invoker_b2RopeJointDef____invoke_28b2RopeJointDef__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2RopeJointDef__2c_20void___toWireType_28b2RopeJointDef__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__Invoker_b2PolygonShape____invoke_28b2PolygonShape__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2PolygonShape__2c_20void___toWireType_28b2PolygonShape__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function bool_20b2BodyDef_____20emscripten__internal__getContext_bool_20b2BodyDef_____28bool_20b2BodyDef____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2QueryCallbackWrapper__b2QueryCallbackWrapper___28emscripten__val___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + emscripten__wrapper_b2QueryCallback___wrapper___28emscripten__val___29($0, HEAP32[$2 + 8 >> 2]); + HEAP32[$0 >> 2] = 25456; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function void_20const__20emscripten__internal__getActualType_b2PrismaticJointDef__28b2PrismaticJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2PrismaticJointDef__28b2PrismaticJointDef_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__WireTypePack_unsigned_20int__2c_20int__2c_20b2Color_20const____operator_20void_20const__28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______annotate_contiguous_container_5babi_v160004_5d_28void_20const__2c_20void_20const__2c_20void_20const__2c_20void_20const__29_20const($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; +} + +function emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20unsigned_20int_2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20int_2c_20unsigned_20int_2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function float_20b2Shape_____20emscripten__internal__getContext_float_20b2Shape_____28float_20b2Shape____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function float_20b2Color_____20emscripten__internal__getContext_float_20b2Color_____28float_20b2Color____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function embind_init_b2_28_29__$_10____invoke_28b2JointDef__2c_20b2Body__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + embind_init_b2_28_29__$_10__operator_28_29_28b2JointDef__2c_20b2Body__29_20const($2 + 7 | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function b2Vec2_20b2AABB_____20emscripten__internal__getContext_b2Vec2_20b2AABB_____28b2Vec2_20b2AABB____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2AABB____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2AABB_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_b2CircleShape____invoke_28b2CircleShape__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2CircleShape__2c_20void___toWireType_28b2CircleShape__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function embind_init_b2_28_29__$_2____invoke_28b2Shape__2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + embind_init_b2_28_29__$_2__operator_28_29_28b2Shape__2c_20float_29_20const($2 + 7 | 0, HEAP32[$2 + 12 >> 2], HEAPF32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function b2ContactManager__b2ContactManager_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2BroadPhase__b2BroadPhase_28_29($0); + HEAP32[$0 + 60 >> 2] = 0; + HEAP32[$0 + 64 >> 2] = 0; + HEAP32[$0 + 68 >> 2] = 29696; + HEAP32[$0 + 72 >> 2] = 29700; + HEAP32[$0 + 76 >> 2] = 0; + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20const__20emscripten__internal__getActualType_b2RevoluteJointDef__28b2RevoluteJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2RevoluteJointDef__28b2RevoluteJointDef_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2DistanceJointDef__28b2DistanceJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2DistanceJointDef__28b2DistanceJointDef_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2_____second_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2__allocator_b2Vec2___2c_201_2c_20false_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 4 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + emscripten__internal__BindingType_emscripten__val_2c_20void___fromWireType_28emscripten___EM_VAL__29($0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function embind_init_b2_28_29__$_8____invoke_28b2JointDef__2c_20b2Body__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + embind_init_b2_28_29__$_8__operator_28_29_28b2JointDef__2c_20b2Body__29_20const($2 + 7 | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function float_20b2Vec2_____20emscripten__internal__getContext_float_20b2Vec2_____28float_20b2Vec2____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function emscripten__value_object_b2Transform____value_object_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + _embind_finalize_value_object(emscripten__internal__TypeID_b2Transform_2c_20void___get_28_29() | 0); + emscripten__internal__noncopyable___noncopyable_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____compressed_pair_elem_std____2__allocator_b2Vec2__2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + std____2__allocator_b2Vec2___allocator_5babi_v160004_5d_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2DrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2DrawWrapper__29__operator_20void_20_28__29_28b2DrawWrapper__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 495; +} + +function std____2__vector_int_2c_20std____2__allocator_int______annotate_contiguous_container_5babi_v160004_5d_28void_20const__2c_20void_20const__2c_20void_20const__2c_20void_20const__29_20const($0, $1, $2, $3, $4) { + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + HEAP32[$5 + 28 >> 2] = $0; + HEAP32[$5 + 24 >> 2] = $1; + HEAP32[$5 + 20 >> 2] = $2; + HEAP32[$5 + 16 >> 2] = $3; + HEAP32[$5 + 12 >> 2] = $4; +} + +function emscripten__value_object_b2MassData____value_object_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + _embind_finalize_value_object(emscripten__internal__TypeID_b2MassData_2c_20void___get_28_29() | 0); + emscripten__internal__noncopyable___noncopyable_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_b2FixtureDef____invoke_28b2FixtureDef__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2FixtureDef__2c_20void___toWireType_28b2FixtureDef__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2RayCastCallback__28b2RayCastCallback__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2RayCastCallback__28b2RayCastCallback_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2ContactListener__28b2ContactListener__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2ContactListener__28b2ContactListener_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2__pair_char_20const__2c_20char___20std____2____copy_trivial__operator_28_29_5babi_v160004_5d_char_20const_2c_20char_2c_200__28char_20const__2c_20char_20const__2c_20char__29_20const($0, $1, $2, $3, $4) { + std____2__pair_char_20const__2c_20char___20std____2____copy_trivial_impl_5babi_v160004_5d_char_20const_2c_20char__28char_20const__2c_20char_20const__2c_20char__29($0, $2, $3, $4); +} + +function std____2____compressed_pair_int__2c_20std____2__allocator_int____second_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2__allocator_int__2c_201_2c_20true_____get_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function float_20b2Rot_____20emscripten__internal__getContext_float_20b2Rot_____28float_20b2Rot____20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(4); + HEAP32[$0 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + HEAP32[$1 + 8 >> 2] = $0; + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 8 >> 2]; +} + +function b2ReferenceFace__b2ReferenceFace_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0 + 8 | 0); + b2Vec2__b2Vec2_28_29($0 + 16 | 0); + b2Vec2__b2Vec2_28_29($0 + 24 | 0); + b2Vec2__b2Vec2_28_29($0 + 32 | 0); + b2Vec2__b2Vec2_28_29($0 + 44 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Fixture__GetMassData_28b2MassData__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$0 + 12 >> 2]; + FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 28 >> 2]]($1, HEAP32[$2 + 8 >> 2], HEAPF32[$0 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function b2Distance_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $1) { + var $2 = 0, $3 = Math_fround(0); + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + $3 = b2Vec2__Length_28_29_20const($2); + __stack_pointer = $2 + 16 | 0; + return $3; +} + +function void_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____construct_5babi_v160004_5d_b2Fixture__2c_20b2Fixture__20const___28b2Fixture___2c_20b2Fixture__20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + HEAP32[HEAP32[$3 + 8 >> 2] >> 2] = HEAP32[HEAP32[$3 + 4 >> 2] >> 2]; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______end_cap_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2____first_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2] + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____tree_iterator_5babi_v160004_5d_28std____2____tree_end_node_std____2____tree_node_base_void______29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 8 >> 2]; + return $0; +} + +function std____2____compressed_pair_unsigned_20long_2c_20std____2__less_b2Fixture_____second_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2__less_b2Fixture___2c_201_2c_20true_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0) { + return std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29($0); +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______alloc_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2____second_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2] + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int_______end_cap_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_int__2c_20std____2__allocator_int_____first_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2] + 12 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + std____2__allocator_char___allocator_5babi_v160004_5d_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2CircleShape__b2CircleShape_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Shape__b2Shape_28_29($0); + HEAP32[$0 >> 2] = 17928; + b2Vec2__b2Vec2_28_29($0 + 12 | 0); + HEAP32[$0 + 4 >> 2] = 0; + HEAPF32[$0 + 8 >> 2] = 0; + b2Vec2__SetZero_28_29($0 + 12 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__value_object_b2Filter____value_object_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + _embind_finalize_value_object(emscripten__internal__TypeID_b2Filter_2c_20void___get_28_29() | 0); + emscripten__internal__noncopyable___noncopyable_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WireTypePack_unsigned_20int__2c_20unsigned_20int____operator_20void_20const__28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec3__b2Vec3_28float_2c_20float_2c_20float_29($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[$4 + 12 >> 2] = $0; + HEAPF32[$4 + 8 >> 2] = $1; + HEAPF32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $0 = HEAP32[$4 + 12 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$4 + 8 >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$4 + 4 >> 2]; + HEAPF32[$0 + 8 >> 2] = HEAPF32[$4 >> 2]; + return $0; +} + +function void_20const__20emscripten__internal__getActualType_b2PrismaticJoint__28b2PrismaticJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2PrismaticJoint__28b2PrismaticJoint_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function strcmp($0, $1) { + var $2 = 0, $3 = 0; + $2 = HEAPU8[$0 | 0]; + $3 = HEAPU8[$1 | 0]; + label$1: { + if (!$2 | ($2 | 0) != ($3 | 0)) { + break label$1; + } + while (1) { + $3 = HEAPU8[$1 + 1 | 0]; + $2 = HEAPU8[$0 + 1 | 0]; + if (!$2) { + break label$1; + } + $1 = $1 + 1 | 0; + $0 = $0 + 1 | 0; + if (($2 | 0) == ($3 | 0)) { + continue; + } + break; + } + } + return $2 - $3 | 0; +} + +function std____2____libcpp_allocate_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = void__20std____2____libcpp_operator_new_5babi_v160004_5d_unsigned_20long__28unsigned_20long_29(HEAP32[$2 + 12 >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function std____2____compressed_pair_elem_std____2__allocator_int__2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + std____2__allocator_int___allocator_5babi_v160004_5d_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function embind_init_b2_28_29__$_0____invoke_28b2AABB__2c_20b2AABB__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + embind_init_b2_28_29__$_0__operator_28_29_28b2AABB__2c_20b2AABB__29_20const($2 + 7 | 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______clear_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______base_destruct_at_end_5babi_v160004_5d_28b2Vec2__29($0, HEAP32[$0 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function std____2__enable_if___is_cpp17_random_access_iterator_char_20const____value_2c_20char____type_20std____2__copy_n_5babi_v160004_5d_char_20const__2c_20unsigned_20long_2c_20char___28char_20const__2c_20unsigned_20long_2c_20char__29($0, $1, $2) { + return char__20std____2__copy_5babi_v160004_5d_char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0, $0 + $1 | 0, $2); +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_cap_5babi_v160004_5d_28_29_20const($0) { + return HEAP32[std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const($0) + 8 >> 2] & 2147483647; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int_____clear_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2____split_buffer_int_2c_20std____2__allocator_int_______destruct_at_end_5babi_v160004_5d_28int__29($0, HEAP32[$0 + 4 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function std____2____compressed_pair_int__2c_20std____2__allocator_int_____second_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2__allocator_int___2c_201_2c_20false_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 4 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__value_object_b2Color____value_object_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + _embind_finalize_value_object(emscripten__internal__TypeID_b2Color_2c_20void___get_28_29() | 0); + emscripten__internal__noncopyable___noncopyable_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__enum__b2Shape__Type___enum__28char_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + _embind_register_enum(emscripten__internal__TypeID_b2Shape__Type_2c_20void___get_28_29() | 0, HEAP32[$2 + 8 >> 2], 4, 0); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function b2PolygonShape__operator__28b2PolygonShape_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + b2Shape__operator__28b2Shape_20const__29($0, HEAP32[$2 + 8 >> 2]); + __memcpy($0 + 12 | 0, HEAP32[$2 + 8 >> 2] + 12 | 0, 140); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function b2AABB__GetCenter_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29_1($2 + 4 | 0, $1, $1 + 8 | 0); + operator__28float_2c_20b2Vec2_20const__29($0, Math_fround(.5), $2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______end_cap_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2_____first_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 12 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____compressed_pair_elem_std____2__allocator_b2Vec2___2c_201_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std____2__allocator_b2Vec2___2c_20void__28std____2__allocator_b2Vec2___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 8 >> 2]; + return $0; +} + +function b2AABB__GetExtents_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + operator__28b2Vec2_20const__2c_20b2Vec2_20const__29($2 + 4 | 0, $1 + 8 | 0, $1); + operator__28float_2c_20b2Vec2_20const__29($0, Math_fround(.5), $2 + 4 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2_______alloc_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2_____second_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 12 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2____second_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2__allocator_b2Vec2__2c_201_2c_20true_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__value_object_b2Vec2____value_object_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + _embind_finalize_value_object(emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29() | 0); + emscripten__internal__noncopyable___noncopyable_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_b2JointDef____invoke_28b2JointDef__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2JointDef__2c_20void___toWireType_28b2JointDef__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2WheelJointDef__28b2WheelJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2WheelJointDef__28b2WheelJointDef_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2RevoluteJoint__28b2RevoluteJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2RevoluteJoint__28b2RevoluteJoint_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2QueryCallback__28b2QueryCallback__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2QueryCallback__28b2QueryCallback_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2MouseJointDef__28b2MouseJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2MouseJointDef__28b2MouseJointDef_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2MotorJointDef__28b2MotorJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2MotorJointDef__28b2MotorJointDef_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2DistanceJoint__28b2DistanceJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2DistanceJoint__28b2DistanceJoint_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2__pair_std____2____unwrap_ref_decay_char_20const_____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const___2c_20char___28char_20const___2c_20char____29($0, $1, $2) { + std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const___2c_20char__2c_20_28void__290__28char_20const___2c_20char____29($0, $1, $2); +} + +function emscripten__value_object_b2Rot____value_object_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + _embind_finalize_value_object(emscripten__internal__TypeID_b2Rot_2c_20void___get_28_29() | 0); + emscripten__internal__noncopyable___noncopyable_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20float___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int_2c_20float____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2RayCastCallbackWrapper____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2RayCastCallbackWrapper_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2ContactListenerWrapper____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2ContactListenerWrapper_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__pair_std____2____unwrap_ref_decay_char_20const____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const__2c_20char___28char_20const____2c_20char____29($0, $1, $2) { + std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const__2c_20char__2c_20_28void__290__28char_20const____2c_20char____29($0, $1, $2); +} + +function std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2_____first_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_b2Vec2__2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2____first_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_b2Vec2__2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20bool___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int_2c_20bool____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20int_2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int_2c_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20unsigned_20int_2c_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_b2BodyDef____invoke_28b2BodyDef__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2BodyDef__2c_20void___toWireType_28b2BodyDef__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__enum__b2BodyType___enum__28char_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + _embind_register_enum(emscripten__internal__TypeID_b2BodyType_2c_20void___get_28_29() | 0, HEAP32[$2 + 8 >> 2], 4, 0); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__writeGenericWireType_unsigned_20int__28emscripten__internal__GenericWireType___2c_20unsigned_20int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] >> 2] = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] + 8; +} + +function void_20const__20emscripten__internal__getActualType_b2WeldJointDef__28b2WeldJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2WeldJointDef__28b2WeldJointDef_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2RopeJointDef__28b2RopeJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2RopeJointDef__28b2RopeJointDef_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2PolygonShape__28b2PolygonShape__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2PolygonShape__28b2PolygonShape_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2____compressed_pair_unsigned_20long_2c_20std____2__less_b2Fixture_____first_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_unsigned_20long_2c_200_2c_20false_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec3__operator__28_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Vec3__b2Vec3_28_29($0); + b2Vec3__Set_28float_2c_20float_2c_20float_29($0, Math_fround(-HEAPF32[$1 >> 2]), Math_fround(-HEAPF32[$1 + 4 >> 2]), Math_fround(-HEAPF32[$1 + 8 >> 2])); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______end_cap_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_int__2c_20std____2__allocator_int____first_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2] + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2QueryCallbackWrapper____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2QueryCallbackWrapper_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function decltype_28std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_28std__declval_char_20const___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true__2c_200__28char_20const__29($0) { + return std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_5babi_v160004_5d_28char_20const__29($0); +} + +function std____2__vector_int_2c_20std____2__allocator_int______alloc_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_int__2c_20std____2__allocator_int____second_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2] + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2TOIInput__b2TOIInput_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2DistanceProxy__b2DistanceProxy_28_29($0); + b2DistanceProxy__b2DistanceProxy_28_29($0 + 28 | 0); + b2Sweep__b2Sweep_28_29($0 + 56 | 0); + b2Sweep__b2Sweep_28_29($0 + 92 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2GearJoint__GetReactionTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAPF32[$2 + 4 >> 2] = HEAPF32[$0 + 156 >> 2] * HEAPF32[$0 + 256 >> 2]; + return Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * HEAPF32[$2 + 4 >> 2])); +} + +function void_20emscripten__val__call_void__28char_20const__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + emscripten__internal__MethodCaller_void___call_28emscripten___EM_VAL__2c_20char_20const__29(HEAP32[HEAP32[$2 + 12 >> 2] >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function std____2____compressed_pair_elem_std____2__allocator_int___2c_201_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std____2__allocator_int___2c_20void__28std____2__allocator_int___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 8 >> 2]; + return $0; +} + +function TransformVector2_28b2Transform_20const__2c_20b2Vec2_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($0, HEAP32[$3 + 12 >> 2], HEAP32[$3 + 8 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2DrawWrapper__28b2DrawWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2DrawWrapper__28b2DrawWrapper_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2CircleShape__28b2CircleShape__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2CircleShape__28b2CircleShape_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2____less_unsigned_20long_2c_20unsigned_20long___operator_28_29_5babi_v160004_5d_28unsigned_20long_20const__2c_20unsigned_20long_20const__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + return HEAPU32[HEAP32[$3 + 8 >> 2] >> 2] < HEAPU32[HEAP32[$3 + 4 >> 2] >> 2]; +} + +function std____2____compressed_pair_int__2c_20std____2__allocator_int____second_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_std____2__allocator_int__2c_201_2c_20true_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____allocation_result_std____2__allocator_traits_std____2__allocator_char____pointer__20std____2____allocate_at_least_5babi_v160004_5d_std____2__allocator_char___28std____2__allocator_char___2c_20unsigned_20long_29($0, $1, $2) { + $1 = std____2__allocator_char___allocate_5babi_v160004_5d_28unsigned_20long_29($1, $2); + HEAP32[$0 + 4 >> 2] = $2; + HEAP32[$0 >> 2] = $1; +} + +function b2GrowableStack_int_2c_20256____b2GrowableStack_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 8 >> 2] = $0; + $0 = HEAP32[$1 + 8 >> 2]; + HEAP32[$1 + 12 >> 2] = $0; + if (HEAP32[$0 >> 2] != ($0 + 4 | 0)) { + b2Free_28void__29(HEAP32[$0 >> 2]); + HEAP32[$0 >> 2] = 0; + } + __stack_pointer = $1 + 16 | 0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______end_cap_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2____first_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2FrictionJoint__GetReactionForce_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAPF32[$3 + 8 >> 2] = $2; + operator__28float_2c_20b2Vec2_20const__29($0, HEAPF32[$3 + 8 >> 2], HEAP32[$3 + 12 >> 2] + 84 | 0); + __stack_pointer = $3 + 16 | 0; +} + +function __towrite($0) { + var $1 = 0; + $1 = HEAP32[$0 + 72 >> 2]; + HEAP32[$0 + 72 >> 2] = $1 | $1 - 1; + $1 = HEAP32[$0 >> 2]; + if ($1 & 8) { + HEAP32[$0 >> 2] = $1 | 32; + return -1; + } + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $1 = HEAP32[$0 + 44 >> 2]; + HEAP32[$0 + 28 >> 2] = $1; + HEAP32[$0 + 20 >> 2] = $1; + HEAP32[$0 + 16 >> 2] = HEAP32[$0 + 48 >> 2] + $1; + return 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______alloc_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2____second_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____tree_iterator_5babi_v160004_5d_28std____2____tree_node_b2Fixture__2c_20void____29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 8 >> 2]; + return $0; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int_______end_cap_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_int__2c_20std____2__allocator_int_____first_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 12 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec3__Set_28float_2c_20float_2c_20float_29($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[$4 + 12 >> 2] = $0; + HEAPF32[$4 + 8 >> 2] = $1; + HEAPF32[$4 + 4 >> 2] = $2; + HEAPF32[$4 >> 2] = $3; + $0 = HEAP32[$4 + 12 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$4 + 8 >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$4 + 4 >> 2]; + HEAPF32[$0 + 8 >> 2] = HEAPF32[$4 >> 2]; +} + +function b2DrawWrapper__b2DrawWrapper___28emscripten__val___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + emscripten__wrapper_b2Draw___wrapper___28emscripten__val___29($0, HEAP32[$2 + 8 >> 2]); + HEAP32[$0 >> 2] = 26388; + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function b2ContactSolver___b2ContactSolver_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2StackAllocator__Free_28void__29(HEAP32[$0 + 32 >> 2], HEAP32[$0 + 40 >> 2]); + b2StackAllocator__Free_28void__29(HEAP32[$0 + 32 >> 2], HEAP32[$0 + 36 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Body__GetLocalPoint_28b2Vec2_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2MulT_28b2Transform_20const__2c_20b2Vec2_20const__29($0, HEAP32[$3 + 12 >> 2] + 12 | 0, HEAP32[$3 + 8 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int_______alloc_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_int__2c_20std____2__allocator_int_____second_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 12 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____compressed_pair_int__2c_20std____2__allocator_int_____first_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_int__2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Transform_20const____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2Transform_20const_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WireTypePack_b2Transform_20const____operator_20void_20const__28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function embind_init_b2_28_29__$_7__operator_28_29_28b2Body__2c_20b2MassData_20const__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + b2Body__SetMassData_28b2MassData_20const__29(HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Mul_28b2Transform_20const__2c_20b2Vec2_20const__29($0, HEAP32[$3 + 12 >> 2] + 12 | 0, HEAP32[$3 + 8 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2WheelJoint__28b2WheelJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2WheelJoint__28b2WheelJoint_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2MouseJoint__28b2MouseJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2MouseJoint__28b2MouseJoint_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2MotorJoint__28b2MotorJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2MotorJoint__28b2MotorJoint_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2FixtureDef__28b2FixtureDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2FixtureDef__28b2FixtureDef_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______clear_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2__vector_int_2c_20std____2__allocator_int______base_destruct_at_end_5babi_v160004_5d_28int__29($0, HEAP32[$0 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function std____2____compressed_pair_int__2c_20std____2__allocator_int____first_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_int__2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2MouseJoint__GetReactionForce_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAPF32[$3 + 8 >> 2] = $2; + operator__28float_2c_20b2Vec2_20const__29($0, HEAPF32[$3 + 8 >> 2], HEAP32[$3 + 12 >> 2] + 96 | 0); + __stack_pointer = $3 + 16 | 0; +} + +function b2MotorJoint__GetReactionForce_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAPF32[$3 + 8 >> 2] = $2; + operator__28float_2c_20b2Vec2_20const__29($0, HEAPF32[$3 + 8 >> 2], HEAP32[$3 + 12 >> 2] + 80 | 0); + __stack_pointer = $3 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2RevoluteJoint__GetJointSpeed_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$1 + 8 >> 2] = HEAP32[$0 + 48 >> 2]; + HEAP32[$1 + 4 >> 2] = HEAP32[$0 + 52 >> 2]; + return Math_fround(Math_fround(HEAPF32[HEAP32[$1 + 4 >> 2] + 72 >> 2] - HEAPF32[HEAP32[$1 + 8 >> 2] + 72 >> 2])); +} + +function std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false_____rewrap_5babi_v160004_5d_28std____2__reverse_iterator_b2Vec2___2c_20std____2__reverse_iterator_b2Vec2___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 4 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = HEAP32[$2 + 4 >> 2]; + return HEAP32[$2 + 12 >> 2]; +} + +function b2SeparationFunction__b2SeparationFunction_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Sweep__b2Sweep_28_29($0 + 8 | 0); + b2Sweep__b2Sweep_28_29($0 + 44 | 0); + b2Vec2__b2Vec2_28_29($0 + 84 | 0); + b2Vec2__b2Vec2_28_29($0 + 92 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__Invoker_b2AABB____invoke_28b2AABB__20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__BindingType_b2AABB__2c_20void___toWireType_28b2AABB__29(FUNCTION_TABLE[HEAP32[$1 + 12 >> 2]]() | 0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2Body__GetLocalVector_28b2Vec2_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2MulT_28b2Rot_20const__2c_20b2Vec2_20const__29($0, HEAP32[$3 + 12 >> 2] + 20 | 0, HEAP32[$3 + 8 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2WeldJoint__28b2WeldJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2WeldJoint__28b2WeldJoint_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2RopeJoint__28b2RopeJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2RopeJoint__28b2RopeJoint_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2EdgeShape__28b2EdgeShape__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2EdgeShape__28b2EdgeShape_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__WireTypePack_unsigned_20int____operator_20void_20const__28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WireTypePack_b2Vec2_20const____operator_20void_20const__28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec3__operator___28float_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$0 >> 2] * HEAPF32[$2 + 8 >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$0 + 4 >> 2] * HEAPF32[$2 + 8 >> 2]; + HEAPF32[$0 + 8 >> 2] = HEAPF32[$0 + 8 >> 2] * HEAPF32[$2 + 8 >> 2]; +} + +function b2Body__GetWorldVector_28b2Vec2_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$3 + 8 >> 2] = $2; + b2Mul_28b2Rot_20const__2c_20b2Vec2_20const__29($0, HEAP32[$3 + 12 >> 2] + 20 | 0, HEAP32[$3 + 8 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2_____first_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_b2Vec2__2c_200_2c_20false_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__wrapper_b2RayCastCallback___call_void__28char_20const__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + void_20emscripten__val__call_void__28char_20const__29_20const(HEAP32[$2 + 12 >> 2] + 8 | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__wrapper_b2ContactListener___call_void__28char_20const__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + void_20emscripten__val__call_void__28char_20const__29_20const(HEAP32[$2 + 12 >> 2] + 8 | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function std____2____compressed_pair_b2Vec2__2c_20std____2__allocator_b2Vec2____first_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_b2Vec2__2c_200_2c_20false_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WireTypePack_int_20const____operator_20void_20const__28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2World__SetGravity_28b2Vec2_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$1 >> 2]; + $3 = HEAP32[$1 + 4 >> 2]; + $1 = $0; + $0 = HEAP32[$2 + 12 >> 2] + 102964 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $3; +} + +function void_20const__20emscripten__internal__getActualType_b2JointDef__28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2JointDef__28b2JointDef_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2Body__SetBullet_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + label$1: { + if (HEAP8[$2 + 11 | 0] & 1) { + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] | 8; + break label$1; + } + HEAP16[$0 + 4 >> 1] = HEAPU16[$0 + 4 >> 1] & -9; + } +} + +function void_20emscripten__wrapper_b2QueryCallback___call_void__28char_20const__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + void_20emscripten__val__call_void__28char_20const__29_20const(HEAP32[$2 + 12 >> 2] + 8 | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______end_cap_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_int__2c_20std____2__allocator_int____first_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20unsigned_20int____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20unsigned_20int_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20std____2____do_deallocate_handle_size_5babi_v160004_5d___28void__2c_20unsigned_20long_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + void_20std____2____libcpp_operator_delete_5babi_v160004_5d_void___28void__29(HEAP32[$2 + 12 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______alloc_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_int__2c_20std____2__allocator_int____second_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2] + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2World__20emscripten__internal__operator_new_b2World_2c_20b2Vec2__28b2Vec2___29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(103028); + b2World__b2World_28b2Vec2_20const__29($0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false_____rewrap_5babi_v160004_5d_28std____2__reverse_iterator_int___2c_20std____2__reverse_iterator_int___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 4 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = HEAP32[$2 + 4 >> 2]; + return HEAP32[$2 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2DrawWrapper____getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2DrawWrapper_____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20const__20emscripten__internal__getActualType_b2Fixture__28b2Fixture__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2Fixture__28b2Fixture_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2BodyDef__28b2BodyDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2BodyDef__28b2BodyDef_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2Cross_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[HEAP32[$2 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$2 + 8 >> 2] + 4 >> 2]) - Math_fround(HEAPF32[HEAP32[$2 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$2 + 8 >> 2] >> 2])); +} + +function ContactGetWorldManifold_28unsigned_20int_2c_20unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + b2Contact__GetWorldManifold_28b2WorldManifold__29_20const(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20unsigned_20int___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20unsigned_20int____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20std____2__allocator_traits_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void______destroy_5babi_v160004_5d_b2Fixture__2c_20void_2c_20void__28std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_20b2Fixture___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; +} + +function void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] >> 2] = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] + 8; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29($0) { + return HEAP32[std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0) >> 2]; +} + +function b2Dot_28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[HEAP32[$2 + 12 >> 2] >> 2] * HEAPF32[HEAP32[$2 + 8 >> 2] >> 2]) + Math_fround(HEAPF32[HEAP32[$2 + 12 >> 2] + 4 >> 2] * HEAPF32[HEAP32[$2 + 8 >> 2] + 4 >> 2])); +} + +function std____2____compressed_pair_int__2c_20std____2__allocator_int_____first_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_int__2c_200_2c_20false_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function WorldManifoldNew_28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(32); + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + b2WorldManifold__b2WorldManifold_28_29($0); + return $0 | 0; +} + +function std____2____compressed_pair_int__2c_20std____2__allocator_int____first_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2____compressed_pair_elem_int__2c_200_2c_20false_____get_5babi_v160004_5d_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__wrapper_b2Draw___call_void__28char_20const__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + void_20emscripten__val__call_void__28char_20const__29_20const(HEAP32[$2 + 12 >> 2] + 12 | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = b2Vec2__20std____2____to_address_5babi_v160004_5d_b2Vec2__28b2Vec2__29(HEAP32[HEAP32[$1 + 12 >> 2] >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Simplex__b2Simplex_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2SimplexVertex__b2SimplexVertex_28_29($0); + b2SimplexVertex__b2SimplexVertex_28_29($0 + 36 | 0); + b2SimplexVertex__b2SimplexVertex_28_29($0 + 72 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__char_traits_char___copy_28char__2c_20char_20const__2c_20unsigned_20long_29($0, $1, $2) { + std____2__enable_if___is_cpp17_random_access_iterator_char_20const____value_2c_20char____type_20std____2__copy_n_5babi_v160004_5d_char_20const__2c_20unsigned_20long_2c_20char___28char_20const__2c_20unsigned_20long_2c_20char__29($1, $2, $0); + return $0; +} + +function emscripten__internal__WireTypePack____operator_20void_20const__28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function embind_init_b2_28_29__$_0__operator_28_29_28b2AABB__2c_20b2AABB__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + b2AABB__Combine_28b2AABB_20const__29(HEAP32[$3 + 8 >> 2], HEAP32[$3 + 4 >> 2]); + __stack_pointer = $3 + 16 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2World__28b2World__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2World__28b2World_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2Shape__28b2Shape__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2Shape__28b2Shape_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2Joint__28b2Joint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2Joint__28b2Joint_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29_20const($0) { + return std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29_20const($0); +} + +function emscripten__internal__writeGenericWireType_28emscripten__internal__GenericWireType___2c_20float_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[HEAP32[$2 + 12 >> 2] >> 2] >> 2] = HEAPF32[$2 + 8 >> 2]; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] + 8; +} + +function emscripten__internal__BindingType_emscripten__val_2c_20void___fromWireType_28emscripten___EM_VAL__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + emscripten__val__take_ownership_28emscripten___EM_VAL__29($0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function operator___28b2Vec2_20const__2c_20b2Vec2_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = 1; + $0 = HEAPF32[HEAP32[$2 + 12 >> 2] >> 2] == HEAPF32[HEAP32[$2 + 8 >> 2] >> 2] ? HEAPF32[HEAP32[$2 + 12 >> 2] + 4 >> 2] != HEAPF32[HEAP32[$2 + 8 >> 2] + 4 >> 2] : $0; + return $0; +} + +function embind_init_b2_28_29__$_3____invoke_28b2Shape__29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $2 = embind_init_b2_28_29__$_3__operator_28_29_28b2Shape__29_20const($1 + 11 | 0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return Math_fround($2); +} + +function b2Abs_28b2Vec2_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + b2Vec2__b2Vec2_28float_2c_20float_29($0, float_20b2Abs_float__28float_29(HEAPF32[HEAP32[$2 + 12 >> 2] >> 2]), float_20b2Abs_float__28float_29(HEAPF32[HEAP32[$2 + 12 >> 2] + 4 >> 2])); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__allocator_b2Vec2___allocator_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2____non_trivial_if_true_2c_20std____2__allocator_b2Vec2______non_trivial_if_5babi_v160004_5d_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20const__20emscripten__internal__getActualType_b2Draw__28b2Draw__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2Draw__28b2Draw_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2Body__28b2Body__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2Body__28b2Body_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getActualType_b2AABB__28b2AABB__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = void_20const__20emscripten__internal__getLightTypeID_b2AABB__28b2AABB_20const__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______destroy_vector____destroy_vector_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 8 >> 2]; + return $0; +} + +function pop_arg_long_double($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0; + $2 = HEAP32[$1 >> 2] + 7 & -8; + HEAP32[$1 >> 2] = $2 + 16; + wasm2js_i32$0 = $0, wasm2js_f64$0 = __trunctfdf2(HEAP32[$2 >> 2], HEAP32[$2 + 4 >> 2], HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2]), + HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; +} + +function b2RevoluteJoint__GetReactionTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + return Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * Math_fround(HEAPF32[$0 + 96 >> 2] + HEAPF32[$0 + 100 >> 2]))); +} + +function void_20emscripten__internal__raw_destructor_b2RayCastCallbackWrapper__28b2RayCastCallbackWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2ContactListenerWrapper__28b2ContactListenerWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20b2Swap_float__28float__2c_20float__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAPF32[$2 + 4 >> 2] = HEAPF32[HEAP32[$2 + 12 >> 2] >> 2]; + HEAPF32[HEAP32[$2 + 12 >> 2] >> 2] = HEAPF32[HEAP32[$2 + 8 >> 2] >> 2]; + HEAPF32[HEAP32[$2 + 8 >> 2] >> 2] = HEAPF32[$2 + 4 >> 2]; +} + +function std____2____compressed_pair_elem_std____2__less_b2Fixture___2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_std____2__less_b2Fixture___20const__2c_20void__28std____2__less_b2Fixture___20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[$2 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__pure_virtual_2c_20emscripten__allow_raw_pointers___ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RayCastCallback__2c_20unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 6; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____data_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = b2Vec2__20std____2____to_address_5babi_v160004_5d_b2Vec2__28b2Vec2__29(HEAP32[HEAP32[$1 + 12 >> 2] >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__allocator_char___allocator_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2____non_trivial_if_true_2c_20std____2__allocator_char______non_trivial_if_5babi_v160004_5d_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____unwrap_range_impl_char_20const__2c_20char_20const______rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1) { + return char_20const__20std____2____rewrap_iter_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true___28char_20const__2c_20char_20const__29($0, $1); +} + +function b2Shape__operator__28b2Shape_20const__29($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $1 = HEAP32[$2 + 8 >> 2]; + $0 = HEAP32[$1 + 4 >> 2]; + $3 = HEAP32[$1 + 8 >> 2]; + $1 = $0; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[$0 + 8 >> 2] = $3; + return $0; +} + +function void_20emscripten__internal__raw_destructor_b2QueryCallbackWrapper__28b2QueryCallbackWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function std____2__allocator_int___allocator_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + std____2____non_trivial_if_true_2c_20std____2__allocator_int______non_trivial_if_5babi_v160004_5d_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function ContactSetTangentSpeed_28unsigned_20int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + b2Contact__SetTangentSpeed_28float_29(HEAP32[$2 + 12 >> 2], HEAPF32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function b2Vec2__operator___28b2Vec2_20const__29_1($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$0 >> 2] - HEAPF32[HEAP32[$2 + 8 >> 2] >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$0 + 4 >> 2] - HEAPF32[HEAP32[$2 + 8 >> 2] + 4 >> 2]; +} + +function std____2__vector_int_2c_20std____2__allocator_int____data_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = int__20std____2____to_address_5babi_v160004_5d_int__28int__29(HEAP32[HEAP32[$1 + 12 >> 2] >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2PolygonAndCircleContact___b2PolygonAndCircleContact_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2PolygonAndCircleContact___b2PolygonAndCircleContact_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function ContactSetRestitution_28unsigned_20int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + b2Contact__SetRestitution_28float_29(HEAP32[$2 + 12 >> 2], HEAPF32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__less_b2Fixture____operator_28_29_5babi_v160004_5d_28b2Fixture__20const__2c_20b2Fixture__20const__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + return HEAPU32[HEAP32[$3 + 8 >> 2] >> 2] < HEAPU32[HEAP32[$3 + 4 >> 2] >> 2]; +} + +function std____2____compressed_pair_elem_unsigned_20long_2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_int_2c_20void__28int___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] >> 2]; + return $0; +} + +function b2Vec2__operator___28b2Vec2_20const__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$0 >> 2] + HEAPF32[HEAP32[$2 + 8 >> 2] >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$0 + 4 >> 2] + HEAPF32[HEAP32[$2 + 8 >> 2] + 4 >> 2]; +} + +function b2Contact__SetEnabled_28bool_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + label$1: { + if (HEAP8[$2 + 11 | 0] & 1) { + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 4; + break label$1; + } + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] & -5; + } +} + +function std____2__vector_int_2c_20std____2__allocator_int______destroy_vector____destroy_vector_28std____2__vector_int_2c_20std____2__allocator_int____29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 8 >> 2]; + return $0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____20emscripten__internal__operator_new_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(12); + std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____vector_5babi_v160004_5d_28_29($0); + return $0 | 0; +} + +function b2MouseJoint__ShiftOrigin_28b2Vec2_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + b2Vec2__operator___28b2Vec2_20const__29_1(HEAP32[$2 + 12 >> 2] + 76 | 0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29($0) { + return std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29($0); +} + +function b2RayCastCallbackWrapper___b2RayCastCallbackWrapper_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2RayCastCallbackWrapper___b2RayCastCallbackWrapper_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2ContactListenerWrapper___b2ContactListenerWrapper_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2ContactListenerWrapper___b2ContactListenerWrapper_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2ChainAndPolygonContact___b2ChainAndPolygonContact_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2ChainAndPolygonContact___b2ChainAndPolygonContact_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 8 >> 2] = $0; + return HEAP32[$1 + 8 >> 2]; +} + +function is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, $1, $2) { + if (!$2) { + return HEAP32[$0 + 4 >> 2] == HEAP32[$1 + 4 >> 2]; + } + if (($0 | 0) == ($1 | 0)) { + return 1; + } + return !strcmp(std__type_info__name_5babi_v160004_5d_28_29_20const($0), std__type_info__name_5babi_v160004_5d_28_29_20const($1)); +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 6; +} + +function char_20const__20std____2____rewrap_iter_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true___28char_20const__2c_20char_20const__29($0, $1) { + return std____2____unwrap_iter_impl_char_20const__2c_20true_____rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1); +} + +function b2BroadPhase___b2BroadPhase_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Free_28void__29(HEAP32[$0 + 32 >> 2]); + b2Free_28void__29(HEAP32[$0 + 44 >> 2]); + b2DynamicTree___b2DynamicTree_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__raw_destructor_b2RayCastCallback__28b2RayCastCallback__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2ContactListener__28b2ContactListener__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29_20const($0) { + return std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29_20const($0); +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 6; +} + +function b2Vec2__operator__28_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + b2Vec2__Set_28float_2c_20float_29($0, Math_fround(-HEAPF32[$1 >> 2]), Math_fround(-HEAPF32[$1 + 4 >> 2])); + __stack_pointer = $2 + 16 | 0; +} + +function ContactSetFriction_28unsigned_20int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + b2Contact__SetFriction_28float_29(HEAP32[$2 + 12 >> 2], HEAPF32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 6; +} + +function emscripten__internal__BindingType_emscripten__val_2c_20void___toWireType_28emscripten__val_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + _emval_incref(HEAP32[HEAP32[$1 + 12 >> 2] >> 2]); + __stack_pointer = $1 + 16 | 0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function b2EdgeAndPolygonContact___b2EdgeAndPolygonContact_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2EdgeAndPolygonContact___b2EdgeAndPolygonContact_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2ChainAndCircleContact___b2ChainAndCircleContact_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2ChainAndCircleContact___b2ChainAndCircleContact_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function embind_init_b2_28_29__$_6____invoke_28b2FixtureDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_6__operator_28_29_28b2FixtureDef__29_20const($1 + 11 | 0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2QueryCallback__28b2QueryCallback__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__wrapper_b2ContactListener____wrapper_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + emscripten__wrapper_b2ContactListener____wrapper_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2RayCastInput__20emscripten__internal__raw_constructor_b2RayCastInput__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(20); + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + b2RayCastInput__b2RayCastInput_28_29($0); + return $0 | 0; +} + +function b2PrismaticJoint__GetAnchorB_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 52 >> 2], $1 + 76 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2PrismaticJoint__GetAnchorA_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 48 >> 2], $1 + 68 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function __lseek($0, $1, $2, $3) { + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + $3 = __wasi_syscall_ret(legalfunc$__wasi_fd_seek($0, $1, $2, $3 & 255, $4 + 8 | 0)); + __stack_pointer = $4 + 16 | 0; + $2 = HEAP32[$4 + 12 >> 2]; + i64toi32_i32$HIGH_BITS = $3 ? -1 : $2; + $1 = HEAP32[$4 + 8 >> 2]; + return $3 ? -1 : $1; +} + +function operator_20new_28unsigned_20long_29($0) { + var $1 = 0; + $1 = $0 >>> 0 <= 1 ? 1 : $0; + label$1: { + while (1) { + $0 = dlmalloc($1); + if ($0) { + break label$1; + } + $0 = std__get_new_handler_28_29(); + if ($0) { + FUNCTION_TABLE[$0 | 0](); + continue; + } + break; + } + abort(); + wasm2js_trap(); + } + return $0; +} + +function embind_init_b2_28_29__$_11____invoke_28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_11__operator_28_29_28b2JointDef__29_20const($1 + 11 | 0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2RevoluteJoint__GetAnchorB_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 52 >> 2], $1 + 76 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2RevoluteJoint__GetAnchorA_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 48 >> 2], $1 + 68 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2FrictionJoint__GetAnchorB_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 52 >> 2], $1 + 76 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2FrictionJoint__GetAnchorA_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 48 >> 2], $1 + 68 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2DistanceJoint__GetAnchorB_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 52 >> 2], $1 + 88 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2DistanceJoint__GetAnchorA_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 48 >> 2], $1 + 80 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 6; +} + +function b2QueryCallbackWrapper___b2QueryCallbackWrapper_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2QueryCallbackWrapper___b2QueryCallbackWrapper_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2PulleyJoint__GetAnchorB_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 52 >> 2], $1 + 100 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2EdgeAndCircleContact___b2EdgeAndCircleContact_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2EdgeAndCircleContact___b2EdgeAndCircleContact_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function embind_init_b2_28_29__$_9____invoke_28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = embind_init_b2_28_29__$_9__operator_28_29_28b2JointDef__29_20const($1 + 11 | 0, HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2PulleyJoint__GetAnchorA_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 48 >> 2], $1 + 92 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2DrawWrapper__28b2DrawWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function b2WheelJoint__GetAnchorB_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 52 >> 2], $1 + 76 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2WheelJoint__GetAnchorA_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 48 >> 2], $1 + 68 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2MouseJoint__GetAnchorB_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 52 >> 2], $1 + 68 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2GearJoint__GetAnchorB_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 52 >> 2], $1 + 100 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2World__28b2World__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + b2World___b2World_28_29($0); + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function b2WeldJoint__GetAnchorB_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 52 >> 2], $1 + 88 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2WeldJoint__GetAnchorA_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 48 >> 2], $1 + 80 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2RopeJoint__GetAnchorB_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 52 >> 2], $1 + 76 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2RopeJoint__GetAnchorA_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 48 >> 2], $1 + 68 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function b2GearJoint__GetAnchorA_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $1; + $1 = HEAP32[$2 + 12 >> 2]; + b2Body__GetWorldPoint_28b2Vec2_20const__29_20const($0, HEAP32[$1 + 48 >> 2], $1 + 92 | 0); + __stack_pointer = $2 + 16 | 0; +} + +function decltype_28std____2____unwrap_iter_impl_char__2c_20true_____unwrap_28std__declval_char___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char__2c_20std____2____unwrap_iter_impl_char__2c_20true__2c_200__28char__29($0) { + return std____2____unwrap_iter_impl_char__2c_20true_____unwrap_5babi_v160004_5d_28char__29($0); +} + +function void_20std____2__allocator_int___construct_5babi_v160004_5d_int_2c_20int_20const___28int__2c_20int_20const__29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + HEAP32[HEAP32[$3 + 8 >> 2] >> 2] = HEAP32[HEAP32[$3 + 4 >> 2] >> 2]; +} + +function void_20emscripten__internal__raw_destructor_b2RopeJoint__28b2RopeJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 32 >> 2]]($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function std____2____compressed_pair_elem_b2Vec2__2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std__nullptr_t_2c_20void__28std__nullptr_t___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void___getTypes_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void____get_28_29(); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2Vec2__IsValid_28_29_20const($0) { + var $1 = 0, $2 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if (b2IsValid_28float_29(HEAPF32[$0 >> 2]) & 1) { + $2 = b2IsValid_28float_29(HEAPF32[$0 + 4 >> 2]); + } + __stack_pointer = $1 + 16 | 0; + return $2 & 1; +} + +function ContactSetEnabled_28unsigned_20int_2c_20bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + b2Contact__SetEnabled_28bool_29(HEAP32[$2 + 12 >> 2], HEAP8[$2 + 11 | 0] & 1); + __stack_pointer = $2 + 16 | 0; +} + +function __fmodeflags($0) { + var $1 = 0; + $1 = 2; + if (!strchr($0, 43)) { + $1 = HEAPU8[$0 | 0] != 114; + } + $1 = strchr($0, 120) ? $1 | 128 : $1; + $1 = strchr($0, 101) ? $1 | 524288 : $1; + $0 = HEAPU8[$0 | 0]; + $1 = ($0 | 0) == 114 ? $1 : $1 | 64; + $1 = ($0 | 0) == 119 ? $1 | 512 : $1; + return ($0 | 0) == 97 ? $1 | 1024 : $1; +} + +function std____2__vector_int_2c_20std____2__allocator_int____20emscripten__internal__operator_new_std____2__vector_int_2c_20std____2__allocator_int____28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(12); + std____2__vector_int_2c_20std____2__allocator_int____vector_5babi_v160004_5d_28_29($0); + return $0 | 0; +} + +function std____2____compressed_pair_elem_int__2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_std__nullptr_t_2c_20void__28std__nullptr_t___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = 0; + return $0; +} + +function void_20emscripten__internal__raw_destructor_b2PrismaticJointDef__28b2PrismaticJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29($0) { + return std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29($0); +} + +function void_20emscripten__internal__raw_destructor_b2RevoluteJointDef__28b2RevoluteJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2DistanceJointDef__28b2DistanceJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function b2World__GetGravity_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $1; + $2 = HEAP32[$2 + 12 >> 2] + 102964 | 0; + $1 = HEAP32[$2 >> 2]; + $3 = HEAP32[$2 + 4 >> 2]; + $2 = $1; + $1 = $0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $3; +} + +function b2BroadPhase__GetUserData_28int_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = b2DynamicTree__GetUserData_28int_29_20const(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function b2MouseJoint__GetAnchorA_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $1; + $2 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$2 + 76 >> 2]; + $3 = HEAP32[$2 + 80 >> 2]; + $2 = $1; + $1 = $0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $3; +} + +function b2BroadPhase__GetFatAABB_28int_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = b2DynamicTree__GetFatAABB_28int_29_20const(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; + return $0; +} + +function void_20emscripten__internal__raw_destructor_b2Draw__28b2Draw__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 4 >> 2]]($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function b2SimplexVertex__b2SimplexVertex_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 8 | 0); + b2Vec2__b2Vec2_28_29($0 + 16 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2RayCastCallbackWrapper___b2RayCastCallbackWrapper_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + emscripten__wrapper_b2RayCastCallback____wrapper_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2WheelJointDef__28b2WheelJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2RayCastOutput__28b2RayCastOutput__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2MouseJointDef__28b2MouseJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2MotorJointDef__28b2MotorJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function std____2____split_buffer_b2Vec2_2c_20std____2__allocator_b2Vec2______ConstructTransaction____ConstructTransaction_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[HEAP32[$0 + 8 >> 2] >> 2] = HEAP32[$0 >> 2]; + return $0; +} + +function b2Vec2__b2Vec2_28float_2c_20float_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAPF32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$3 + 8 >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$3 + 4 >> 2]; + return $0; +} + +function void_20emscripten__internal__raw_destructor_b2WeldJointDef__28b2WeldJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2RopeJointDef__28b2RopeJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2RayCastInput__28b2RayCastInput__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 6; +} + +function emscripten__internal__BindingType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20void___fromWireType_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2ContactListener___b2ContactListener_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2ContactListener___b2ContactListener_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function ContactGetTangentSpeed_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $2 = b2Contact__GetTangentSpeed_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return Math_fround($2); +} + +function void__20std____2____libcpp_operator_new_5babi_v160004_5d_unsigned_20long__28unsigned_20long_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = operator_20new_28unsigned_20long_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____operator_5b_5d_5babi_v160004_5d_28unsigned_20long_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[HEAP32[$2 + 12 >> 2] >> 2] + (HEAP32[$2 + 8 >> 2] << 3) | 0; +} + +function fmt_x($0, $1, $2, $3) { + var $4 = 0; + if ($0 | $1) { + while (1) { + $2 = $2 - 1 | 0; + HEAP8[$2 | 0] = HEAPU8[($0 & 15) + 23872 | 0] | $3; + $4 = !$1 & $0 >>> 0 > 15 | ($1 | 0) != 0; + $0 = ($1 & 15) << 28 | $0 >>> 4; + $1 = $1 >>> 4 | 0; + if ($4) { + continue; + } + break; + } + } + return $2; +} + +function void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______throw_length_error_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + std____2____throw_length_error_5babi_v160004_5d_28char_20const__29(3664); + wasm2js_trap(); +} + +function char_20const__20std____2____rewrap_range_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($0, $1) { + return std____2____unwrap_range_impl_char_20const__2c_20char_20const______rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1); +} + +function b2QueryCallbackWrapper___b2QueryCallbackWrapper_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + emscripten__wrapper_b2QueryCallback____wrapper_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function ContactGetRestitution_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $2 = b2Contact__GetRestitution_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return Math_fround($2); +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____ConstructTransaction____ConstructTransaction_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[HEAP32[$0 >> 2] + 4 >> 2] = HEAP32[$0 + 4 >> 2]; + return $0; +} + +function std____2____split_buffer_int_2c_20std____2__allocator_int______ConstructTransaction____ConstructTransaction_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[HEAP32[$0 + 8 >> 2] >> 2] = HEAP32[$0 >> 2]; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function b2PrismaticJoint___b2PrismaticJoint_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2PrismaticJoint___b2PrismaticJoint_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2PolygonContact___b2PolygonContact_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2PolygonContact___b2PolygonContact_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2PrismaticJoint__GetReactionTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * HEAPF32[HEAP32[$2 + 12 >> 2] + 108 >> 2])); +} + +function WorldManifoldDelete_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + if (HEAP32[$1 + 12 >> 2]) { + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2Transform__28b2Transform__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function WorldManifoldGetPointValueY_28unsigned_20int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return Math_fround(HEAPF32[((HEAP32[$2 + 12 >> 2] + 8 | 0) + (HEAP32[$2 + 8 >> 2] << 3) | 0) + 4 >> 2]); +} + +function std____2__vector_int_2c_20std____2__allocator_int____operator_5b_5d_5babi_v160004_5d_28unsigned_20long_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[HEAP32[$2 + 12 >> 2] >> 2] + (HEAP32[$2 + 8 >> 2] << 2) | 0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int____get_28_29() { + return 27712; +} + +function b2FrictionJoint__GetReactionTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * HEAPF32[HEAP32[$2 + 12 >> 2] + 92 >> 2])); +} + +function void_20emscripten__internal__raw_destructor_b2MassData__28b2MassData__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2JointDef__28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______throw_length_error_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + std____2____throw_length_error_5babi_v160004_5d_28char_20const__29(3664); + wasm2js_trap(); +} + +function std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int____get_28_29() { + return 27376; +} + +function b2Vec2__operator___28float_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$0 >> 2] * HEAPF32[$2 + 8 >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$0 + 4 >> 2] * HEAPF32[$2 + 8 >> 2]; +} + +function b2RevoluteJoint___b2RevoluteJoint_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2RevoluteJoint___b2RevoluteJoint_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2FrictionJoint___b2FrictionJoint_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2FrictionJoint___b2FrictionJoint_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2DistanceJoint___b2DistanceJoint_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2DistanceJoint___b2DistanceJoint_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2ContactFilter___b2ContactFilter_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2ContactFilter___b2ContactFilter_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2CircleContact___b2CircleContact_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2CircleContact___b2CircleContact_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function ContactGetFriction_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0, $2 = Math_fround(0); + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $2 = b2Contact__GetFriction_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return Math_fround($2); +} + +function std____2__vector_int_2c_20std____2__allocator_int_____ConstructTransaction____ConstructTransaction_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[HEAP32[$0 >> 2] + 4 >> 2] = HEAP32[$0 + 4 >> 2]; + return $0; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____operator_5b_5d_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[HEAP32[$2 + 12 >> 2] >> 2] + (HEAP32[$2 + 8 >> 2] << 3) | 0; +} + +function std____2____unwrap_iter_impl_std____2__reverse_iterator_b2Vec2___2c_20false_____unwrap_5babi_v160004_5d_28std____2__reverse_iterator_b2Vec2___29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 + 12 >> 2] = HEAP32[$1 + 8 >> 2]; + return HEAP32[$1 + 12 >> 2]; +} + +function b2WheelJoint__GetReactionTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * HEAPF32[HEAP32[$2 + 12 >> 2] + 104 >> 2])); +} + +function b2PrismaticJoint__GetMotorForce_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * HEAPF32[HEAP32[$2 + 12 >> 2] + 112 >> 2])); +} + +function void_20emscripten__internal__raw_destructor_b2Fixture__28b2Fixture__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__val__take_ownership_28emscripten___EM_VAL__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + emscripten__val__val_28emscripten___EM_VAL__29($0, HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int____get_28_29() { + return 27536; +} + +function b2WeldJoint__GetReactionTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * HEAPF32[HEAP32[$2 + 12 >> 2] + 112 >> 2])); +} + +function b2RevoluteJoint__GetMotorTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * HEAPF32[HEAP32[$2 + 12 >> 2] + 92 >> 2])); +} + +function b2MotorJoint__GetReactionTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * HEAPF32[HEAP32[$2 + 12 >> 2] + 88 >> 2])); +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function b2Mat33__b2Mat33_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec3__b2Vec3_28_29($0); + b2Vec3__b2Vec3_28_29($0 + 12 | 0); + b2Vec3__b2Vec3_28_29($0 + 24 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function WorldManifoldGetSeparationValue_28unsigned_20int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return Math_fround(HEAPF32[(HEAP32[$2 + 12 >> 2] + 24 | 0) + (HEAP32[$2 + 8 >> 2] << 2) >> 2]); +} + +function void_20emscripten__internal__raw_destructor_b2Filter__28b2Filter__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function std____2__pointer_traits_std____2____tree_end_node_std____2____tree_node_base_void________pointer_to_5babi_v160004_5d_28std____2____tree_end_node_std____2____tree_node_base_void______29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__BindingType_std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20void___fromWireType_28std____2__vector_int_2c_20std____2__allocator_int___20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2WheelJoint__GetMotorTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * HEAPF32[HEAP32[$2 + 12 >> 2] + 104 >> 2])); +} + +function b2Sweep__b2Sweep_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 8 | 0); + b2Vec2__b2Vec2_28_29($0 + 16 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2PolygonShape___b2PolygonShape_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2PolygonShape___b2PolygonShape_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function ContactImpulseGetTangentImpulse_28unsigned_20int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return Math_fround(HEAPF32[(HEAP32[$2 + 12 >> 2] + 8 | 0) + (HEAP32[$2 + 8 >> 2] << 2) >> 2]); +} + +function bool_20std____2____tree_is_left_child_5babi_v160004_5d_std____2____tree_node_base_void_____28std____2____tree_node_base_void____29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] == HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] + 8 >> 2] >> 2]; +} + +function b2Dump_28char_20const__2c_20____29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + if (HEAP32[7692]) { + HEAP32[$2 + 8 >> 2] = $1; + vfprintf(HEAP32[7692], HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + } + __stack_pointer = $2 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2Color__28b2Color__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function emscripten__internal__DestructorsRunner__DestructorsRunner_28emscripten__internal___EM_DESTRUCTORS__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 8 >> 2]; + return $0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int____get_28_29() { + return 27120; +} + +function b2Vec2__Set_28float_2c_20float_29($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAPF32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + $0 = HEAP32[$3 + 12 >> 2]; + HEAPF32[$0 >> 2] = HEAPF32[$3 + 8 >> 2]; + HEAPF32[$0 + 4 >> 2] = HEAPF32[$3 + 4 >> 2]; +} + +function b2PositionSolverManifold__b2PositionSolverManifold_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2__vector_int_2c_20std____2__allocator_int____operator_5b_5d_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[HEAP32[$2 + 12 >> 2] >> 2] + (HEAP32[$2 + 8 >> 2] << 2) | 0; +} + +function std____2____unwrap_iter_impl_std____2__reverse_iterator_int___2c_20false_____unwrap_5babi_v160004_5d_28std____2__reverse_iterator_int___29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 8 >> 2] = $0; + HEAP32[$1 + 12 >> 2] = HEAP32[$1 + 8 >> 2]; + return HEAP32[$1 + 12 >> 2]; +} + +function float_20b2Min_float__28float_2c_20float_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAPF32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + if (HEAPF32[$2 + 12 >> 2] < HEAPF32[$2 + 8 >> 2]) { + $0 = HEAPF32[$2 + 12 >> 2]; + } else { + $0 = HEAPF32[$2 + 8 >> 2]; + } + return $0; +} + +function float_20b2Max_float__28float_2c_20float_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAPF32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + if (HEAPF32[$2 + 12 >> 2] > HEAPF32[$2 + 8 >> 2]) { + $0 = HEAPF32[$2 + 12 >> 2]; + } else { + $0 = HEAPF32[$2 + 8 >> 2]; + } + return $0; +} + +function void_20emscripten__internal__raw_destructor_b2Vec2__28b2Vec2__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2AABB__28b2AABB__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function std____2____compressed_pair_elem_std____2____tree_node_destructor_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____2c_201_2c_20false_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__BindingType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20void___fromWireType_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2PulleyJoint___b2PulleyJoint_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2PulleyJoint___b2PulleyJoint_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2PulleyJoint__GetGroundAnchorB_28_29_20const($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $1; + $2 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$2 + 76 >> 2]; + $3 = HEAP32[$2 + 80 >> 2]; + $2 = $1; + $1 = $0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $3; +} + +function b2PulleyJoint__GetGroundAnchorA_28_29_20const($0, $1) { + var $2 = 0, $3 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $1; + $2 = HEAP32[$2 + 12 >> 2]; + $1 = HEAP32[$2 + 68 >> 2]; + $3 = HEAP32[$2 + 72 >> 2]; + $2 = $1; + $1 = $0; + HEAP32[$1 >> 2] = $2; + HEAP32[$1 + 4 >> 2] = $3; +} + +function b2DrawWrapper___b2DrawWrapper_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2DrawWrapper___b2DrawWrapper_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2CircleShape___b2CircleShape_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2CircleShape___b2CircleShape_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function WorldManifoldGetPointValueX_28unsigned_20int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return Math_fround(HEAPF32[(HEAP32[$2 + 12 >> 2] + 8 | 0) + (HEAP32[$2 + 8 >> 2] << 3) >> 2]); +} + +function b2Vec2__Length_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + return Math_fround(Math_sqrt(Math_fround(Math_fround(HEAPF32[$0 >> 2] * HEAPF32[$0 >> 2]) + Math_fround(HEAPF32[$0 + 4 >> 2] * HEAPF32[$0 + 4 >> 2])))); +} + +function void_20emscripten__internal__raw_destructor_b2Rot__28b2Rot__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + if ($0) { + operator_20delete_28void__29($0); + } + __stack_pointer = $1 + 16 | 0; +} + +function std____2__reverse_iterator_b2Vec2____operator__5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$1 + 8 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + $0 = HEAP32[$1 + 8 >> 2] - 8 | 0; + HEAP32[$1 + 8 >> 2] = $0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function emscripten__internal__BindingType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20void___toWireType_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function embind_init_b2_28_29__$_5__operator_28_29_28b2FixtureDef__2c_20b2Shape_20const__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + HEAP32[HEAP32[$3 + 8 >> 2] >> 2] = HEAP32[$3 + 4 >> 2]; +} + +function b2MixRestitution_28float_2c_20float_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAPF32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + if (HEAPF32[$2 + 12 >> 2] > HEAPF32[$2 + 8 >> 2]) { + $0 = HEAPF32[$2 + 12 >> 2]; + } else { + $0 = HEAPF32[$2 + 8 >> 2]; + } + return $0; +} + +function emscripten__internal__GenericBindingType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____fromWireType_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2WheelJoint___b2WheelJoint_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2WheelJoint___b2WheelJoint_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2MouseJoint___b2MouseJoint_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2MouseJoint___b2MouseJoint_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2MotorJoint___b2MotorJoint_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2MotorJoint___b2MotorJoint_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function std____2__reverse_iterator_int____operator__5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + HEAP32[$1 + 8 >> 2] = HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; + $0 = HEAP32[$1 + 8 >> 2] - 4 | 0; + HEAP32[$1 + 8 >> 2] = $0; + return $0; +} + +function emscripten__val__val_28emscripten__val___29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[HEAP32[$2 + 8 >> 2] >> 2]; + HEAP32[HEAP32[$2 + 8 >> 2] >> 2] = 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Color_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const____get_28_29(); +} + +function b2PolygonAndCircleContact___b2PolygonAndCircleContact_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Contact___b2Contact_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2MassData__20emscripten__internal__raw_constructor_b2MassData__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(16); + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + b2MassData__b2MassData_28_29($0); + return $0 | 0; +} + +function b2ContactManager__FindNewContacts_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + void_20b2BroadPhase__UpdatePairs_b2ContactManager__28b2ContactManager__29($0, $0); + __stack_pointer = $1 + 16 | 0; +} + +function EmBindInit_b2__EmBindInit_b2_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + emscripten__internal__InitFunc__InitFunc_28void_20_28__29_28_29_29($0, 1); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20b2QueryCallback__2c_20b2AABB_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function embind_init_b2_28_29__$_10__operator_28_29_28b2JointDef__2c_20b2Body__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + HEAP32[HEAP32[$3 + 8 >> 2] + 12 >> 2] = HEAP32[$3 + 4 >> 2]; +} + +function b2StackAllocator__b2StackAllocator_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 + 102400 >> 2] = 0; + HEAP32[$0 + 102404 >> 2] = 0; + HEAP32[$0 + 102408 >> 2] = 0; + HEAP32[$0 + 102796 >> 2] = 0; + return $0; +} + +function b2ChainAndPolygonContact___b2ChainAndPolygonContact_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Contact___b2Contact_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function ContactImpulseGetNormalImpulse_28unsigned_20int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return Math_fround(HEAPF32[HEAP32[$2 + 12 >> 2] + (HEAP32[$2 + 8 >> 2] << 2) >> 2]); +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int_2c_20int_2c_20b2Color_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int_2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function b2WeldJoint___b2WeldJoint_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2WeldJoint___b2WeldJoint_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2RopeJoint___b2RopeJoint_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2RopeJoint___b2RopeJoint_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2GearJoint___b2GearJoint_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2GearJoint___b2GearJoint_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function b2EdgeShape___b2EdgeShape_28_29_1($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2EdgeShape___b2EdgeShape_28_29($0); + operator_20delete_28void__29($0); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__DestructorsRunner___DestructorsRunner_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + _emval_run_destructors(HEAP32[$0 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function embind_init_b2_28_29__$_8__operator_28_29_28b2JointDef__2c_20b2Body__29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + HEAP32[HEAP32[$3 + 8 >> 2] + 8 >> 2] = HEAP32[$3 + 4 >> 2]; +} + +function b2EdgeAndPolygonContact___b2EdgeAndPolygonContact_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Contact___b2Contact_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2ChainAndCircleContact___b2ChainAndCircleContact_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Contact___b2Contact_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2BlockAllocator_____get_28_29() { + return 27652; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2BlockAllocator_____get_28_29() { + return 27312; +} + +function embind_init_b2_28_29__$_2__operator_28_29_28b2Shape__2c_20float_29_20const($0, $1, $2) { + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAPF32[$3 + 4 >> 2] = $2; + HEAPF32[HEAP32[$3 + 8 >> 2] + 8 >> 2] = HEAPF32[$3 + 4 >> 2]; +} + +function b2EdgeAndCircleContact___b2EdgeAndCircleContact_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Contact___b2Contact_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__BindingType_std____2__vector_int_2c_20std____2__allocator_int____2c_20void___fromWireType_28std____2__vector_int_2c_20std____2__allocator_int____29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2RayCastOutput__20emscripten__internal__raw_constructor_b2RayCastOutput__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(12); + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + b2RayCastOutput__b2RayCastOutput_28_29($0); + return $0 | 0; +} + +function int_20b2Min_int__28int_2c_20int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + if (HEAP32[$2 + 12 >> 2] < HEAP32[$2 + 8 >> 2]) { + $0 = HEAP32[$2 + 12 >> 2]; + } else { + $0 = HEAP32[$2 + 8 >> 2]; + } + return $0; +} + +function int_20b2Max_int__28int_2c_20int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + if (HEAP32[$2 + 12 >> 2] > HEAP32[$2 + 8 >> 2]) { + $0 = HEAP32[$2 + 12 >> 2]; + } else { + $0 = HEAP32[$2 + 8 >> 2]; + } + return $0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2BlockAllocator_____get_28_29() { + return 27488; +} + +function b2Draw__ClearFlags_28unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] & (HEAP32[$2 + 8 >> 2] ^ -1); +} + +function b2DrawWrapper___b2DrawWrapper_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + emscripten__wrapper_b2Draw____wrapper_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2BroadPhase__TouchProxy_28int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + b2BroadPhase__BufferMove_28int_29(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function auto_20std____2____unwrap_range_5babi_v160004_5d_char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($0, $1, $2) { + std____2____unwrap_range_impl_char_20const__2c_20char_20const______unwrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1, $2); +} + +function std____2____tree_node_base_void______set_parent_5babi_v160004_5d_28std____2____tree_node_base_void____29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[HEAP32[$2 + 12 >> 2] + 8 >> 2] = HEAP32[$2 + 8 >> 2]; +} + +function fmt_o($0, $1, $2) { + var $3 = 0; + if ($0 | $1) { + while (1) { + $2 = $2 - 1 | 0; + HEAP8[$2 | 0] = $0 & 7 | 48; + $3 = !$1 & $0 >>> 0 > 7 | ($1 | 0) != 0; + $0 = ($1 & 7) << 29 | $0 >>> 3; + $1 = $1 >>> 3 | 0; + if ($3) { + continue; + } + break; + } + } + return $2; +} + +function emscripten__internal__BindingType_std____2__vector_int_2c_20std____2__allocator_int____2c_20void___toWireType_28std____2__vector_int_2c_20std____2__allocator_int____29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20float____get_28_29() { + return 28176; +} + +function b2DistanceOutput__b2DistanceOutput_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2MassData__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function b2RayCastCallback__20emscripten__base_b2RayCastCallback___convertPointer_b2RayCastCallbackWrapper_2c_20b2RayCastCallback__28b2RayCastCallbackWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2RayCastCallbackWrapper__20emscripten__base_b2RayCastCallback___convertPointer_b2RayCastCallback_2c_20b2RayCastCallbackWrapper__28b2RayCastCallback__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2ContactListener__20emscripten__base_b2ContactListener___convertPointer_b2ContactListenerWrapper_2c_20b2ContactListener__28b2ContactListenerWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2ContactListenerWrapper__20emscripten__base_b2ContactListener___convertPointer_b2ContactListener_2c_20b2ContactListenerWrapper__28b2ContactListener__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2MassData__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2BlockAllocator____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__GenericBindingType_std____2__vector_int_2c_20std____2__allocator_int_____fromWireType_28std____2__vector_int_2c_20std____2__allocator_int____29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Fixture__GetType_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = b2Shape__GetType_28_29_20const(HEAP32[HEAP32[$1 + 12 >> 2] + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2__reverse_iterator_b2Vec2____reverse_iterator_5babi_v160004_5d_28b2Vec2__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 8 >> 2]; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2BlockAllocator____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_std____2__vector_int_2c_20std____2__allocator_int___20const____get_28_29(); +} + +function b2JointDef__b2JointDef_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAP8[$0 + 16 | 0] = 0; + return $0; +} + +function void_20_28_emscripten__select_overload_void_20_28b2RayCastCallbackWrapper__29__28void_20_28__29_28b2RayCastCallbackWrapper__29_29_29_28b2RayCastCallbackWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function void_20_28_emscripten__select_overload_void_20_28b2ContactListenerWrapper__29__28void_20_28__29_28b2ContactListenerWrapper__29_29_29_28b2ContactListenerWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function unsigned_20long_20std____2__allocator_traits_std____2__allocator_char____max_size_5babi_v160004_5d_std____2__allocator_char__2c_20void_2c_20void__28std____2__allocator_char__20const__29($0) { + return std____2__numeric_limits_unsigned_20long___max_5babi_v160004_5d_28_29(); +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2MassData__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const_____get_28_29() { + return 26976; +} + +function b2Vec2__LengthSquared_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + return Math_fround(Math_fround(HEAPF32[$0 >> 2] * HEAPF32[$0 >> 2]) + Math_fround(HEAPF32[$0 + 4 >> 2] * HEAPF32[$0 + 4 >> 2])); +} + +function b2RayCastInput__b2RayCastInput_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2BlockAllocator____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function b2MouseJoint__GetReactionTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(HEAPF32[$2 + 8 >> 2] * Math_fround(0))); +} + +function b2EdgeShape__TestPoint_28b2Transform_20const__2c_20b2Vec2_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + return 0; +} + +function b2Draw__AppendFlags_28unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 8 >> 2] | HEAP32[$0 + 4 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Shape_20const__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2FixtureDef_20const_____get_28_29() { + return 28160; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______get_28_29(); +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2MassData__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int____get_28_29() { + return 28048; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + return HEAP32[$0 + 4 >> 2] - HEAP32[$0 >> 2] >> 3; +} + +function std____2__reverse_iterator_int____reverse_iterator_5babi_v160004_5d_28int__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 8 >> 2]; + return $0; +} + +function std____2__pair_char_20const__2c_20char_20const____pair_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20_28void__290__28char_20const____2c_20char_20const____29($0, $1, $2) { + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 >> 2]; + return $0; +} + +function std____2____tree_const_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____get_np_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Joint__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2JointDef_20const_____get_28_29() { + return 26872; +} + +function b2PolygonContact___b2PolygonContact_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Contact___b2Contact_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2IsValid_28float_29($0) { + var $1 = 0, $2 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAPF32[$1 + 12 >> 2] = $0; + $2 = bool_20isfinite_5babi_v160004_5d_float_2c_200__28float_29(HEAPF32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $2 & 1; +} + +function void_20_28_emscripten__select_overload_void_20_28b2QueryCallbackWrapper__29__28void_20_28__29_28b2QueryCallbackWrapper__29_29_29_28b2QueryCallbackWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2AABB__20emscripten__internal__operator_new_b2AABB__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(16); + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + b2AABB__b2AABB_28_29($0); + return $0 | 0; +} + +function __cxxabiv1____fundamental_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, $1, 0) | 0; +} + +function ContactIsTouching_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = b2Contact__IsTouching_28_29_20const(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 & 1; +} + +function emscripten__internal__WithPolicies____ArgTypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int___20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2BodyDef_20const_____get_28_29() { + return 26800; +} + +function b2QueryCallback__20emscripten__base_b2QueryCallback___convertPointer_b2QueryCallbackWrapper_2c_20b2QueryCallback__28b2QueryCallbackWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2QueryCallbackWrapper__20emscripten__base_b2QueryCallback___convertPointer_b2QueryCallback_2c_20b2QueryCallbackWrapper__28b2QueryCallback__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2CircleContact___b2CircleContact_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Contact___b2Contact_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function ManifoldGetManifoldPointPtr_28unsigned_20int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[$2 + 12 >> 2] + Math_imul(HEAP32[$2 + 8 >> 2], 20) | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2FixtureDef_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20int_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function b2Transform__b2Transform_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + b2Rot__b2Rot_28_29($0 + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20std____2____libcpp_operator_delete_5babi_v160004_5d_void___28void__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + operator_20delete_28void__29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float_2c_20b2Vec2_20const__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 6; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20emscripten__internal__AllowedRawPointer_b2AABB_____get_28_29() { + return 26656; +} + +function b2PrismaticJoint___b2PrismaticJoint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Joint___b2Joint_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function GetFloat32_28unsigned_20int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return Math_fround(HEAPF32[HEAP32[$2 + 12 >> 2] + (HEAP32[$2 + 8 >> 2] << 2) >> 2]); +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + return HEAP32[$0 + 4 >> 2] - HEAP32[$0 >> 2] >> 2; +} + +function std____2__allocator_traits_std____2__allocator_char____deallocate_5babi_v160004_5d_28std____2__allocator_char___2c_20char__2c_20unsigned_20long_29($0, $1, $2) { + std____2__allocator_char___deallocate_5babi_v160004_5d_28char__2c_20unsigned_20long_29($0, $1, $2); +} + +function std____2____tree_iterator_b2Fixture__2c_20std____2____tree_node_b2Fixture__2c_20void____2c_20long_____get_np_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Joint__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2JointDef_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20b2Transform_20const__2c_20int____get_28_29() { + return 27744; +} + +function char__20std____2____rewrap_iter_5babi_v160004_5d_char__2c_20char__2c_20std____2____unwrap_iter_impl_char__2c_20true___28char__2c_20char__29($0, $1) { + return std____2____unwrap_iter_impl_char__2c_20true_____rewrap_5babi_v160004_5d_28char__2c_20char__29($0, $1); +} + +function b2RevoluteJoint___b2RevoluteJoint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Joint___b2Joint_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2FrictionJoint___b2FrictionJoint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Joint___b2Joint_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2DistanceJoint___b2DistanceJoint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Joint___b2Joint_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function std____2____compressed_pair_elem_std____2____tree_end_node_std____2____tree_node_base_void_____2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2QueryCallback__2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20b2Transform_20const__2c_20int____get_28_29() { + return 27408; +} + +function ContactGetManifold_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = b2Contact__GetManifold_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function ContactGetFixtureB_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = b2Contact__GetFixtureB_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function ContactGetFixtureA_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = b2Contact__GetFixtureA_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2MassData____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2BodyDef_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function b2PolygonShape___b2PolygonShape_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Shape___b2Shape_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function __cxxabiv1____enum_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, $1, 0) | 0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20b2Transform_20const__2c_20int____get_28_29() { + return 27568; +} + +function b2Mat22__b2Mat22_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2GrowableStack_int_2c_20256___b2GrowableStack_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = $0 + 4; + HEAP32[$0 + 1028 >> 2] = 0; + HEAP32[$0 + 1032 >> 2] = 256; + return $0; +} + +function float_20b2Abs_float__28float_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAPF32[$1 + 12 >> 2] = $0; + if (HEAPF32[$1 + 12 >> 2] > Math_fround(0)) { + $0 = HEAPF32[$1 + 12 >> 2]; + } else { + $0 = Math_fround(-HEAPF32[$1 + 12 >> 2]); + } + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Transform_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_std____2__vector_int_2c_20std____2__allocator_int______get_28_29(); +} + +function b2PulleyJoint___b2PulleyJoint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Joint___b2Joint_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2CircleShape___b2CircleShape_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Shape___b2Shape_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function void_20const__20emscripten__internal__getLightTypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 25120; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2RayCastCallbackWrapper__28b2RayCastCallbackWrapper_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2ContactListenerWrapper__28b2ContactListenerWrapper_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2ContactListener____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20b2MassData____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20emscripten__internal__AllowedRawPointer_b2RayCastOutput__2c_20b2RayCastInput_20const_____get_28_29() { + return 26688; +} + +function b2World__SetContactListener_28b2ContactListener__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[HEAP32[$2 + 12 >> 2] + 102940 >> 2] = HEAP32[$2 + 8 >> 2]; +} + +function b2AABB__b2AABB_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + b2Vec2__b2Vec2_28_29($0 + 8 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____compressed_pair_elem_std____2__allocator_std____2____tree_node_b2Fixture__2c_20void____2c_201_2c_20true_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2WheelJoint___b2WheelJoint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Joint___b2Joint_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2MouseJoint___b2MouseJoint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Joint___b2Joint_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2MotorJoint___b2MotorJoint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Joint___b2Joint_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2ContactManager___b2ContactManager_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2BroadPhase___b2BroadPhase_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($0, $1, $2, $3) { + if (!(HEAP32[$1 + 28 >> 2] == 1 | HEAP32[$1 + 4 >> 2] != ($2 | 0))) { + HEAP32[$1 + 28 >> 2] = $3; + } +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20b2Transform_20const__2c_20int____get_28_29() { + return 27152; +} + +function std____2____non_trivial_if_true_2c_20std____2__allocator_std____2____tree_node_b2Fixture__2c_20void________non_trivial_if_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function b2WeldJoint___b2WeldJoint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Joint___b2Joint_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2RopeJoint___b2RopeJoint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Joint___b2Joint_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2MouseJoint__SetDampingRatio_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 88 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function b2GearJoint___b2GearJoint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Joint___b2Joint_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2EdgeShape___b2EdgeShape_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Shape___b2Shape_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0 | 0; +} + +function b2DistanceJoint__SetStiffness_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 68 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2QueryCallbackWrapper__28b2QueryCallbackWrapper_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function std____2____compressed_pair_elem_std____2____tree_end_node_std____2____tree_node_base_void_____2c_200_2c_20false_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const_____get_28_29() { + return 25520; +} + +function b2WheelJoint__SetStiffness_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 144 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function b2Log_28char_20const__2c_20____29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + vprintf(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); + __stack_pointer = $2 + 16 | 0; +} + +function b2DistanceJoint__SetLength_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 104 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function b2DistanceJoint__SetDamping_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 72 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function b2ContactListener__PostSolve_28unsigned_20int_2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; +} + +function void_20std____2____debug_db_erase_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($0) {} + +function std____2____unwrap_iter_impl_char_20const__2c_20true_____rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1) { + return ($1 - char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29($0) | 0) + $0 | 0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const_____get_28_29() { + return 25184; +} + +function b2MouseJoint__SetMaxForce_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 104 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function b2MouseJoint__SetFrequency_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 84 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function b2DynamicTree___b2DynamicTree_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Free_28void__29(HEAP32[$0 + 4 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2ContactListener__PreSolve_28unsigned_20int_2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[$3 + 12 >> 2] = $0; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; +} + +function b2Body__SetAngularDamping_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 136 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_20const__2c_20emscripten__internal__AllowedRawPointer_b2QueryCallback__2c_20b2AABB_20const_____get_28_29() { + return 26960; +} + +function b2WheelJoint__SetDamping_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 148 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function b2WeldJoint__SetStiffness_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 68 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function b2RopeJoint__SetMaxLength_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 84 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function b2Fixture__SetRestitution_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 20 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function b2Body__SetLinearDamping_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 132 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function ContactResetRestitution_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + b2Contact__ResetRestitution_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function b2Body__SetGravityScale_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 140 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Fixture____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function b2WeldJoint__SetDamping_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 72 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Joint____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function b2Fixture__SetFriction_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 16 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Draw____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Body____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function std____2____compressed_pair_elem_std____2____tree_node_b2Fixture__2c_20void____2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2PrismaticJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2PrismaticJointDef__28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2PrismaticJointDef_2c_20b2JointDef__28b2PrismaticJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int___20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 25e3; +} + +function std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const___2c_20char__2c_20_28void__290__28char_20const___2c_20char____29($0, $1, $2) { + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 >> 2]; + return $0; +} + +function std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const__2c_20char__2c_20_28void__290__28char_20const____2c_20char____29($0, $1, $2) { + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$2 >> 2]; + return $0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______throw_length_error_5babi_v160004_5d_28_29_20const($0) { + std____2____throw_length_error_5babi_v160004_5d_28char_20const__29(7639); + wasm2js_trap(); +} + +function std____2____tree_b2Fixture__2c_20std____2__less_b2Fixture___2c_20std____2__allocator_b2Fixture_______begin_node_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function ContactResetFriction_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + b2Contact__ResetFriction_28_29(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2RayCastCallback__28b2RayCastCallback_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2ContactListener__28b2ContactListener_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function std____2____tree_end_node_std____2____tree_node_base_void________tree_end_node_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2RayCastCallbackWrapper__2c_20emscripten__val_____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2ContactListenerWrapper__2c_20emscripten__val_____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RayCastCallback__2c_20unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____get_28_29() { + return 25584; +} + +function b2RevoluteJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2RevoluteJointDef__28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2RevoluteJointDef_2c_20b2JointDef__28b2RevoluteJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2DistanceJointDef_2c_20b2JointDef__28b2DistanceJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2DistanceJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2DistanceJointDef__28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const_____get_28_29() { + return 25056; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData__2c_20float____get_28_29() { + return 27776; +} + +function void_20std____2____debug_db_invalidate_all_5babi_v160004_5d_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2PrismaticJoint__28b2PrismaticJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2QueryCallbackWrapper__2c_20emscripten__val_____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData__2c_20float____get_28_29() { + return 27440; +} + +function void_20_28_emscripten__select_overload_void_20_28b2DrawWrapper__29__28void_20_28__29_28b2DrawWrapper__29_29_29_28b2DrawWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function b2World__SetDebugDraw_28b2Draw__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[HEAP32[$2 + 12 >> 2] + 102980 >> 2] = HEAP32[$2 + 8 >> 2]; +} + +function b2RayCastOutput__b2RayCastOutput_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function b2ManifoldPoint__b2ManifoldPoint_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2RevoluteJoint__28b2RevoluteJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2QueryCallback__28b2QueryCallback_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2DistanceJoint__28b2DistanceJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int____get_28_29() { + return 27680; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData__2c_20float____get_28_29() { + return 27600; +} + +function b2MixFriction_28float_2c_20float_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAPF32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_sqrt(Math_fround(HEAPF32[$2 + 12 >> 2] * HEAPF32[$2 + 8 >> 2]))); +} + +function b2DistanceJoint__GetReactionTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(0)); +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function b2MassData__b2MassData_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0 + 4 | 0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2PolygonShape__28b2PolygonShape_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function std____2____compressed_pair_elem_std____2____tree_node_b2Fixture__2c_20void____2c_200_2c_20false_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__val__val_28emscripten___EM_VAL__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $0 = HEAP32[$2 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$2 + 8 >> 2]; + return $0; +} + +function b2WheelJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2WheelJointDef__28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2PulleyJoint__GetReactionTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(0)); +} + +function b2MouseJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2MouseJointDef__28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2MotorJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2MotorJointDef__28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2WheelJointDef_2c_20b2JointDef__28b2WheelJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2MouseJointDef_2c_20b2JointDef__28b2MouseJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2MotorJointDef_2c_20b2JointDef__28b2MotorJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Draw__SetFlags_28unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + HEAP32[HEAP32[$2 + 12 >> 2] + 4 >> 2] = HEAP32[$2 + 8 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Body____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Joint____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2DrawWrapper__28b2DrawWrapper_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2CircleShape__28b2CircleShape_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function emscripten__val___val_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + _emval_decref(HEAP32[$0 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData__2c_20float____get_28_29() { + return 27184; +} + +function b2WeldJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2WeldJointDef__28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2RopeJoint__GetReactionTorque_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + return Math_fround(Math_fround(0)); +} + +function b2RopeJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2RopeJointDef__28b2JointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Mat22__SetZero_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAPF32[$0 >> 2] = 0; + HEAPF32[$0 + 8 >> 2] = 0; + HEAPF32[$0 + 4 >> 2] = 0; + HEAPF32[$0 + 12 >> 2] = 0; +} + +function b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2WeldJointDef_2c_20b2JointDef__28b2WeldJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2RopeJointDef_2c_20b2JointDef__28b2RopeJointDef__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function void_20std____2____debug_db_erase_c_5babi_v160004_5d_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP8[$2 + 11 | 0] = $1; + HEAP8[HEAP32[$2 + 12 >> 2]] = HEAP8[$2 + 11 | 0] & 1; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float_2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function b2ClipVertex__b2ClipVertex_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2WheelJoint__28b2WheelJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2MouseJoint__28b2MouseJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2MotorJoint__28b2MotorJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function std____2____compressed_pair_elem_std____2__allocator_b2Vec2___2c_201_2c_20false_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float_2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20bool___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2AABB_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const_____get_28_29() { + return 26224; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_b2DrawWrapper__2c_20emscripten__val_____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20float_2c_20int_2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function embind_init_b2_28_29__$_4__operator_20void_20_28__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 712; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2WeldJoint__28b2WeldJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2RopeJoint__28b2RopeJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2EdgeShape__28b2EdgeShape_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20b2AABB_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function std____2__reverse_iterator_b2Vec2____operator___5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] - 8; + return $0; +} + +function std____2____compressed_pair_elem_std____2__allocator_int___2c_201_2c_20false_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20b2Vec2_20const_____get_28_29() { + return 25164; +} + +function b2PrismaticJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2PrismaticJoint__28b2Joint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Joint__20emscripten__base_b2Joint___convertPointer_b2PrismaticJoint_2c_20b2Joint__28b2PrismaticJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function __syscall_ret($0) { + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + if ($0 >>> 0 >= 4294963201) { + wasm2js_i32$0 = __errno_location(), wasm2js_i32$1 = 0 - $0 | 0, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $0 = -1; + } + return $0; +} + +function void_20std____2____debug_db_invalidate_all_5babi_v160004_5d_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Vec2_2c_20b2Transform_20const__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20b2Filter_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__TypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____get_28_29(); +} + +function emscripten__internal__BindingType_unsigned_20short_2c_20void___toWireType_28unsigned_20short_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAPU16[HEAP32[$1 + 12 >> 2] >> 1]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const_____get_28_29() { + return 25200; +} + +function b2RevoluteJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2RevoluteJoint__28b2Joint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Joint__20emscripten__base_b2Joint___convertPointer_b2RevoluteJoint_2c_20b2Joint__28b2RevoluteJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Joint__20emscripten__base_b2Joint___convertPointer_b2DistanceJoint_2c_20b2Joint__28b2DistanceJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2DistanceJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2DistanceJoint__28b2Joint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______invalidate_iterators_past_5babi_v160004_5d_28b2Vec2__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; +} + +function std____2__reverse_iterator_int____operator___5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] - 4; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_std____2__vector_int_2c_20std____2__allocator_int______getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function __wasm_call_ctors() { + _GLOBAL__sub_I_Box2DWebBindings_cpp(); + _GLOBAL__sub_I_b2_block_allocator_cpp(); + _GLOBAL__sub_I_b2_math_cpp(); + _GLOBAL__sub_I_b2_contact_manager_cpp(); + _GLOBAL__sub_I_bind_cpp(); + init_pthread_self(); +} + +function __cxx_global_array_dtor_2($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + b2ContactListener___b2ContactListener_28_29(29700); + __stack_pointer = $1 + 16 | 0; +} + +function std____2____compressed_pair_elem_std____2__allocator_b2Vec2__2c_201_2c_20true_____get_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Transform_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Filter_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData_____get_28_29() { + return 28068; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2FixtureDef__2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const_____get_28_29() { + return 27892; +} + +function b2Shape__20emscripten__base_b2Shape___convertPointer_b2PolygonShape_2c_20b2Shape__28b2PolygonShape__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2PolygonShape__20emscripten__base_b2Shape___convertPointer_b2Shape_2c_20b2PolygonShape__28b2Shape__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2EPAxis__b2EPAxis_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + b2Vec2__b2Vec2_28_29($0); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 5; +} + +function emscripten__internal__BindingType_unsigned_20long_2c_20void___toWireType_28unsigned_20long_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function emscripten__internal__BindingType_b2PrismaticJoint_20const__2c_20void___fromWireType_28b2PrismaticJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2ContactListenerWrapper__2c_20void___fromWireType_28b2ContactListenerWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function embind_init_b2_28_29__$_11__operator_28_29_28b2JointDef__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[HEAP32[$2 + 8 >> 2] + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function b2Shape__20emscripten__base_b2Shape___convertPointer_b2CircleShape_2c_20b2Shape__28b2CircleShape__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2CircleShape__20emscripten__base_b2Shape___convertPointer_b2Shape_2c_20b2CircleShape__28b2Shape__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2Shape__28b2Shape_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2Joint__28b2Joint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function std____2____compressed_pair_elem_std____2__allocator_int__2c_201_2c_20true_____get_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__val__undefined_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + emscripten__val__val_28emscripten___EM_VAL__29($0, 1); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float_2c_20bool___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__BindingType_unsigned_20int_2c_20void___toWireType_28unsigned_20int_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function emscripten__internal__BindingType_b2RevoluteJoint_20const__2c_20void___fromWireType_28b2RevoluteJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2RayCastCallbackWrapper__2c_20void___toWireType_28b2RayCastCallbackWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2DistanceJoint_20const__2c_20void___fromWireType_28b2DistanceJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2ContactListenerWrapper__2c_20void___toWireType_28b2ContactListenerWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2ContactListener_____get_28_29() { + return 26768; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20emscripten__internal__AllowedRawPointer_b2MassData_____get_28_29() { + return 28336; +} + +function embind_init_b2_28_29__$_9__operator_28_29_28b2JointDef__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[HEAP32[$2 + 8 >> 2] + 8 >> 2]; +} + +function b2Vec2__operator_28_29_28int_29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAPF32[HEAP32[$2 + 12 >> 2] + (HEAP32[$2 + 8 >> 2] << 2) >> 2]; +} + +function void_20std____2____debug_db_erase_c_5babi_v160004_5d_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20bool___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const_____get_28_29() { + return 26256; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20long_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int___20const_____get_28_29() { + return 25072; +} + +function b2WheelJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2WheelJoint__28b2Joint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2MouseJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2MouseJoint__28b2Joint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2MotorJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2MotorJoint__28b2Joint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Joint__20emscripten__base_b2Joint___convertPointer_b2WheelJoint_2c_20b2Joint__28b2WheelJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Joint__20emscripten__base_b2Joint___convertPointer_b2MouseJoint_2c_20b2Joint__28b2MouseJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Joint__20emscripten__base_b2Joint___convertPointer_b2MotorJoint_2c_20b2Joint__28b2MotorJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Filter__b2Filter_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP16[$0 >> 1] = 1; + HEAP16[$0 + 2 >> 1] = 65535; + HEAP16[$0 + 4 >> 1] = 0; + return $0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2Draw__28b2Draw_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[HEAP32[$1 + 12 >> 2] >> 2] - 4 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20bool___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__GenericBindingType_b2RayCastCallbackWrapper___fromWireType_28b2RayCastCallbackWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__GenericBindingType_b2ContactListenerWrapper___fromWireType_28b2ContactListenerWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2PolygonShape_20const__2c_20void___fromWireType_28b2PolygonShape_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int____2c_20int_20const_____get_28_29() { + return 25044; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const_____get_28_29() { + return 27696; +} + +function embind_init_b2_28_29__$_6__operator_28_29_28b2FixtureDef__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[HEAP32[$2 + 8 >> 2] >> 2]; +} + +function embind_init_b2_28_29__$_3__operator_28_29_28b2Shape__29_20const($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAPF32[HEAP32[$2 + 8 >> 2] + 8 >> 2]; +} + +function b2Draw__20emscripten__base_b2Draw___convertPointer_b2DrawWrapper_2c_20b2Draw__28b2DrawWrapper__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2DrawWrapper__20emscripten__base_b2Draw___convertPointer_b2Draw_2c_20b2DrawWrapper__28b2Draw__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function __cxx_global_array_dtor($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + b2ContactFilter___b2ContactFilter_28_29(29696); + __stack_pointer = $1 + 16 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2FixtureDef__2c_20b2Shape_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20emscripten__internal__AllowedRawPointer_b2Draw_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RayCastCallbackWrapper_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RayCastCallbackWrapper_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2ContactListenerWrapper_20const____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float_2c_20b2Vec2_20const__2c_20float____get_28_29() { + return 27824; +} + +function b2WeldJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2WeldJoint__28b2Joint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Shape__20emscripten__base_b2Shape___convertPointer_b2EdgeShape_2c_20b2Shape__28b2EdgeShape__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2RopeJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2RopeJoint__28b2Joint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Joint__20emscripten__base_b2Joint___convertPointer_b2WeldJoint_2c_20b2Joint__28b2WeldJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Joint__20emscripten__base_b2Joint___convertPointer_b2RopeJoint_2c_20b2Joint__28b2RopeJoint__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2EdgeShape__20emscripten__base_b2Shape___convertPointer_b2Shape_2c_20b2EdgeShape__28b2Shape__29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function __sindf($0) { + var $1 = 0, $2 = 0; + $1 = $0 * $0; + $2 = $1 * $0; + return Math_fround($2 * ($1 * $1) * ($1 * 2718311493989822e-21 + -.00019839334836096632) + ($2 * ($1 * .008333329385889463 + -.16666666641626524) + $0)); +} + +function legalstub$dynCall_jiji($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $3 = dynCall_jiji($0, $1, $2, $3, $4); + $2 = i64toi32_i32$HIGH_BITS; + setTempRet0($2); + return $3 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__BindingType_b2QueryCallbackWrapper__2c_20void___toWireType_28b2QueryCallbackWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2CircleShape_20const__2c_20void___fromWireType_28b2CircleShape_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const_____get_28_29() { + return 27360; +} +function b2MouseJoint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + b2Log_28char_20const__2c_20____29(15328, 0); + __stack_pointer = $1 + 16 | 0; +} + +function std____2__vector_int_2c_20std____2__allocator_int______invalidate_iterators_past_5babi_v160004_5d_28int__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; +} + +function std____2____compressed_pair_elem_std____2__allocator_b2Vec2__2c_201_2c_20true_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2AABB__2c_20b2AABB__2c_20b2AABB____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20bool___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2BodyType___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2JointType_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__BindingType_short_2c_20void___toWireType_28short_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAPU16[HEAP32[$1 + 12 >> 2] >> 1] << 16 >> 16; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const_____get_28_29() { + return 27520; +} + +function b2PrismaticJointDef__20emscripten__internal__operator_new_b2PrismaticJointDef__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(72); + b2PrismaticJointDef__b2PrismaticJointDef_28_29($0); + return $0 | 0; +} + +function b2FrictionJoint__SolvePositionConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return 1; +} + +function std____2____compressed_pair_elem_std____2__less_b2Fixture___2c_201_2c_20true_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Body__2c_20b2MassData_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__GenericBindingType_b2QueryCallbackWrapper___fromWireType_28b2QueryCallbackWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2WheelJoint_20const__2c_20void___fromWireType_28b2WheelJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2MouseJoint_20const__2c_20void___fromWireType_28b2MouseJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2MotorJoint_20const__2c_20void___fromWireType_28b2MotorJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2FixtureDef_20const__2c_20void___fromWireType_28b2FixtureDef_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2____non_trivial_if_true_2c_20std____2__allocator_b2Vec2______non_trivial_if_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2BodyType_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__TypeID_std____2__vector_int_2c_20std____2__allocator_int___2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_std____2__vector_int_2c_20std____2__allocator_int_____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2QueryCallbackWrapper_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2QueryCallbackWrapper_20const____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20emscripten__internal__AllowedRawPointer_b2FixtureDef_____get_28_29() { + return 27904; +} + +function bool_20isfinite_5babi_v160004_5d_float_2c_200__28float_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAPF32[$1 + 12 >> 2] = $0; + return Math_fround(Math_abs(HEAPF32[$1 + 12 >> 2])) < Math_fround(Infinity); +} + +function __ofl_add($0) { + var $1 = 0, $2 = 0; + $1 = __ofl_lock(); + HEAP32[$0 + 56 >> 2] = HEAP32[$1 >> 2]; + $2 = HEAP32[$1 >> 2]; + if ($2) { + HEAP32[$2 + 52 >> 2] = $0; + } + HEAP32[$1 >> 2] = $0; + __ofl_unlock(); + return $0; +} + +function std____2____compressed_pair_elem_std____2__allocator_int__2c_201_2c_20true_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Joint__2c_20float_2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20bool___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__BindingType_b2WeldJoint_20const__2c_20void___fromWireType_28b2WeldJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2RopeJoint_20const__2c_20void___fromWireType_28b2RopeJoint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2EdgeShape_20const__2c_20void___fromWireType_28b2EdgeShape_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2JointDef__2c_20emscripten__internal__AllowedRawPointer_b2Body_____get_28_29() { + return 28464; +} + +function b2MouseJoint__SolvePositionConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return 1; +} + +function b2MotorJoint__SolvePositionConstraints_28b2SolverData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return 1; +} + +function b2Joint__Dump_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + b2Dump_28char_20const__2c_20____29(15281, 0); + __stack_pointer = $1 + 16 | 0; +} + +function b2Contact__SetTangentSpeed_28float_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 144 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function std____2__allocator_char___deallocate_5babi_v160004_5d_28char__2c_20unsigned_20long_29($0, $1, $2) { + std____2____libcpp_deallocate_5babi_v160004_5d_28void__2c_20unsigned_20long_2c_20unsigned_20long_29($1, $2, 1); +} + +function std____2____non_trivial_if_true_2c_20std____2__allocator_char______non_trivial_if_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_____get_28_29() { + return 28192; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const_____get_28_29() { + return 27104; +} + +function b2RevoluteJointDef__20emscripten__internal__operator_new_b2RevoluteJointDef__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(64); + b2RevoluteJointDef__b2RevoluteJointDef_28_29($0); + return $0 | 0; +} + +function b2DistanceJointDef__20emscripten__internal__operator_new_b2DistanceJointDef__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(48); + b2DistanceJointDef__b2DistanceJointDef_28_29($0); + return $0 | 0; +} + +function b2Contact__SetRestitution_28float_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 140 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function std____2____non_trivial_if_true_2c_20std____2__allocator_int______non_trivial_if_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20bool___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2World_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__BindingType_b2PrismaticJointDef__2c_20void___toWireType_28b2PrismaticJointDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2JointDef_20const__2c_20void___fromWireType_28b2JointDef_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Joint_____get_28_29() { + return 26908; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20bool___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Draw_____get_28_29() { + return 26780; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Body_____get_28_29() { + return 26860; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Color_20const_____get_28_29() { + return 26192; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2World_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__BindingType_b2RevoluteJointDef__2c_20void___toWireType_28b2RevoluteJointDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2RayCastCallback__2c_20void___fromWireType_28b2RayCastCallback__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Fixture_20const__2c_20void___fromWireType_28b2Fixture_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2DistanceJointDef__2c_20void___toWireType_28b2DistanceJointDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2ContactListener__2c_20void___fromWireType_28b2ContactListener__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2BodyDef_20const__2c_20void___fromWireType_28b2BodyDef_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2AABB__2c_20emscripten__internal__AllowedRawPointer_b2AABB_____get_28_29() { + return 26636; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const_____get_28_29() { + return 25232; +} + +function b2Contact__SetFriction_28float_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAPF32[$2 + 8 >> 2] = $1; + HEAPF32[HEAP32[$2 + 12 >> 2] + 136 >> 2] = HEAPF32[$2 + 8 >> 2]; +} + +function std__get_new_handler_28_29() { + return void_20_28_std____2___28anonymous_20namespace_29____libcpp_atomic_load_5babi_v160004_5d_void_20_28__29_28_29__28void_20_28__20const__29_28_29_2c_20int_29_29_28_29(32756); +} + +function std____2__array_emscripten__internal__GenericWireType_2c_204ul___data_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Shape_20const__2c_20b2FixtureDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PrismaticJointDef_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2PrismaticJointDef_20const____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool____get_28_29() { + return 28272; +} + +function b2Island__Clear_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 + 28 >> 2] = 0; + HEAP32[$0 + 36 >> 2] = 0; + HEAP32[$0 + 32 >> 2] = 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2JointDef__2c_20b2Body____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__BindingType_b2PrismaticJoint__2c_20void___fromWireType_28b2PrismaticJoint__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2BlockAllocator__2c_20void___fromWireType_28b2BlockAllocator__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int_2c_20int_2c_20b2Color_20const_____get_28_29() { + return 26160; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int_2c_20unsigned_20int____get_28_29() { + return 25840; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long____get_28_29() { + return 25208; +} + +function std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_5babi_v160004_5d_28char_20const__29($0) { + return char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29($0); +} + +function std____2____tree_node_base_void______parent_unsafe_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 8 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RevoluteJointDef_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RevoluteJointDef_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DistanceJointDef_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2DistanceJointDef_20const____get_28_29(); +} + +function emscripten__internal__BindingType_unsigned_20short_2c_20void___fromWireType_28unsigned_20short_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP16[$1 + 14 >> 1] = $0; + return HEAPU16[$1 + 14 >> 1]; +} + +function __wasi_syscall_ret($0) { + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + if (!$0) { + return 0; + } + wasm2js_i32$0 = __errno_location(), wasm2js_i32$1 = $0, HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1; +} + +function std____2____tree_key_value_types_b2Fixture______get_key_5babi_v160004_5d_28b2Fixture__20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2____compressed_pair_elem_unsigned_20long_2c_200_2c_20false_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2____compressed_pair_elem_b2Vec2__2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__BindingType_b2World_20const__2c_20void___fromWireType_28b2World_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Shape_20const__2c_20void___fromWireType_28b2Shape_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2RevoluteJoint__2c_20void___fromWireType_28b2RevoluteJoint__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2RayCastOutput__2c_20void___fromWireType_28b2RayCastOutput__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2QueryCallback__2c_20void___fromWireType_28b2QueryCallback__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Joint_20const__2c_20void___fromWireType_28b2Joint_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2DistanceJoint__2c_20void___fromWireType_28b2DistanceJoint__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RayCastCallback_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RayCastCallback_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2ContactListener_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2ContactListener_20const____get_28_29(); +} + +function emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAPF32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function b2Vec3__SetZero_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAPF32[$0 >> 2] = 0; + HEAPF32[$0 + 4 >> 2] = 0; + HEAPF32[$0 + 8 >> 2] = 0; +} + +function b2PrismaticJoint__GetReferenceAngle_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 100 >> 2]); +} + +function _embind_initialize_bindings() { + var $0 = 0; + $0 = HEAP32[7752]; + if ($0) { + while (1) { + FUNCTION_TABLE[HEAP32[$0 >> 2]](); + $0 = HEAP32[$0 + 4 >> 2]; + if ($0) { + continue; + } + break; + } + } +} + +function ManifoldPointGetTangentImpulse_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 12 >> 2]); +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2AABB__2c_20b2AABB____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__BindingType_unsigned_20long_2c_20void___fromWireType_28unsigned_20long_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2WheelJointDef__2c_20void___toWireType_28b2WheelJointDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Shape_20const__2c_20void___toWireType_28b2Shape_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2PolygonShape__2c_20void___fromWireType_28b2PolygonShape__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2MouseJointDef__2c_20void___toWireType_28b2MouseJointDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2MotorJointDef__2c_20void___toWireType_28b2MotorJointDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Draw_20const__2c_20void___fromWireType_28b2Draw_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Body_20const__2c_20void___fromWireType_28b2Body_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2AABB_20const__2c_20void___fromWireType_28b2AABB_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Shape__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_____get_28_29() { + return 27960; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2JointDef_____get_28_29() { + return 28476; +} + +function b2Vec2__operator_28_29_28int_29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + return HEAP32[$2 + 12 >> 2] + (HEAP32[$2 + 8 >> 2] << 2) | 0; +} + +function b2RevoluteJoint__GetReferenceAngle_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 120 >> 2]); +} + +function b2RevoluteJoint__GetMaxMotorTorque_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 108 >> 2]); +} + +function b2PrismaticJoint__GetMaxMotorForce_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 132 >> 2]); +} + +function std____2____compressed_pair_elem_int__2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20b2Shape__2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RayCastCallbackWrapper__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RayCastCallbackWrapper____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2PrismaticJoint_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2ContactListenerWrapper____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Fixture__2c_20emscripten__internal__AllowedRawPointer_b2Body_____get_28_29() { + return 28420; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_____get_28_29() { + return 28016; +} + +function b2MotorJoint__GetCorrectionFactor_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 100 >> 2]); +} + +function ManifoldPointGetNormalImpulse_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 8 >> 2]); +} + +function ManifoldGetLocalNormalValueY_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 44 >> 2]); +} + +function ManifoldGetLocalNormalValueX_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 40 >> 2]); +} + +function std____2____unwrap_iter_impl_char__2c_20true_____rewrap_5babi_v160004_5d_28char__2c_20char__29($0, $1) { + return ($1 - char__20std____2____to_address_5babi_v160004_5d_char__28char__29($0) | 0) + $0 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Joint____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2WeldJointDef__2c_20void___toWireType_28b2WeldJointDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2RopeJointDef__2c_20void___toWireType_28b2RopeJointDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2PolygonShape__2c_20void___toWireType_28b2PolygonShape__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long____get_28_29() { + return 25080; +} + +function WorldManifoldGetNormalValueY_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 4 >> 2]); +} + +function ManifoldGetLocalPointValueY_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 52 >> 2]); +} + +function ManifoldGetLocalPointValueX_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 48 >> 2]); +} + +function std____2__array_emscripten__internal__GenericWireType_2c_204ul___data_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 4; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WheelJointDef_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WheelJointDef_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RevoluteJoint_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2QueryCallback_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2QueryCallback_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MouseJointDef_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MouseJointDef_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MotorJointDef_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MotorJointDef_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2DistanceJoint_20const____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2World__2c_20emscripten__internal__AllowedRawPointer_b2Body_____get_28_29() { + return 28428; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2Body__2c_20emscripten__internal__AllowedRawPointer_b2Joint_____get_28_29() { + return 28508; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const_____get_28_29() { + return 25104; +} + +function b2WheelJoint__GetMaxMotorTorque_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 132 >> 2]); +} + +function b2WheelJointDef__20emscripten__internal__operator_new_b2WheelJointDef__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(76); + b2WheelJointDef__b2WheelJointDef_28_29($0); + return $0 | 0; +} + +function b2PrismaticJoint__GetUpperLimit_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 128 >> 2]); +} + +function b2PrismaticJoint__GetMotorSpeed_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 136 >> 2]); +} + +function b2PrismaticJoint__GetLowerLimit_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 124 >> 2]); +} + +function b2MouseJointDef__20emscripten__internal__operator_new_b2MouseJointDef__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(40); + b2MouseJointDef__b2MouseJointDef_28_29($0); + return $0 | 0; +} + +function b2MotorJointDef__20emscripten__internal__operator_new_b2MotorJointDef__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(44); + b2MotorJointDef__b2MotorJointDef_28_29($0); + return $0 | 0; +} + +function ManifoldPointGetLocalPointY_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 4 >> 2]); +} + +function emscripten__internal__GenericBindingType_b2RayCastInput___fromWireType_28b2RayCastInput__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function emscripten__internal__BindingType_b2WheelJoint__2c_20void___fromWireType_28b2WheelJoint__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2MouseJoint__2c_20void___fromWireType_28b2MouseJoint__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2MotorJoint__2c_20void___fromWireType_28b2MotorJoint__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2FixtureDef__2c_20void___fromWireType_28b2FixtureDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2DrawWrapper__2c_20void___toWireType_28b2DrawWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2CircleShape__2c_20void___toWireType_28b2CircleShape__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2RevoluteJoint__GetUpperLimit_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 128 >> 2]); +} + +function b2RevoluteJoint__GetMotorSpeed_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 112 >> 2]); +} + +function b2RevoluteJoint__GetLowerLimit_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 124 >> 2]); +} + +function b2Alloc_28int_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + $0 = dlmalloc(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; + return $0; +} + +function std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29($0) { + return $0; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WeldJointDef_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WeldJointDef_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RopeJointDef_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RopeJointDef_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2QueryCallbackWrapper__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2QueryCallbackWrapper____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PolygonShape_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2PolygonShape_20const____get_28_29(); +} + +function b2WeldJoint__GetReferenceAngle_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 96 >> 2]); +} + +function b2MotorJoint__GetAngularOffset_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 76 >> 2]); +} + +function std____2____tree_key_value_types_b2Fixture______get_ptr_5babi_v160004_5d_28b2Fixture___29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2____compressed_pair_elem_b2Vec2__2c_200_2c_20false_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2Body__2c_20b2JointDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__GenericBindingType_b2DrawWrapper___fromWireType_28b2DrawWrapper__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2WeldJoint__2c_20void___fromWireType_28b2WeldJoint__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2RopeJoint__2c_20void___fromWireType_28b2RopeJoint__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2FixtureDef__2c_20void___toWireType_28b2FixtureDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_______get_28_29() { + return 25160; +} + +function b2PolygonShape__20emscripten__internal__operator_new_b2PolygonShape__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(152); + b2PolygonShape__b2PolygonShape_28_29($0); + return $0 | 0; +} + +function b2MouseJoint__GetDampingRatio_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 88 >> 2]); +} + +function b2DistanceJoint__GetStiffness_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 68 >> 2]); +} + +function __cosdf($0) { + var $1 = 0; + $0 = $0 * $0; + $1 = $0 * $0; + return Math_fround($0 * $1 * ($0 * 2439044879627741e-20 + -.001388676377460993) + ($1 * .04166662332373906 + ($0 * -.499999997251031 + 1))); +} + +function WorldManifoldGetNormalValueX_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] >> 2]); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DrawWrapper_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2DrawWrapper_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2CircleShape_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2CircleShape_20const____get_28_29(); +} + +function emscripten__internal__BindingType_short_2c_20void___fromWireType_28short_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP16[$1 + 14 >> 1] = $0; + return HEAPU16[$1 + 14 >> 1] << 16 >> 16; +} + +function char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2WheelJoint__GetMotorSpeed_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 136 >> 2]); +} + +function b2WeldJointDef__20emscripten__internal__operator_new_b2WeldJointDef__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(48); + b2WeldJointDef__b2WeldJointDef_28_29($0); + return $0 | 0; +} + +function b2RopeJointDef__20emscripten__internal__operator_new_b2RopeJointDef__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(40); + b2RopeJointDef__b2RopeJointDef_28_29($0); + return $0 | 0; +} + +function ManifoldPointGetLocalPointX_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] >> 2]); +} + +function std____2__pointer_traits_char_20const____pointer_to_5babi_v160004_5d_28char_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2World__2c_20b2Vec2_____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__BindingType_b2MassData__2c_20void___fromWireType_28b2MassData__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2JointDef__2c_20void___fromWireType_28b2JointDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2WheelJoint__GetStiffness_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 144 >> 2]); +} + +function b2DistanceJoint__GetLength_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 104 >> 2]); +} + +function b2DistanceJoint__GetDamping_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 72 >> 2]); +} + +function unsigned_20long_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______align_it_5babi_v160004_5d_16ul__28unsigned_20long_29($0) { + return $0 + 15 & -16; +} + +function std____2____throw_length_error_5babi_v160004_5d_28char_20const__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + abort(); + wasm2js_trap(); +} + +function std____2____compressed_pair_elem_int__2c_200_2c_20false_____get_5babi_v160004_5d_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WheelJoint_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WheelJoint_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MouseJoint_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MouseJoint_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MotorJoint_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MotorJoint_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2FixtureDef_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2FixtureDef_20const____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int____get_28_29() { + return 25900; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20unsigned_20int____get_28_29() { + return 25928; +} + +function b2MouseJoint__GetMaxForce_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 104 >> 2]); +} + +function b2MouseJoint__GetFrequency_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 84 >> 2]); +} + +function b2MotorJoint__GetMaxTorque_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 96 >> 2]); +} + +function b2Body__IsSleepingAllowed_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return (HEAPU16[HEAP32[$1 + 12 >> 2] + 4 >> 1] & 4) == 4 | 0; +} + +function b2Body__IsFixedRotation_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return (HEAPU16[HEAP32[$1 + 12 >> 2] + 4 >> 1] & 16) == 16 | 0; +} + +function b2Body__GetAngularVelocity_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 72 >> 2]); +} + +function b2Body__GetAngularDamping_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 136 >> 2]); +} + +function std____2__reverse_iterator_b2Vec2____base_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2PrismaticJointDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__GenericBindingType_b2Transform___fromWireType_28b2Transform__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__EnumBindingType_b2Shape__Type___fromWireType_28b2Shape__Type_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2JointDef__2c_20void___toWireType_28b2JointDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Fixture__2c_20void___fromWireType_28b2Fixture__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2WheelJoint__GetDamping_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 148 >> 2]); +} + +function b2WeldJoint__GetStiffness_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 68 >> 2]); +} + +function b2RopeJoint__GetMaxLength_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 84 >> 2]); +} + +function b2MotorJoint__GetMaxForce_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 92 >> 2]); +} + +function b2Fixture__GetRestitution_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 20 >> 2]); +} + +function b2Body__GetLinearDamping_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 132 >> 2]); +} + +function void_20_28_std____2___28anonymous_20namespace_29____libcpp_atomic_load_5babi_v160004_5d_void_20_28__29_28_29__28void_20_28__20const__29_28_29_2c_20int_29_29_28_29($0) { + return HEAP32[$0 >> 2]; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20b2Shape____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2RevoluteJointDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2DistanceJointDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WeldJoint_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WeldJoint_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RopeJoint_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PrismaticJointDef__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2PrismaticJointDef____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2EdgeShape_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2EdgeShape_20const____get_28_29(); +} + +function emscripten__internal__GenericWireTypeConverter_float___from_28double_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAPF64[$1 + 8 >> 3] = $0; + return Math_fround(HEAPF64[$1 + 8 >> 3]); +} + +function b2CircleShape__20emscripten__internal__operator_new_b2CircleShape__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(20); + b2CircleShape__b2CircleShape_28_29($0); + return $0 | 0; +} + +function b2Body__GetGravityScale_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 140 >> 2]); +} + +function __DOUBLE_BITS($0) { + var $1 = 0, $2 = 0; + wasm2js_scratch_store_f64(+$0); + $1 = wasm2js_scratch_load_i32(1) | 0; + $2 = wasm2js_scratch_load_i32(0) | 0; + i64toi32_i32$HIGH_BITS = $1; + return $2; +} + +function emscripten__internal__GenericBindingType_b2MassData___fromWireType_28b2MassData__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__EnumBindingType_b2Shape__Type___toWireType_28b2Shape__Type_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Fixture__2c_20void___toWireType_28b2Fixture__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2BodyDef__2c_20void___toWireType_28b2BodyDef__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_std____2__vector_int_2c_20std____2__allocator_int_______get_28_29() { + return 25040; +} + +function b2WeldJoint__GetDamping_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 72 >> 2]); +} + +function std____2__reverse_iterator_int____base_5babi_v160004_5d_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function emscripten__internal__WrapperBase__WrapperBase_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP8[$0 | 0] = 0; + return $0; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RevoluteJointDef__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RevoluteJointDef____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2JointDef_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2JointDef_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DistanceJointDef__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2DistanceJointDef____get_28_29(); +} + +function b2RopeJoint__GetLength_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 88 >> 2]); +} + +function b2Fixture__GetFriction_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 16 >> 2]); +} + +function b2Draw__b2Draw_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = 18192; + HEAP32[$0 + 4 >> 2] = 0; + return $0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2WheelJointDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2MouseJointDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2MotorJointDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int__2c_20unsigned_20int____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__EnumBindingType_b2JointType___fromWireType_28b2JointType_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2World__2c_20void___fromWireType_28b2World__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Shape__2c_20void___fromWireType_28b2Shape__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Joint__2c_20void___fromWireType_28b2Joint__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2PrismaticJoint__IsMotorEnabled_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP8[HEAP32[$1 + 12 >> 2] + 141 | 0] & 1; +} + +function b2PrismaticJoint__IsLimitEnabled_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP8[HEAP32[$1 + 12 >> 2] + 140 | 0] & 1; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2WeldJointDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2RopeJointDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2PolygonShape____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RayCastCallback__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RayCastCallback____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Fixture_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2ContactListener____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2BodyDef_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2BodyDef_20const____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float_2c_20float____get_28_29() { + return 29056; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20float____get_28_29() { + return 28208; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20b2Vec2_20const_____get_28_29() { + return 28024; +} + +function b2RevoluteJoint__IsMotorEnabled_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP8[HEAP32[$1 + 12 >> 2] + 104 | 0] & 1; +} + +function b2RevoluteJoint__IsLimitEnabled_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP8[HEAP32[$1 + 12 >> 2] + 116 | 0] & 1; +} + +function b2FixtureDef__20emscripten__internal__operator_new_b2FixtureDef__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(28); + b2FixtureDef__b2FixtureDef_28_29($0); + return $0 | 0; +} + +function b2ContactListener__BeginContact_28unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; +} + +function b2Body__IsEnabled_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return (HEAPU16[HEAP32[$1 + 12 >> 2] + 4 >> 1] & 32) == 32 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2CircleShape____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__GenericBindingType_b2Filter___fromWireType_28b2Filter__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__EnumBindingType_b2JointType___toWireType_28b2JointType_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__EnumBindingType_b2BodyType___fromWireType_28b2BodyType_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2World__2c_20void___toWireType_28b2World__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Shape__2c_20void___toWireType_28b2Shape__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Joint__2c_20void___toWireType_28b2Joint__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Draw__2c_20void___fromWireType_28b2Draw__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Body__2c_20void___fromWireType_28b2Body__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2AABB__2c_20void___fromWireType_28b2AABB__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float_2c_20float____get_28_29() { + return 29232; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2ContactListener__2c_20unsigned_20int____get_28_29() { + return 25820; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const__2c_20bool____get_28_29() { + return 28304; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2RayCastCallbackWrapper__2c_20emscripten__val______get_28_29() { + return 25692; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2ContactListenerWrapper__2c_20emscripten__val______get_28_29() { + return 25964; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20b2Vec2_20const_____get_28_29() { + return 28368; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2AABB_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const__2c_20int____get_28_29() { + return 28100; +} + +function b2Transform__20emscripten__internal__raw_constructor_b2Transform__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(16); + b2Transform__b2Transform_28_29($0); + return $0 | 0; +} + +function b2Contact__FlagForFiltering_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 8; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2FixtureDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20unsigned_20int_2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2PrismaticJoint____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20float_2c_20int_2c_20int____get_28_29() { + return 26928; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20float_2c_20float____get_28_29() { + return 27808; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const__2c_20float____get_28_29() { + return 29084; +} + +function b2RayCastCallback__b2RayCastCallback_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = 25748; + return $0; +} + +function b2ContactListener__b2ContactListener_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = 26044; + return $0; +} + +function b2ContactListener__EndContact_28unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; +} + +function emscripten__internal__GenericBindingType_b2Color___fromWireType_28b2Color__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__EnumBindingType_b2BodyType___toWireType_28b2BodyType_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAPF32[$1 + 12 >> 2] = $0; + return HEAPF32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2Body__2c_20void___toWireType_28b2Body__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_b2AABB__2c_20void___toWireType_28b2AABB__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const__2c_20float____get_28_29() { + return 29260; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2QueryCallbackWrapper__2c_20emscripten__val______get_28_29() { + return 25440; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2QueryCallback__2c_20unsigned_20int____get_28_29() { + return 25336; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20b2AABB_20const_____get_28_29() { + return 26672; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const_____get_28_29() { + return 29016; +} + +function b2World__GetAllowSleeping_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP8[HEAP32[$1 + 12 >> 2] + 102972 | 0] & 1; +} + +function b2WheelJoint__IsMotorEnabled_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP8[HEAP32[$1 + 12 >> 2] + 141 | 0] & 1; +} + +function b2Body__IsBullet_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return (HEAPU16[HEAP32[$1 + 12 >> 2] + 4 >> 1] & 8) == 8 | 0; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2JointDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2World_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2World_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WheelJointDef__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WheelJointDef____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Shape_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Shape_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RevoluteJoint____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2QueryCallback__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2QueryCallback____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MouseJointDef__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MouseJointDef____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MotorJointDef__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MotorJointDef____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Joint_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DistanceJoint__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2DistanceJoint____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const_____get_28_29() { + return 29184; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const_____get_28_29() { + return 28644; +} + +function b2Joint__GetCollideConnected_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP8[HEAP32[$1 + 12 >> 2] + 61 | 0] & 1; +} + +function b2Fixture__GetDensity_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] >> 2]); +} + +function b2Body__IsAwake_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return (HEAPU16[HEAP32[$1 + 12 >> 2] + 4 >> 1] & 2) == 2 | 0; +} + +function b2Body__GetMass_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 116 >> 2]); +} + +function b2Body__GetAngle_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return Math_fround(HEAPF32[HEAP32[$1 + 12 >> 2] + 56 >> 2]); +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2BodyDef____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__GenericWireTypeConverter_bool___from_28double_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAPF64[$1 + 8 >> 3] = $0; + return HEAPF64[$1 + 8 >> 3] != 0; +} + +function emscripten__internal__GenericBindingType_b2Vec2___fromWireType_28b2Vec2__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__GenericBindingType_b2AABB___fromWireType_28b2AABB__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20b2Vec2_20const_____get_28_29() { + return 28888; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20b2Vec2_20const_____get_28_29() { + return 28760; +} + +function std____2__allocator_std____2____tree_node_b2Fixture__2c_20void_____max_size_5babi_v160004_5d_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 214748364; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WeldJointDef__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WeldJointDef____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RopeJointDef__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RopeJointDef____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2PolygonShape__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2PolygonShape____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Draw_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Draw_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Body_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Body_20const____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2AABB_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2AABB_20const____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20b2Filter_20const_____get_28_29() { + return 27988; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20b2Transform_20const_____get_28_29() { + return 26276; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const__2c_20float____get_28_29() { + return 29664; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float____get_28_29() { + return 29368; +} + +function b2QueryCallback__b2QueryCallback_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = 25496; + return $0; +} + +function ContactImpulseGetCount_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 16 >> 2]; +} + +function emscripten__internal__GenericBindingType_b2Rot___fromWireType_28b2Rot__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP8[$1 + 15 | 0] = $0; + return HEAP8[$1 + 15 | 0] & 1; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2MassData_20const_____get_28_29() { + return 28348; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const__2c_20float____get_28_29() { + return 29380; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const_____get_28_29() { + return 29616; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const_____get_28_29() { + return 28900; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const_____get_28_29() { + return 28772; +} + +function b2Free_28void__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + HEAP32[$1 + 12 >> 2] = $0; + dlfree(HEAP32[$1 + 12 >> 2]); + __stack_pointer = $1 + 16 | 0; +} + +function ManifoldGetPointCount_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 60 >> 2]; +} + +function init_pthread_self() { + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + HEAP32[8054] = 31056; + wasm2js_i32$0 = 32144, wasm2js_i32$1 = getpid(), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; +} + +function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_b2AABB____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2DrawWrapper__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2DrawWrapper____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2CircleShape__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2CircleShape____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const_____get_28_29() { + return 29500; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const_____get_28_29() { + return 29360; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Transform_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const_____get_28_29() { + return 28224; +} + +function b2JointDef__20emscripten__internal__operator_new_b2JointDef__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(20); + b2JointDef__b2JointDef_28_29($0); + return $0 | 0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2PrismaticJointDef__28b2PrismaticJointDef_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 28936; +} + +function emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP8[$1 + 15 | 0] = $0; + return HEAP8[$1 + 15 | 0] & 1; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Joint__2c_20float_2c_20float____get_28_29() { + return 24832; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Vec2_20const__2c_20b2Color_20const_____get_28_29() { + return 26512; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20unsigned_20int__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_____get_28_29() { + return 25760; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Filter_20const__2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const_____get_28_29() { + return 28e3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20float___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2RayCastCallbackWrapper____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2ContactListenerWrapper____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WheelJoint____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MouseJoint____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MotorJoint____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2FixtureDef__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2FixtureDef____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20b2Vec2_20const_____get_28_29() { + return 27016; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float____get_28_29() { + return 28524; +} + +function b2Vec2__20std____2____to_address_5babi_v160004_5d_b2Vec2__28b2Vec2__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2PrismaticJoint__GetLocalAnchorB_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 76 | 0; +} + +function b2PrismaticJoint__GetLocalAnchorA_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 68 | 0; +} + +function b2Joint__ShiftOrigin_28b2Vec2_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2RevoluteJointDef__28b2RevoluteJointDef_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 29104; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2DistanceJointDef__28b2DistanceJointDef_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 28564; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int_2c_20bool___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__WithPolicies____ArgTypeList_unsigned_20int_2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int_2c_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 3; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20float____get_28_29() { + return 29072; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float_2c_20bool____get_28_29() { + return 28320; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2Vec2_20const_____get_28_29() { + return 28248; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const__2c_20float____get_28_29() { + return 28536; +} + +function embind_init_b2_28_29__$_5__operator_20void_20_28__29_28b2FixtureDef__2c_20b2Shape_20const__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 713; +} + +function b2Vec2__SetZero_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAPF32[$0 >> 2] = 0; + HEAPF32[$0 + 4 >> 2] = 0; +} + +function b2RevoluteJoint__GetLocalAnchorB_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 76 | 0; +} + +function b2RevoluteJoint__GetLocalAnchorA_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 68 | 0; +} + +function b2DistanceJoint__GetLocalAnchorB_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 88 | 0; +} + +function b2DistanceJoint__GetLocalAnchorA_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 80 | 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2QueryCallbackWrapper____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2WeldJoint__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WeldJoint____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2RopeJoint__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RopeJoint____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2EdgeShape__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2EdgeShape____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20float____get_28_29() { + return 29248; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint__2c_20bool____get_28_29() { + return 29040; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Draw__2c_20unsigned_20int____get_28_29() { + return 26128; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint__2c_20float____get_28_29() { + return 28652; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2DrawWrapper__2c_20emscripten__val______get_28_29() { + return 26372; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const_____get_28_29() { + return 27952; +} + +function b2PrismaticJoint__GetLocalAxisA_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 84 | 0; +} + +function b2BodyDef__20emscripten__internal__operator_new_b2BodyDef__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(52); + b2BodyDef__b2BodyDef_28_29($0); + return $0 | 0; +} + +function __cxxabiv1____fundamental_type_info_____fundamental_type_info_28_29($0) { + $0 = $0 | 0; + operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0)); +} + +function std____2__allocator_b2Vec2___destroy_5babi_v160004_5d_28b2Vec2__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint__2c_20bool____get_28_29() { + return 29208; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const_____get_28_29() { + return 29024; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_20const__2c_20emscripten__internal__AllowedRawPointer_b2Body_20const_____get_28_29() { + return 28232; +} + +function embind_init_b2_28_29__$_1__operator_20void_20_28__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 709; +} + +function b2Fixture__IsSensor_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP8[HEAP32[$1 + 12 >> 2] + 38 | 0] & 1; +} + +function ManifoldGetType_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 56 >> 2]; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2JointDef__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2JointDef____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20int_2c_20emscripten__internal__AllowedRawPointer_b2Draw_20const_____get_28_29() { + return 26140; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const_____get_28_29() { + return 29192; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_20const_____get_28_29() { + return 28664; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_20const_____get_28_29() { + return 29032; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Shape__Type_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const_____get_28_29() { + return 27076; +} + +function embind_init_b2_28_29__$_7__operator_20void_20_28__29_28b2Body__2c_20b2MassData_20const__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 715; +} + +function b2WheelJoint__GetLocalAnchorB_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 76 | 0; +} + +function b2WheelJoint__GetLocalAnchorA_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 68 | 0; +} + +function b2MotorJoint__GetLinearOffset_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 68 | 0; +} + +function b2Filter__20emscripten__internal__raw_constructor_b2Filter__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(6); + b2Filter__b2Filter_28_29($0); + return $0 | 0; +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______fits_in_sso_5babi_v160004_5d_28unsigned_20long_29($0) { + return $0 >>> 0 < 11; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2Transform_20const____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20float____get_28_29() { + return 29652; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint__2c_20float____get_28_29() { + return 28908; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint__2c_20float____get_28_29() { + return 28780; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_20const_____get_28_29() { + return 29200; +} + +function b2WeldJoint__GetLocalAnchorB_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 88 | 0; +} + +function b2WeldJoint__GetLocalAnchorA_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 80 | 0; +} + +function b2RopeJoint__GetLocalAnchorB_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 76 | 0; +} + +function b2RopeJoint__GetLocalAnchorA_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 68 | 0; +} + +function b2GrowableStack_int_2c_20256___GetCount_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 1028 >> 2]; +} + +function std____2__numeric_limits_unsigned_20long___max_5babi_v160004_5d_28_29() { + return std____2____libcpp_numeric_limits_unsigned_20long_2c_20true___max_5babi_v160004_5d_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Fixture__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Fixture____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2BodyDef__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2BodyDef____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint__2c_20bool____get_28_29() { + return 29640; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint__2c_20float____get_28_29() { + return 29516; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint__2c_20float____get_28_29() { + return 29392; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20b2BodyType____get_28_29() { + return 28380; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const_____get_28_29() { + return 27792; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2JointType_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const_____get_28_29() { + return 28500; +} + +function b2WheelJoint__GetLocalAxisA_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 84 | 0; +} + +function __cxxabiv1____vmi_class_type_info_____vmi_class_type_info_28_29($0) { + $0 = $0 | 0; + operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0)); +} + +function void_20const__20emscripten__internal__getLightTypeID_b2WheelJointDef__28b2WheelJointDef_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 29536; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2MouseJointDef__28b2MouseJointDef_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 28808; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2MotorJointDef__28b2MotorJointDef_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 28680; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2PolygonShape_20const_____get_28_29() { + return 27664; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const_____get_28_29() { + return 29624; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_20const_____get_28_29() { + return 28920; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_20const_____get_28_29() { + return 28792; +} + +function b2Contact__IsTouching_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return (HEAP32[HEAP32[$1 + 12 >> 2] + 4 >> 2] & 2) == 2; +} + +function b2Color__20emscripten__internal__raw_constructor_b2Color__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(16); + b2Color__b2Color_28_29($0); + return $0 | 0; +} + +function b2Body__GetLinearVelocity_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] - -64 | 0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20float____get_28_29() { + return 28080; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2CircleShape_20const_____get_28_29() { + return 27348; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_20const_____get_28_29() { + return 29508; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_20const_____get_28_29() { + return 29404; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_20const_____get_28_29() { + return 29632; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2BodyType_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const_____get_28_29() { + return 28392; +} + +function b2Contact__IsEnabled_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return (HEAP32[HEAP32[$1 + 12 >> 2] + 4 >> 2] & 4) == 4; +} + +function __cxxabiv1____si_class_type_info_____si_class_type_info_28_29($0) { + $0 = $0 | 0; + operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0)); +} + +function void_20const__20emscripten__internal__getLightTypeID_b2WeldJointDef__28b2WeldJointDef_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 29420; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2RopeJointDef__28b2RopeJointDef_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 29280; +} + +function std____2__allocator_int___destroy_5babi_v160004_5d_28int__29($0, $1) { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + HEAP32[$2 + 12 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; +} + +function int__20std____2____to_address_5babi_v160004_5d_int__28int__29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20bool____get_28_29() { + return 27968; +} + +function b2Shape__GetType_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 4 >> 2]; +} + +function b2Joint__GetType_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 4 >> 2]; +} + +function b2Fixture__GetFilterData_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 32 | 0; +} + +function b2Draw__GetFlags_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 4 >> 2]; +} + +function b2Body__GetFixtureList_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 100 >> 2]; +} + +function std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20unsigned_20int____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2World__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2World____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Shape__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Shape____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Joint__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Joint____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Shape__2c_20float____get_28_29() { + return 27216; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture__2c_20int____get_28_29() { + return 28112; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2EdgeShape_20const_____get_28_29() { + return 27500; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const_____get_28_29() { + return 28092; +} + +function double_20emscripten__internal__asGenericValue_int__28int_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return +HEAP32[$1 + 12 >> 2]; +} + +function b2MouseJoint__GetTarget_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 76 | 0; +} + +function b2Contact__GetTangentSpeed_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAPF32[HEAP32[$1 + 12 >> 2] + 144 >> 2]; +} + +function __cxxabiv1____pointer_type_info_____pointer_type_info_28_29($0) { + $0 = $0 | 0; + operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0)); +} + +function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______begin_lifetime_5babi_v160004_5d_28char__2c_20unsigned_20long_29($0, $1) {} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20b2DrawWrapper____getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__WithPolicies____ArgTypeList_bool_2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World__2c_20bool____get_28_29() { + return 26996; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20float____get_28_29() { + return 28260; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const_____get_28_29() { + return 26544; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_20const_____get_28_29() { + return 27980; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2World_20const_____get_28_29() { + return 27028; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const_____get_28_29() { + return 28516; +} + +function embind_init_b2_28_29__$_6__operator_20b2Shape_20const__20_28__29_28b2FixtureDef__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 714; +} + +function embind_init_b2_28_29__$_10__operator_20void_20_28__29_28b2JointDef__2c_20b2Body__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 718; +} + +function b2Contact__GetRestitution_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAPF32[HEAP32[$1 + 12 >> 2] + 140 >> 2]; +} + +function b2Body__GetWorldCenter_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 44 | 0; +} + +function b2Body__GetLocalCenter_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 28 | 0; +} + +function std____2____unwrap_iter_impl_char__2c_20true_____unwrap_5babi_v160004_5d_28char__29($0) { + return char__20std____2____to_address_5babi_v160004_5d_char__28char__29($0); +} + +function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20unsigned_20int___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 2; +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Draw__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Draw____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2Body__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Body____get_28_29(); +} + +function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_b2AABB__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2AABB____get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2PrismaticJoint_____get_28_29() { + return 29096; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body__2c_20bool____get_28_29() { + return 28400; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const_____get_28_29() { + return 26620; +} + +function embind_init_b2_28_29__$_8__operator_20void_20_28__29_28b2JointDef__2c_20b2Body__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 716; +} + +function b2Vec2__20emscripten__internal__raw_constructor_b2Vec2__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(8); + b2Vec2__b2Vec2_28_29($0); + return $0 | 0; +} + +function b2Shape__b2Shape_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + $0 = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 >> 2] = 27280; + return $0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2FixtureDef__28b2FixtureDef_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 27848; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RevoluteJoint_____get_28_29() { + return 29272; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2DistanceJoint_____get_28_29() { + return 28672; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const_____get_28_29() { + return 28240; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const_____get_28_29() { + return 26628; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2World_20const_____get_28_29() { + return 27008; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Joint_20const_____get_28_29() { + return 28548; +} + +function b2RayCastCallback___b2RayCastCallback_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Fixture__GetShape_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 12 >> 2]; +} + +function b2Contact__GetChildIndexB_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 60 >> 2]; +} + +function b2Contact__GetChildIndexA_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 56 >> 2]; +} + +function b2ContactListener___b2ContactListener_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Body__GetTransform_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 12 | 0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20emscripten__internal__AllowedRawPointer_b2Shape_20const_____get_28_29() { + return 27084; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2Body_20const_____get_28_29() { + return 28412; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20emscripten__internal__AllowedRawPointer_b2AABB_20const_____get_28_29() { + return 26612; +} + +function b2TreeNode__IsLeaf_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 24 >> 2] == -1; +} + +function b2Contact__GetFriction_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAPF32[HEAP32[$1 + 12 >> 2] + 136 >> 2]; +} + +function b2Body__GetType_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function b2Body__GetPosition_28_29_20const($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] + 12 | 0; +} + +function __cxxabiv1____class_type_info_____class_type_info_28_29($0) { + $0 = $0 | 0; + operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0)); +} + +function b2World__IsLocked_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP8[HEAP32[$1 + 12 >> 2] + 102989 | 0] & 1; +} + +function b2Joint__GetBodyB_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 52 >> 2]; +} + +function b2Joint__GetBodyA_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 48 >> 2]; +} + +function b2Fixture__GetBody_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 8 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WheelJoint_____get_28_29() { + return 29676; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MouseJoint_____get_28_29() { + return 28928; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2MotorJoint_____get_28_29() { + return 28800; +} + +function embind_init_b2_28_29__$_0__operator_20void_20_28__29_28b2AABB__2c_20b2AABB__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 708; +} + +function b2Rot__20emscripten__internal__raw_constructor_b2Rot__28_29() { + var $0 = 0; + $0 = operator_20new_28unsigned_20long_29(8); + b2Rot__b2Rot_28_29($0); + return $0 | 0; +} + +function b2Body__GetWorld_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 88 >> 2]; +} + +function __cxxabiv1____enum_type_info_____enum_type_info_28_29($0) { + $0 = $0 | 0; + operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0)); +} + +function void_20const__20emscripten__internal__getLightTypeID_b2JointDef__28b2JointDef_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 26884; +} + +function emscripten__val__as_handle_28_29_20const($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] >> 2]; +} + +function emscripten__internal__noncopyable___noncopyable_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2WeldJoint_____get_28_29() { + return 29528; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2RopeJoint_____get_28_29() { + return 29412; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2World__2c_20b2Vec2______get_28_29() { + return 26760; +} + +function embind_init_b2_28_29__$_2__operator_20void_20_28__29_28b2Shape__2c_20float_29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 710; +} + +function b2QueryCallback___b2QueryCallback_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2ContactFilter___b2ContactFilter_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 0; +} + +function emscripten__internal__noncopyable__noncopyable_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__TypeID_b2RayCastCallbackWrapper_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RayCastCallbackWrapper___get_28_29(); +} + +function emscripten__internal__TypeID_b2ContactListenerWrapper_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2ContactListenerWrapper___get_28_29(); +} + +function void_20const__20emscripten__internal__getLightTypeID_b2Fixture__28b2Fixture_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 27912; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2BodyDef__28b2BodyDef_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 26836; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Fixture_____get_28_29() { + return 28008; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2PrismaticJointDef_____get_28_29() { + return 28980; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2Vec2_20const__2c_20float__2c_20b2Color_20const_____get_28_29() { + return 26496; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20emscripten__internal__AllowedRawPointer_b2Shape_____get_28_29() { + return 27228; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2RevoluteJointDef_____get_28_29() { + return 29148; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2DistanceJointDef_____get_28_29() { + return 28608; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2World_____get_28_29() { + return 26792; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Joint_____get_28_29() { + return 28556; +} + +function embind_init_b2_28_29__$_11__operator_20b2Body__20_28__29_28b2JointDef__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 719; +} + +function b2RayCastCallbackWrapper__20_28_emscripten__base_b2RayCastCallback___getDowncaster_b2RayCastCallbackWrapper__28_29_29_28b2RayCastCallback__29() { + return 475; +} + +function b2ContactListenerWrapper__20_28_emscripten__base_b2ContactListener___getDowncaster_b2ContactListenerWrapper__28_29_29_28b2ContactListener__29() { + return 483; +} + +function legalfunc$_embind_register_bigint($0, $1, $2, $3, $4, $5, $6) { + legalimport$_embind_register_bigint($0 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0, $6 | 0); +} + +function emscripten__internal__TypeID_b2QueryCallbackWrapper_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2QueryCallbackWrapper___get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int__2c_20int__2c_20b2Color_20const_____get_28_29() { + return 26480; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_b2Body_____get_28_29() { + return 28360; +} + +function embind_init_b2_28_29__$_9__operator_20b2Body__20_28__29_28b2JointDef__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 717; +} + +function void_20emscripten__internal__raw_destructor_b2PrismaticJoint__28b2PrismaticJoint__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2World__28b2World_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 26720; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2WheelJointDef_____get_28_29() { + return 29580; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2MouseJointDef_____get_28_29() { + return 28852; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2MotorJointDef_____get_28_29() { + return 28724; +} + +function b2RayCastCallback__20_28_emscripten__base_b2RayCastCallback___getUpcaster_b2RayCastCallbackWrapper__28_29_29_28b2RayCastCallbackWrapper__29() { + return 474; +} + +function b2ContactListener__20_28_emscripten__base_b2ContactListener___getUpcaster_b2ContactListenerWrapper__28_29_29_28b2ContactListenerWrapper__29() { + return 482; +} + +function b2Body__GetContactList_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 112 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2WeldJointDef_____get_28_29() { + return 29464; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2RopeJointDef_____get_28_29() { + return 29324; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2PolygonShape_____get_28_29() { + return 27648; +} + +function b2Contact__GetFixtureB_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 52 >> 2]; +} + +function b2Contact__GetFixtureA_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 48 >> 2]; +} + +function void_20emscripten__internal__raw_destructor_b2RevoluteJoint__28b2RevoluteJoint__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20emscripten__internal__raw_destructor_b2DistanceJoint__28b2DistanceJoint__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2Body__28b2Body_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 26812; +} + +function void_20const__20emscripten__internal__getLightTypeID_b2AABB__28b2AABB_20const__29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 26568; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2CircleShape_____get_28_29() { + return 27268; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2FixtureDef_____get_28_29() { + return 27888; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_b2Vec2_2c_20b2Transform_20const__2c_20b2Vec2_20const_____get_28_29() { + return 24864; +} + +function void_20emscripten__internal__raw_destructor_b2PolygonShape__28b2PolygonShape__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function embind_init_b2_28_29__$_3__operator_20float_20_28__29_28b2Shape__29_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 711; +} + +function std____2__numeric_limits_long___max_5babi_v160004_5d_28_29() { + return std____2____libcpp_numeric_limits_long_2c_20true___max_5babi_v160004_5d_28_29(); +} + +function emscripten__internal__TypeID_b2PrismaticJointDef_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2PrismaticJointDef___get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2JointDef_____get_28_29() { + return 28452; +} + +function b2Contact__GetNext_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 12 >> 2]; +} + +function __stdio_seek($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $2 = __lseek(HEAP32[$0 + 60 >> 2], $1, $2, $3); + return $2 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2CircleShape__28b2CircleShape__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2BodyDef_____get_28_29() { + return 28140; +} + +function b2QueryCallbackWrapper__20_28_emscripten__base_b2QueryCallback___getDowncaster_b2QueryCallbackWrapper__28_29_29_28b2QueryCallback__29() { + return 470; +} + +function b2Fixture__GetNext_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 4 >> 2]; +} + +function b2Contact___b2Contact_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function _GLOBAL__sub_I_bind_cpp() { + HEAP32[7753] = 957; + HEAP32[7754] = 0; + embind_init_builtin_28_29(); + HEAP32[7754] = HEAP32[7752]; + HEAP32[7752] = 31012; +} + +function emscripten__internal__TypeID_b2RevoluteJointDef_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RevoluteJointDef___get_28_29(); +} + +function emscripten__internal__TypeID_b2DistanceJointDef_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2DistanceJointDef___get_28_29(); +} + +function b2Joint__GetNext_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 12 >> 2]; +} + +function void_20emscripten__internal__raw_destructor_b2WheelJoint__28b2WheelJoint__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20emscripten__internal__raw_destructor_b2MouseJoint__28b2MouseJoint__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20emscripten__internal__raw_destructor_b2MotorJoint__28b2MotorJoint__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20emscripten__internal__raw_destructor_b2FixtureDef__28b2FixtureDef__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28_29_29_28_29() { + return 0; +} + +function emscripten__internal__WithPolicies____ArgTypeList_void___getCount_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20int_2c_20float__28_29() { + return 16978; +} + +function b2QueryCallback__20_28_emscripten__base_b2QueryCallback___getUpcaster_b2QueryCallbackWrapper__28_29_29_28b2QueryCallbackWrapper__29() { + return 469; +} + +function b2Body__GetNext_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[HEAP32[$1 + 12 >> 2] + 96 >> 2]; +} + +function emscripten__internal__TypeID_b2RayCastCallback_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RayCastCallback___get_28_29(); +} + +function emscripten__internal__TypeID_b2ContactListener_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2ContactListener___get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_b2AABB_____get_28_29() { + return 26608; +} + +function b2Contact__GetManifold_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2] - -64 | 0; +} + +function void_20emscripten__internal__raw_destructor_b2WeldJoint__28b2WeldJoint__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20emscripten__internal__raw_destructor_b2EdgeShape__28b2EdgeShape__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28_29_29_28_29() { + return 0; +} + +function emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int__2c_20unsigned_20int_____get_28_29() { + return 26076; +} + +function b2Shape___b2Shape_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Joint___b2Joint_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function void_20std____2___IterOps_std____2___ClassicAlgPolicy_____validate_iter_reference_5babi_v160004_5d_std____2__reverse_iterator_b2Vec2_____28_29() {} + +function std____2__allocator_b2Vec2___max_size_5babi_v160004_5d_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 536870911; +} + +function emscripten__wrapper_b2RayCastCallback____wrapper_28_29_1($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + wasm2js_trap(); +} + +function emscripten__internal__TypeID_unsigned_20short_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_unsigned_20short___get_28_29(); +} + +function emscripten__internal__TypeID_b2PrismaticJoint_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2PrismaticJoint___get_28_29(); +} + +function char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float__28_29() { + return 16167; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int_2c_20unsigned_20int____get_28_29() { + return 24948; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20int_2c_20int__28_29() { + return 16535; +} + +function b2Draw___b2Draw_28_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function std____2__allocator_int___max_size_5babi_v160004_5d_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1073741823; +} + +function emscripten__wrapper_b2QueryCallback____wrapper_28_29_1($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + wasm2js_trap(); +} + +function emscripten__internal__TypeID_b2WheelJointDef_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WheelJointDef___get_28_29(); +} + +function emscripten__internal__TypeID_b2Vec2_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Vec2_20const____get_28_29(); +} + +function emscripten__internal__TypeID_b2RevoluteJoint_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RevoluteJoint___get_28_29(); +} + +function emscripten__internal__TypeID_b2RayCastOutput_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RayCastOutput___get_28_29(); +} + +function emscripten__internal__TypeID_b2QueryCallback_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2QueryCallback___get_28_29(); +} + +function emscripten__internal__TypeID_b2MouseJointDef_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MouseJointDef___get_28_29(); +} + +function emscripten__internal__TypeID_b2MotorJointDef_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MotorJointDef___get_28_29(); +} + +function emscripten__internal__TypeID_b2DistanceJoint_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2DistanceJoint___get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20int_2c_20unsigned_20int_2c_20int____get_28_29() { + return 24960; +} + +function void_20std____2___IterOps_std____2___ClassicAlgPolicy_____validate_iter_reference_5babi_v160004_5d_std____2__reverse_iterator_int_____28_29() {} + +function void_20emscripten__internal__raw_destructor_b2BodyDef__28b2BodyDef__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_std____2__vector_int_2c_20std____2__allocator_int____28_29_29_28_29() { + return 0; +} + +function emscripten__internal__TypeID_b2WeldJointDef_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WeldJointDef___get_28_29(); +} + +function emscripten__internal__TypeID_b2RopeJointDef_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RopeJointDef___get_28_29(); +} + +function emscripten__internal__TypeID_b2RayCastInput_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RayCastInput___get_28_29(); +} + +function emscripten__internal__TypeID_b2PolygonShape_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2PolygonShape___get_28_29(); +} + +function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { + return 16808; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_std____2__vector_int_2c_20std____2__allocator_int____28_29_29_28_29() { + return 0; +} + +function emscripten__internal__TypeID_b2Shape__Type_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Shape__Type___get_28_29(); +} + +function emscripten__internal__TypeID_b2DrawWrapper_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2DrawWrapper___get_28_29(); +} + +function emscripten__internal__TypeID_b2CircleShape_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2CircleShape___get_28_29(); +} + +function void_20emscripten__internal__raw_destructor_b2Shape__28b2Shape__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function void_20emscripten__internal__raw_destructor_b2Joint__28b2Joint__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function __emscripten_stdout_seek($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + i64toi32_i32$HIGH_BITS = 0; + return 0; +} + +function emscripten__internal__TypeID_int_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_int_20const____get_28_29(); +} + +function emscripten__internal__TypeID_b2WheelJoint_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WheelJoint___get_28_29(); +} + +function emscripten__internal__TypeID_b2MouseJoint_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MouseJoint___get_28_29(); +} + +function emscripten__internal__TypeID_b2MotorJoint_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MotorJoint___get_28_29(); +} + +function emscripten__internal__TypeID_b2FixtureDef_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2FixtureDef___get_28_29(); +} + +function void_20emscripten__internal__raw_destructor_b2Body__28b2Body__29($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function strdup($0) { + var $1 = 0, $2 = 0; + $1 = strlen($0) + 1 | 0; + $2 = dlmalloc($1); + if (!$2) { + return 0; + } + return __memcpy($2, $0, $1); +} + +function emscripten__internal__TypeID_b2WeldJoint_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2WeldJoint___get_28_29(); +} + +function emscripten__internal__TypeID_b2Transform_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Transform___get_28_29(); +} + +function emscripten__internal__TypeID_b2RopeJoint_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2RopeJoint___get_28_29(); +} + +function emscripten__internal__TypeID_b2JointType_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2JointType___get_28_29(); +} + +function emscripten__internal__TypeID_b2EdgeShape_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2EdgeShape___get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int_2c_20float____get_28_29() { + return 24912; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2RayCastCallbackWrapper_____get_28_29() { + return 25684; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2ContactListenerWrapper_____get_28_29() { + return 25956; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20int__28_29() { + return 16528; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int_2c_20int__28_29() { + return 16771; +} + +function emscripten__wrapper_b2Draw____wrapper_28_29_1($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + wasm2js_trap(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int_2c_20bool____get_28_29() { + return 24892; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20int_2c_20unsigned_20int____get_28_29() { + return 24940; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20unsigned_20int_2c_20int____get_28_29() { + return 24816; +} + +function b2RayCastCallback___b2RayCastCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + wasm2js_trap(); +} + +function b2PrismaticJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2PrismaticJointDef__28_29_29_28b2JointDef__29() { + return 639; +} + +function emscripten__internal__TypeID_b2MassData_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2MassData___get_28_29(); +} + +function emscripten__internal__TypeID_b2JointDef_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2JointDef___get_28_29(); +} + +function emscripten__internal__TypeID_b2BodyType_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2BodyType___get_28_29(); +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2QueryCallbackWrapper_____get_28_29() { + return 25432; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { + return 16521; +} + +function std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29_20const($0) { + return $0; +} + +function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { + return 17070; +} + +function b2RevoluteJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2RevoluteJointDef__28_29_29_28b2JointDef__29() { + return 652; +} + +function b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2PrismaticJointDef__28_29_29_28b2PrismaticJointDef__29() { + return 638; +} + +function b2DistanceJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2DistanceJointDef__28_29_29_28b2JointDef__29() { + return 610; +} + +function __wasm_i64_udiv($0, $1, $2, $3) { + $3 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E($0, $1, $2, $3); + return $3; +} + +function emscripten__internal__TypeID_b2Fixture_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Fixture___get_28_29(); +} + +function emscripten__internal__TypeID_b2BodyDef_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2BodyDef___get_28_29(); +} + +function emscripten__internal__LightTypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const____get_28_29() { + return 25144; +} + +function b2Timer__b2Timer_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Color__b2Color_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2Transform_20const_____get_28_29() { + return 26560; +} + +function emscripten__base_b2RayCastCallback___get_28_29() { + return emscripten__internal__TypeID_b2RayCastCallback_2c_20void___get_28_29(); +} + +function emscripten__base_b2ContactListener___get_28_29() { + return emscripten__internal__TypeID_b2ContactListener_2c_20void___get_28_29(); +} + +function b2QueryCallback___b2QueryCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + wasm2js_trap(); +} + +function b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2RevoluteJointDef__28_29_29_28b2RevoluteJointDef__29() { + return 651; +} + +function b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2DistanceJointDef__28_29_29_28b2DistanceJointDef__29() { + return 609; +} + +function b2Body___b2Body_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function emscripten__internal__TypeID_b2Filter_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Filter___get_28_29(); +} + +function b2Vec3__b2Vec3_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function b2Vec2__b2Vec2_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29() { + return 15382; +} + +function __wasm_rotl_i32($0, $1) { + var $2 = 0; + $2 = $1 & 31; + $1 = 0 - $1 & 31; + return (-1 >>> $2 & $0) << $2 | (-1 << $1 & $0) >>> $1; +} +function emscripten__internal__TypeID_b2World_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2World___get_28_29(); +} + +function emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Shape___get_28_29(); +} + +function emscripten__internal__TypeID_b2Joint_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Joint___get_28_29(); +} + +function emscripten__internal__TypeID_b2Color_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Color___get_28_29(); +} + +function b2Rot__b2Rot_28_29($0) { + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAP32[$1 + 12 >> 2] = $0; + return HEAP32[$1 + 12 >> 2]; +} + +function legalfunc$__wasi_fd_seek($0, $1, $2, $3, $4) { + return legalimport$__wasi_fd_seek($0 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0) | 0; +} + +function emscripten__base_b2QueryCallback___get_28_29() { + return emscripten__internal__TypeID_b2QueryCallback_2c_20void___get_28_29(); +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29() { + return 16830; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int__28_29() { + return 17105; +} + +function b2WheelJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2WheelJointDef__28_29_29_28b2JointDef__29() { + return 685; +} + +function b2PolygonShape__GetChildCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function b2MouseJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2MouseJointDef__28_29_29_28b2JointDef__29() { + return 629; +} + +function b2MotorJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2MotorJointDef__28_29_29_28b2JointDef__29() { + return 619; +} + +function __wasm_i64_mul($0, $1, $2, $3) { + $3 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0, $1, $2, $3); + return $3; +} + +function emscripten__internal__TypeID_b2Vec2_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Vec2___get_28_29(); +} + +function emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Draw___get_28_29(); +} + +function emscripten__internal__TypeID_b2Body_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Body___get_28_29(); +} + +function emscripten__internal__TypeID_b2AABB_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2AABB___get_28_29(); +} + +function emscripten__internal__LightTypeID_std____2__vector_int_2c_20std____2__allocator_int___20const____get_28_29() { + return 25024; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int_____get_28_29() { + return 26068; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20unsigned_20int____get_28_29() { + return 24924; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20unsigned_20int_____get_28_29() { + return 25512; +} + +function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20float__28_29() { + return 17099; +} + +function b2CircleShape__GetChildCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29($0) { + return $0; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20unsigned_20int____get_28_29() { + return 24932; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20b2DrawWrapper_____get_28_29() { + return 26364; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20unsigned_20int____get_28_29() { + return 24904; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { + return 15585; +} + +function b2WeldJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2WeldJointDef__28_29_29_28b2JointDef__29() { + return 676; +} + +function b2RopeJointDef__20_28_emscripten__base_b2JointDef___getDowncaster_b2RopeJointDef__28_29_29_28b2JointDef__29() { + return 665; +} + +function b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2WheelJointDef__28_29_29_28b2WheelJointDef__29() { + return 684; +} + +function b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2MouseJointDef__28_29_29_28b2MouseJointDef__29() { + return 628; +} + +function b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2MotorJointDef__28_29_29_28b2MotorJointDef__29() { + return 618; +} + +function emscripten__internal__TypeID_short_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_short___get_28_29(); +} + +function emscripten__internal__TypeID_float_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_float___get_28_29(); +} + +function emscripten__internal__TypeID_b2Rot_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_b2Rot___get_28_29(); +} + +function emscripten__internal__LightTypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______get_28_29() { + return 25128; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20unsigned_20int____get_28_29() { + return 24976; +} + +function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { + return 15610; +} + +function b2EdgeShape__GetChildCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return 1; +} + +function __cxxabiv1____shim_type_info_____shim_type_info_28_29($0) { + $0 = $0 | 0; + return std__type_info___type_info_28_29($0) | 0; +} + +function emscripten__internal__LightTypeID_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____get_28_29() { + return 25120; +} + +function b2PrismaticJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2PrismaticJoint__28_29_29_28b2Joint__29() { + return 642; +} + +function b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2WeldJointDef__28_29_29_28b2WeldJointDef__29() { + return 675; +} + +function b2JointDef__20_28_emscripten__base_b2JointDef___getUpcaster_b2RopeJointDef__28_29_29_28b2RopeJointDef__29() { + return 664; +} + +function emscripten__internal__TypeID_bool_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_bool___get_28_29(); +} + +function b2Timer__GetMilliseconds_28_29_20const($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + return Math_fround(0); +} + +function b2RevoluteJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2RevoluteJoint__28_29_29_28b2Joint__29() { + return 655; +} + +function b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2PrismaticJoint__28_29_29_28b2PrismaticJoint__29() { + return 641; +} + +function b2DistanceJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2DistanceJoint__28_29_29_28b2Joint__29() { + return 613; +} + +function char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int_2c_20float__28_29() { + return 17155; +} + +function b2PolygonShape__20_28_emscripten__base_b2Shape___getDowncaster_b2PolygonShape__28_29_29_28b2Shape__29() { + return 546; +} + +function b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2RevoluteJoint__28_29_29_28b2RevoluteJoint__29() { + return 654; +} + +function b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2DistanceJoint__28_29_29_28b2DistanceJoint__29() { + return 612; +} + +function b2Contact___b2Contact_28_29_1($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + wasm2js_trap(); +} + +function emscripten__internal__LightTypeID_std____2__vector_int_2c_20std____2__allocator_int______get_28_29() { + return 25008; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() { + return 15424; +} + +function void_20emscripten__internal__NoBaseClass__verify_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28_29() {} + +function emscripten__base_b2JointDef___get_28_29() { + return emscripten__internal__TypeID_b2JointDef_2c_20void___get_28_29(); +} + +function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float__28_29() { + return 17150; +} + +function char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int_2c_20int__28_29() { + return 15367; +} + +function b2Shape__20_28_emscripten__base_b2Shape___getUpcaster_b2PolygonShape__28_29_29_28b2PolygonShape__29() { + return 545; +} + +function b2CircleShape__20_28_emscripten__base_b2Shape___getDowncaster_b2CircleShape__28_29_29_28b2Shape__29() { + return 529; +} + +function emscripten__internal__LightTypeID_std____2__vector_int_2c_20std____2__allocator_int_____get_28_29() { + return 25e3; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() { + return 15415; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_unsigned_20int____get_28_29() { + return 24972; +} + +function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() { + return 15410; +} + +function b2WheelJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2WheelJoint__28_29_29_28b2Joint__29() { + return 688; +} + +function b2Shape___b2Shape_28_29_1($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + wasm2js_trap(); +} + +function b2Shape__20_28_emscripten__base_b2Shape___getUpcaster_b2CircleShape__28_29_29_28b2CircleShape__29() { + return 528; +} + +function b2MouseJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2MouseJoint__28_29_29_28b2Joint__29() { + return 632; +} + +function b2MotorJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2MotorJoint__28_29_29_28b2Joint__29() { + return 622; +} + +function b2Joint___b2Joint_28_29_1($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + wasm2js_trap(); +} + +function b2DrawWrapper__20_28_emscripten__base_b2Draw___getDowncaster_b2DrawWrapper__28_29_29_28b2Draw__29() { + return 494; +} + +function b2WeldJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2WeldJoint__28_29_29_28b2Joint__29() { + return 679; +} + +function b2RopeJoint__20_28_emscripten__base_b2Joint___getDowncaster_b2RopeJoint__28_29_29_28b2Joint__29() { + return 668; +} + +function b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2WheelJoint__28_29_29_28b2WheelJoint__29() { + return 687; +} + +function b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2MouseJoint__28_29_29_28b2MouseJoint__29() { + return 631; +} + +function b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2MotorJoint__28_29_29_28b2MotorJoint__29() { + return 621; +} + +function b2EdgeShape__20_28_emscripten__base_b2Shape___getDowncaster_b2EdgeShape__28_29_29_28b2Shape__29() { + return 538; +} + +function b2Draw___b2Draw_28_29_1($0) { + $0 = $0 | 0; + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; + wasm2js_trap(); +} + +function b2Draw__20_28_emscripten__base_b2Draw___getUpcaster_b2DrawWrapper__28_29_29_28b2DrawWrapper__29() { + return 493; +} + +function void_20emscripten__internal__NoBaseClass__verify_std____2__vector_int_2c_20std____2__allocator_int____28_29() {} + +function emscripten__base_b2Shape___get_28_29() { + return emscripten__internal__TypeID_b2Shape_2c_20void___get_28_29(); +} + +function emscripten__base_b2Joint___get_28_29() { + return emscripten__internal__TypeID_b2Joint_2c_20void___get_28_29(); +} + +function b2Shape__20_28_emscripten__base_b2Shape___getUpcaster_b2EdgeShape__28_29_29_28b2EdgeShape__29() { + return 537; +} + +function b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2WeldJoint__28_29_29_28b2WeldJoint__29() { + return 678; +} + +function b2Joint__20_28_emscripten__base_b2Joint___getUpcaster_b2RopeJoint__28_29_29_28b2RopeJoint__29() { + return 667; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2RayCastCallback__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2ContactListener__28_29_29_28_29() { + return 0; +} + +function std____2__char_traits_char___assign_28char__2c_20char_20const__29($0, $1) { + HEAP8[$0 | 0] = HEAPU8[$1 | 0]; +} + +function emscripten__base_b2Draw___get_28_29() { + return emscripten__internal__TypeID_b2Draw_2c_20void___get_28_29(); +} + +function char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() { + return 15429; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2RayCastCallback__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2ContactListener__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2QueryCallback__28_29_29_28_29() { + return 0; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() { + return 15433; +} + +function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() { + return 15420; +} + +function __cxx_global_var_init_2() { + b2Vec2__b2Vec2_28float_2c_20float_29(30760, Math_fround(0), Math_fround(0)); +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2QueryCallback__28_29_29_28_29() { + return 0; +} + +function std____2____libcpp_numeric_limits_unsigned_20long_2c_20true___max_5babi_v160004_5d_28_29() { + return -1; +} + +function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void____get_28_29() { + return 25508; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2FixtureDef__28_29_29_28_29() { + return 0; +} + +function stackAlloc($0) { + $0 = $0 | 0; + $0 = __stack_pointer - $0 & -16; + __stack_pointer = $0; + return $0 | 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2FixtureDef__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2JointDef__28_29_29_28_29() { + return 0; +} + +function std____2____libcpp_numeric_limits_long_2c_20true___max_5babi_v160004_5d_28_29() { + return 2147483647; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2Fixture__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2BodyDef__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2JointDef__28_29_29_28_29() { + return 0; +} + +function _GLOBAL__sub_I_b2_contact_manager_cpp() { + __cxx_global_var_init_3(); + __cxx_global_var_init_1_1(); +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2Fixture__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2BodyDef__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2World__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2Shape__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2Joint__28_29_29_28_29() { + return 0; +} + +function emscripten__internal__LightTypeID_b2RayCastCallbackWrapper_20const____get_28_29() { + return 25668; +} + +function emscripten__internal__LightTypeID_b2ContactListenerWrapper_20const____get_28_29() { + return 25940; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2Draw__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2Body__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_b2AABB__28_29_29_28_29() { + return 0; +} + +function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() { + return 15582; +} + +function __stdio_close($0) { + $0 = $0 | 0; + return __wasi_fd_close(dummy_1(HEAP32[$0 + 60 >> 2]) | 0) | 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2World__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2Shape__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2Joint__28_29_29_28_29() { + return 0; +} + +function emscripten__internal__LightTypeID_b2QueryCallbackWrapper_20const____get_28_29() { + return 25416; +} + +function dynCall_jiji($0, $1, $2, $3, $4) { + $3 = FUNCTION_TABLE[$0 | 0]($1, $2, $3, $4) | 0; + return $3; +} + +function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() { + return 15437; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2Draw__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2Body__28_29_29_28_29() { + return 0; +} + +function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_b2AABB__28_29_29_28_29() { + return 0; +} + +function emscripten__internal__LightTypeID_b2PrismaticJointDef_20const____get_28_29() { + return 28964; +} + +function emscripten__internal__LightTypeID_b2RevoluteJointDef_20const____get_28_29() { + return 29132; +} + +function emscripten__internal__LightTypeID_b2DistanceJointDef_20const____get_28_29() { + return 28592; +} + +function emscripten__internal__LightTypeID_b2RayCastCallback_20const____get_28_29() { + return 25564; +} + +function emscripten__internal__LightTypeID_b2ContactListener_20const____get_28_29() { + return 25804; +} + +function update_offset_to_base_28char_20const__2c_20long_29($0, $1) { + return HEAP32[$0 + $1 >> 2]; +} + +function strchr($0, $1) { + $0 = __strchrnul($0, $1); + return HEAPU8[$0 | 0] == ($1 & 255) ? $0 : 0; +} + +function emscripten__internal__LightTypeID_b2RayCastCallbackWrapper____get_28_29() { + return 25652; +} + +function emscripten__internal__LightTypeID_b2ContactListenerWrapper____get_28_29() { + return 25912; +} + +function std____2__pointer_traits_char____pointer_to_5babi_v160004_5d_28char__29($0) { + return $0; +} + +function emscripten__internal__LightTypeID_b2WheelJointDef_20const____get_28_29() { + return 29564; +} + +function emscripten__internal__LightTypeID_b2RevoluteJoint_20const____get_28_29() { + return 29168; +} + +function emscripten__internal__LightTypeID_b2RayCastCallbackWrapper___get_28_29() { + return 25640; +} + +function emscripten__internal__LightTypeID_b2QueryCallback_20const____get_28_29() { + return 25320; +} + +function emscripten__internal__LightTypeID_b2PrismaticJoint_20const____get_28_29() { + return 29e3; +} + +function emscripten__internal__LightTypeID_b2MouseJointDef_20const____get_28_29() { + return 28836; +} + +function emscripten__internal__LightTypeID_b2MotorJointDef_20const____get_28_29() { + return 28708; +} + +function emscripten__internal__LightTypeID_b2DistanceJoint_20const____get_28_29() { + return 28628; +} + +function emscripten__internal__LightTypeID_b2ContactListenerWrapper___get_28_29() { + return 25888; +} + +function __wasm_ctz_i32($0) { + if ($0) { + return 31 - Math_clz32($0 - 1 ^ $0) | 0; + } + return 32; +} + +function emscripten__internal__LightTypeID_b2WeldJointDef_20const____get_28_29() { + return 29448; +} + +function emscripten__internal__LightTypeID_b2RopeJointDef_20const____get_28_29() { + return 29308; +} + +function emscripten__internal__LightTypeID_b2QueryCallbackWrapper____get_28_29() { + return 25400; +} + +function emscripten__internal__LightTypeID_b2PolygonShape_20const____get_28_29() { + return 27632; +} + +function char_20const__20emscripten__internal__getGenericSignature_void__28_29() { + return 15580; +} + +function _embind_register_bindings($0) { + HEAP32[$0 + 4 >> 2] = HEAP32[7752]; + HEAP32[7752] = $0; +} + +function std____throw_bad_array_new_length_5babi_v160004_5d_28_29() { + abort(); + wasm2js_trap(); +} + +function emscripten__internal__LightTypeID_b2QueryCallbackWrapper___get_28_29() { + return 25388; +} + +function emscripten__internal__LightTypeID_b2DrawWrapper_20const____get_28_29() { + return 26348; +} + +function emscripten__internal__LightTypeID_b2CircleShape_20const____get_28_29() { + return 27252; +} + +function char_20const__20emscripten__internal__getGenericSignature_int__28_29() { + return 15616; +} + +function strnlen($0, $1) { + var $2 = 0; + $2 = memchr($0, 0, $1); + return $2 ? $2 - $0 | 0 : $1; +} + +function std__type_info__name_5babi_v160004_5d_28_29_20const($0) { + return HEAP32[$0 + 4 >> 2]; +} + +function emscripten__internal__LightTypeID_b2WheelJoint_20const____get_28_29() { + return 29600; +} + +function emscripten__internal__LightTypeID_b2MouseJoint_20const____get_28_29() { + return 28872; +} + +function emscripten__internal__LightTypeID_b2MotorJoint_20const____get_28_29() { + return 28744; +} + +function emscripten__internal__LightTypeID_b2FixtureDef_20const____get_28_29() { + return 27872; +} + +function void_20emscripten__base_b2RayCastCallback___verify_b2RayCastCallbackWrapper__28_29() {} + +function void_20emscripten__base_b2ContactListener___verify_b2ContactListenerWrapper__28_29() {} + +function emscripten__internal__LightTypeID_b2WeldJoint_20const____get_28_29() { + return 29484; +} + +function emscripten__internal__LightTypeID_b2RopeJoint_20const____get_28_29() { + return 29344; +} + +function emscripten__internal__LightTypeID_b2PrismaticJointDef____get_28_29() { + return 28948; +} + +function emscripten__internal__LightTypeID_b2EdgeShape_20const____get_28_29() { + return 27472; +} + +function emscripten__internal__LightTypeID_b2RevoluteJointDef____get_28_29() { + return 29116; +} + +function emscripten__internal__LightTypeID_b2PrismaticJointDef___get_28_29() { + return 28936; +} + +function emscripten__internal__LightTypeID_b2JointDef_20const____get_28_29() { + return 26892; +} + +function emscripten__internal__LightTypeID_b2DistanceJointDef____get_28_29() { + return 28576; +} + +function emscripten__internal__LightTypeID_b2RevoluteJointDef___get_28_29() { + return 29104; +} + +function emscripten__internal__LightTypeID_b2RayCastCallback____get_28_29() { + return 25548; +} + +function emscripten__internal__LightTypeID_b2Fixture_20const____get_28_29() { + return 27936; +} + +function emscripten__internal__LightTypeID_b2DistanceJointDef___get_28_29() { + return 28564; +} + +function emscripten__internal__LightTypeID_b2ContactListener____get_28_29() { + return 25788; +} + +function emscripten__internal__LightTypeID_b2BodyDef_20const____get_28_29() { + return 26844; +} + +function emscripten__internal__LightTypeID_b2RayCastCallback___get_28_29() { + return 25540; +} + +function emscripten__internal__LightTypeID_b2PrismaticJoint____get_28_29() { + return 28984; +} + +function emscripten__internal__LightTypeID_b2ContactListener___get_28_29() { + return 25780; +} + +function char__20std____2____to_address_5babi_v160004_5d_char__28char__29($0) { + return $0; +} + +function void_20emscripten__base_b2QueryCallback___verify_b2QueryCallbackWrapper__28_29() {} + +function emscripten__internal__LightTypeID_unsigned_20short___get_28_29() { + return 24360; +} + +function emscripten__internal__LightTypeID_b2World_20const____get_28_29() { + return 26744; +} + +function emscripten__internal__LightTypeID_b2WheelJointDef____get_28_29() { + return 29548; +} + +function emscripten__internal__LightTypeID_b2Shape_20const____get_28_29() { + return 27060; +} + +function emscripten__internal__LightTypeID_b2RevoluteJoint____get_28_29() { + return 29152; +} + +function emscripten__internal__LightTypeID_b2QueryCallback____get_28_29() { + return 25304; +} + +function emscripten__internal__LightTypeID_b2PrismaticJoint___get_28_29() { + return 19252; +} + +function emscripten__internal__LightTypeID_b2MouseJointDef____get_28_29() { + return 28820; +} + +function emscripten__internal__LightTypeID_b2MotorJointDef____get_28_29() { + return 28692; +} + +function emscripten__internal__LightTypeID_b2Joint_20const____get_28_29() { + return 28484; +} + +function emscripten__internal__LightTypeID_b2DistanceJoint____get_28_29() { + return 28612; +} + +function emscripten__internal__LightTypeID_b2WheelJointDef___get_28_29() { + return 29536; +} + +function emscripten__internal__LightTypeID_b2WeldJointDef____get_28_29() { + return 29432; +} + +function emscripten__internal__LightTypeID_b2Vec2_20const____get_28_29() { + return 24876; +} + +function emscripten__internal__LightTypeID_b2RopeJointDef____get_28_29() { + return 29292; +} + +function emscripten__internal__LightTypeID_b2RevoluteJoint___get_28_29() { + return 19424; +} + +function emscripten__internal__LightTypeID_b2RayCastOutput___get_28_29() { + return 25272; +} + +function emscripten__internal__LightTypeID_b2QueryCallback___get_28_29() { + return 25296; +} + +function emscripten__internal__LightTypeID_b2PolygonShape____get_28_29() { + return 27616; +} + +function emscripten__internal__LightTypeID_b2MouseJointDef___get_28_29() { + return 28808; +} + +function emscripten__internal__LightTypeID_b2MotorJointDef___get_28_29() { + return 28680; +} + +function emscripten__internal__LightTypeID_b2Draw_20const____get_28_29() { + return 26112; +} + +function emscripten__internal__LightTypeID_b2DistanceJoint___get_28_29() { + return 18516; +} + +function emscripten__internal__LightTypeID_b2Body_20const____get_28_29() { + return 28144; +} + +function emscripten__internal__LightTypeID_b2AABB_20const____get_28_29() { + return 26592; +} + +function emscripten__internal__LightTypeID_b2WeldJointDef___get_28_29() { + return 29420; +} + +function emscripten__internal__LightTypeID_b2RopeJointDef___get_28_29() { + return 29280; +} + +function emscripten__internal__LightTypeID_b2RayCastInput___get_28_29() { + return 25264; +} + +function emscripten__internal__LightTypeID_b2PolygonShape___get_28_29() { + return 18116; +} + +function emscripten__internal__LightTypeID_b2DrawWrapper____get_28_29() { + return 26332; +} + +function emscripten__internal__LightTypeID_b2CircleShape____get_28_29() { + return 27236; +} + +function emscripten__internal__LightTypeID_b2WheelJoint____get_28_29() { + return 29584; +} + +function emscripten__internal__LightTypeID_b2Shape__Type___get_28_29() { + return 24984; +} + +function emscripten__internal__LightTypeID_b2MouseJoint____get_28_29() { + return 28856; +} + +function emscripten__internal__LightTypeID_b2MotorJoint____get_28_29() { + return 28728; +} + +function emscripten__internal__LightTypeID_b2FixtureDef____get_28_29() { + return 27856; +} + +function emscripten__internal__LightTypeID_b2DrawWrapper___get_28_29() { + return 26320; +} + +function emscripten__internal__LightTypeID_b2CircleShape___get_28_29() { + return 17976; +} + +function b2Timer__Reset_28_29($0) { + HEAP32[(__stack_pointer - 16 | 0) + 12 >> 2] = $0; +} + +function emscripten__internal__LightTypeID_int_20const____get_28_29() { + return 24372; +} + +function emscripten__internal__LightTypeID_b2WheelJoint___get_28_29() { + return 19676; +} + +function emscripten__internal__LightTypeID_b2WeldJoint____get_28_29() { + return 29468; +} + +function emscripten__internal__LightTypeID_b2RopeJoint____get_28_29() { + return 29328; +} + +function emscripten__internal__LightTypeID_b2MouseJoint___get_28_29() { + return 19052; +} + +function emscripten__internal__LightTypeID_b2MotorJoint___get_28_29() { + return 18968; +} + +function emscripten__internal__LightTypeID_b2FixtureDef___get_28_29() { + return 27848; +} + +function emscripten__internal__LightTypeID_b2EdgeShape____get_28_29() { + return 27456; +} + +function void_20emscripten__internal__NoBaseClass__verify_b2RayCastCallback__28_29() {} + +function void_20emscripten__internal__NoBaseClass__verify_b2ContactListener__28_29() {} + +function out($0, $1, $2) { + if (!(HEAPU8[$0 | 0] & 32)) { + __fwritex($1, $2, $0); + } +} + +function emscripten__internal__LightTypeID_b2WeldJoint___get_28_29() { + return 19592; +} + +function emscripten__internal__LightTypeID_b2Transform___get_28_29() { + return 24884; +} + +function emscripten__internal__LightTypeID_b2RopeJoint___get_28_29() { + return 19508; +} + +function emscripten__internal__LightTypeID_b2JointType___get_28_29() { + return 28456; +} + +function emscripten__internal__LightTypeID_b2JointDef____get_28_29() { + return 28436; +} + +function emscripten__internal__LightTypeID_b2EdgeShape___get_28_29() { + return 18044; +} + +function emscripten__internal__LightTypeID_b2MassData___get_28_29() { + return 25280; +} + +function emscripten__internal__LightTypeID_b2JointDef___get_28_29() { + return 26884; +} + +function emscripten__internal__LightTypeID_b2Fixture____get_28_29() { + return 27920; +} + +function emscripten__internal__LightTypeID_b2BodyType___get_28_29() { + return 24992; +} + +function emscripten__internal__LightTypeID_b2BodyDef____get_28_29() { + return 28124; +} + +function void_20emscripten__internal__NoBaseClass__verify_b2QueryCallback__28_29() {} + +function emscripten__internal__LightTypeID_b2Fixture___get_28_29() { + return 27912; +} + +function emscripten__internal__LightTypeID_b2BodyDef___get_28_29() { + return 26836; +} + +function __getTypeName($0) { + $0 = $0 | 0; + return strdup(HEAP32[$0 + 4 >> 2]) | 0; +} + +function void_20emscripten__base_b2JointDef___verify_b2PrismaticJointDef__28_29() {} + +function vfprintf($0, $1, $2) { + return __vfprintf_internal($0, $1, $2, 962, 963); +} + +function emscripten__internal__LightTypeID_b2World____get_28_29() { + return 26728; +} + +function emscripten__internal__LightTypeID_b2Shape____get_28_29() { + return 27044; +} + +function emscripten__internal__LightTypeID_b2Joint____get_28_29() { + return 24848; +} + +function emscripten__internal__LightTypeID_b2Filter___get_28_29() { + return 25288; +} + +function void_20emscripten__base_b2JointDef___verify_b2RevoluteJointDef__28_29() {} + +function void_20emscripten__base_b2JointDef___verify_b2DistanceJointDef__28_29() {} + +function emscripten__internal__LightTypeID_b2World___get_28_29() { + return 26720; +} + +function emscripten__internal__LightTypeID_b2Shape___get_28_29() { + return 27036; +} + +function emscripten__internal__LightTypeID_b2Joint___get_28_29() { + return 18888; +} + +function emscripten__internal__LightTypeID_b2Draw____get_28_29() { + return 26096; +} + +function emscripten__internal__LightTypeID_b2Color___get_28_29() { + return 25256; +} + +function emscripten__internal__LightTypeID_b2Body____get_28_29() { + return 26820; +} + +function emscripten__internal__LightTypeID_b2AABB____get_28_29() { + return 26576; +} + +function wctomb($0, $1) { + if (!$0) { + return 0; + } + return wcrtomb($0, $1, 0); +} + +function void_20emscripten__internal__NoBaseClass__verify_b2FixtureDef__28_29() {} + +function emscripten__internal__LightTypeID_b2Vec2___get_28_29() { + return 24876; +} + +function emscripten__internal__LightTypeID_b2Draw___get_28_29() { + return 26088; +} + +function emscripten__internal__LightTypeID_b2Body___get_28_29() { + return 26812; +} + +function emscripten__internal__LightTypeID_b2AABB___get_28_29() { + return 26568; +} + +function emscripten__internal__LightTypeID_short___get_28_29() { + return 24348; +} + +function emscripten__internal__LightTypeID_float___get_28_29() { + return 24444; +} + +function emscripten__internal__LightTypeID_b2Rot___get_28_29() { + return 25248; +} + +function void_20emscripten__internal__NoBaseClass__verify_b2JointDef__28_29() {} + +function void_20emscripten__base_b2JointDef___verify_b2WheelJointDef__28_29() {} + +function void_20emscripten__base_b2JointDef___verify_b2MouseJointDef__28_29() {} + +function void_20emscripten__base_b2JointDef___verify_b2MotorJointDef__28_29() {} + +function emscripten__internal__LightTypeID_bool___get_28_29() { + return 24300; +} + +function __cxxabiv1____shim_type_info__noop2_28_29_20const($0) { + $0 = $0 | 0; +} + +function __cxxabiv1____shim_type_info__noop1_28_29_20const($0) { + $0 = $0 | 0; +} + +function __cxx_global_var_init() { + EmBindInit_b2__EmBindInit_b2_28_29(30016); +} + +function _GLOBAL__sub_I_b2_block_allocator_cpp() { + __cxx_global_var_init_1(); +} + +function void_20emscripten__internal__NoBaseClass__verify_b2Fixture__28_29() {} + +function void_20emscripten__internal__NoBaseClass__verify_b2BodyDef__28_29() {} + +function void_20emscripten__base_b2JointDef___verify_b2WeldJointDef__28_29() {} + +function void_20emscripten__base_b2JointDef___verify_b2RopeJointDef__28_29() {} + +function void_20emscripten__base_b2Joint___verify_b2PrismaticJoint__28_29() {} + +function void_20emscripten__internal__NoBaseClass__verify_b2World__28_29() {} + +function void_20emscripten__internal__NoBaseClass__verify_b2Shape__28_29() {} + +function void_20emscripten__internal__NoBaseClass__verify_b2Joint__28_29() {} + +function void_20emscripten__base_b2Joint___verify_b2RevoluteJoint__28_29() {} + +function void_20emscripten__base_b2Joint___verify_b2DistanceJoint__28_29() {} + +function void_20emscripten__internal__NoBaseClass__verify_b2Draw__28_29() {} + +function void_20emscripten__internal__NoBaseClass__verify_b2Body__28_29() {} + +function void_20emscripten__internal__NoBaseClass__verify_b2AABB__28_29() {} + +function void_20emscripten__base_b2Shape___verify_b2PolygonShape__28_29() {} + +function __cxa_pure_virtual() { + abort_message(12542, 0); + wasm2js_trap(); +} + +function _GLOBAL__sub_I_Box2DWebBindings_cpp() { + __cxx_global_var_init(); +} + +function void_20emscripten__base_b2Shape___verify_b2CircleShape__28_29() {} + +function emscripten_get_heap_size() { + return __wasm_memory_size() << 16; +} + +function void_20emscripten__base_b2Joint___verify_b2WheelJoint__28_29() {} + +function void_20emscripten__base_b2Joint___verify_b2MouseJoint__28_29() {} + +function void_20emscripten__base_b2Joint___verify_b2MotorJoint__28_29() {} + +function void_20emscripten__base_b2Draw___verify_b2DrawWrapper__28_29() {} + +function b2CloseDump_28_29() { + fclose(HEAP32[7692]); + HEAP32[7692] = 0; +} + +function __cxx_global_var_init_1() { + b2SizeMap__b2SizeMap_28_29(30116); +} + +function void_20emscripten__base_b2Shape___verify_b2EdgeShape__28_29() {} + +function void_20emscripten__base_b2Joint___verify_b2WeldJoint__28_29() {} + +function void_20emscripten__base_b2Joint___verify_b2RopeJoint__28_29() {} + +function emscripten__internal__NoBaseClass__get_28_29() { + return 0; +} + +function __cxx_global_var_init_1_1() { + __cxa_atexit(817, 0, 1024); +} + +function _GLOBAL__sub_I_b2_math_cpp() { + __cxx_global_var_init_2(); +} + +function __emscripten_stdout_close($0) { + $0 = $0 | 0; + return 0; +} + +function __cxx_global_var_init_3() { + __cxa_atexit(816, 0, 1024); +} + +function stackRestore($0) { + $0 = $0 | 0; + __stack_pointer = $0; +} + +function vprintf($0, $1) { + return vfprintf(29712, $0, $1); +} + +function std__type_info___type_info_28_29($0) { + return $0; +} + +function abort_message($0, $1) { + abort(); + wasm2js_trap(); +} + +function operator_20delete_28void__29($0) { + dlfree($0); +} + +function __ofl_lock() { + __lock(31080); + return 31084; +} + +function stackSave() { + return __stack_pointer | 0; +} + +function isdigit($0) { + return $0 - 48 >>> 0 < 10; +} + +function getpid() { + return __syscall_getpid(); +} + +function __cxa_atexit($0, $1, $2) { + return 0; +} + +function floor($0) { + return Math_floor($0); +} + +function __errno_location() { + return 31020; +} + +function __ofl_unlock() { + __unlock(31080); +} + +function __syscall_getpid() { + return 42; +} + +function __lockfile($0) { + return 1; +} + +function __get_tp() { + return 32120; +} + +function dummy_1($0) { + return $0; +} + +function __unlockfile($0) {} + +function setTempRet0($0) {} + +function __unlock($0) {} + +function __lock($0) {} + +function dummy($0) {} + + +// EMSCRIPTEN_END_FUNCS + +; + bufferView = HEAPU8; + initActiveSegments(imports); + var FUNCTION_TABLE = Table([null, embind_init_b2_28_29, GetFloat32_28unsigned_20int_2c_20int_29, SetLinearFrequencyAndDampingRatio_28b2Joint__2c_20float_2c_20float_29, TransformVector2_28b2Transform_20const__2c_20b2Vec2_20const__29, ContactSetEnabled_28unsigned_20int_2c_20bool_29, ContactIsTouching_28unsigned_20int_29, ContactSetTangentSpeed_28unsigned_20int_2c_20float_29, ContactGetTangentSpeed_28unsigned_20int_29, ContactSetFriction_28unsigned_20int_2c_20float_29, ContactGetFriction_28unsigned_20int_29, ContactResetFriction_28unsigned_20int_29, ContactSetRestitution_28unsigned_20int_2c_20float_29, ContactGetRestitution_28unsigned_20int_29, ContactResetRestitution_28unsigned_20int_29, ContactGetFixtureA_28unsigned_20int_29, ContactGetFixtureB_28unsigned_20int_29, ContactGetWorldManifold_28unsigned_20int_2c_20unsigned_20int_29, ContactGetManifold_28unsigned_20int_29, ManifoldGetType_28unsigned_20int_29, ManifoldGetPointCount_28unsigned_20int_29, ManifoldGetManifoldPointPtr_28unsigned_20int_2c_20int_29, ManifoldGetLocalPointValueX_28unsigned_20int_29, ManifoldGetLocalPointValueY_28unsigned_20int_29, ManifoldGetLocalNormalValueX_28unsigned_20int_29, ManifoldGetLocalNormalValueY_28unsigned_20int_29, ManifoldPointGetLocalPointX_28unsigned_20int_29, ManifoldPointGetLocalPointY_28unsigned_20int_29, ManifoldPointGetNormalImpulse_28unsigned_20int_29, ManifoldPointGetTangentImpulse_28unsigned_20int_29, WorldManifoldNew_28_29, WorldManifoldGetPointValueX_28unsigned_20int_2c_20int_29, WorldManifoldGetPointValueY_28unsigned_20int_2c_20int_29, WorldManifoldGetSeparationValue_28unsigned_20int_2c_20int_29, WorldManifoldGetNormalValueX_28unsigned_20int_29, WorldManifoldGetNormalValueY_28unsigned_20int_29, WorldManifoldDelete_28unsigned_20int_29, ContactImpulseGetNormalImpulse_28unsigned_20int_2c_20int_29, ContactImpulseGetTangentImpulse_28unsigned_20int_2c_20int_29, ContactImpulseGetCount_28unsigned_20int_29, void_20const__20emscripten__internal__getActualType_b2QueryCallback__28b2QueryCallback__29, void_20emscripten__internal__raw_destructor_b2QueryCallback__28b2QueryCallback__29, void_20const__20emscripten__internal__getActualType_b2QueryCallbackWrapper__28b2QueryCallbackWrapper__29, void_20emscripten__internal__raw_destructor_b2QueryCallbackWrapper__28b2QueryCallbackWrapper__29, b2QueryCallbackWrapper__20emscripten__internal__wrapped_new_b2QueryCallbackWrapper__2c_20b2QueryCallbackWrapper_2c_20emscripten__val__28emscripten__val___29, emscripten__internal__Invoker_b2QueryCallbackWrapper__2c_20emscripten__val_____invoke_28b2QueryCallbackWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29, emscripten__val_20emscripten__internal__wrapped_extend_b2QueryCallbackWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29, emscripten__internal__Invoker_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____invoke_28emscripten__val_20_28__29_28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29_2c_20emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___2c_20emscripten___EM_VAL__29, void_20const__20emscripten__internal__getActualType_b2RayCastCallback__28b2RayCastCallback__29, void_20emscripten__internal__raw_destructor_b2RayCastCallback__28b2RayCastCallback__29, void_20const__20emscripten__internal__getActualType_b2RayCastCallbackWrapper__28b2RayCastCallbackWrapper__29, void_20emscripten__internal__raw_destructor_b2RayCastCallbackWrapper__28b2RayCastCallbackWrapper__29, b2RayCastCallbackWrapper__20emscripten__internal__wrapped_new_b2RayCastCallbackWrapper__2c_20b2RayCastCallbackWrapper_2c_20emscripten__val__28emscripten__val___29, emscripten__internal__Invoker_b2RayCastCallbackWrapper__2c_20emscripten__val_____invoke_28b2RayCastCallbackWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29, emscripten__val_20emscripten__internal__wrapped_extend_b2RayCastCallbackWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29, void_20const__20emscripten__internal__getActualType_b2ContactListener__28b2ContactListener__29, void_20emscripten__internal__raw_destructor_b2ContactListener__28b2ContactListener__29, b2ContactListenerWrapper__registerContactFixture_28unsigned_20int_29, b2ContactListenerWrapper__unregisterContactFixture_28unsigned_20int_29, b2ContactListenerWrapper__isIndexOf_28unsigned_20int_29, void_20const__20emscripten__internal__getActualType_b2ContactListenerWrapper__28b2ContactListenerWrapper__29, void_20emscripten__internal__raw_destructor_b2ContactListenerWrapper__28b2ContactListenerWrapper__29, b2ContactListenerWrapper__20emscripten__internal__wrapped_new_b2ContactListenerWrapper__2c_20b2ContactListenerWrapper_2c_20emscripten__val__28emscripten__val___29, emscripten__internal__Invoker_b2ContactListenerWrapper__2c_20emscripten__val_____invoke_28b2ContactListenerWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29, emscripten__val_20emscripten__internal__wrapped_extend_b2ContactListenerWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29, void_20const__20emscripten__internal__getActualType_b2Draw__28b2Draw__29, void_20emscripten__internal__raw_destructor_b2Draw__28b2Draw__29, b2Draw__SetFlags_28unsigned_20int_29, b2Draw__GetFlags_28_29_20const, b2Draw__AppendFlags_28unsigned_20int_29, b2Draw__ClearFlags_28unsigned_20int_29, void_20const__20emscripten__internal__getActualType_b2DrawWrapper__28b2DrawWrapper__29, void_20emscripten__internal__raw_destructor_b2DrawWrapper__28b2DrawWrapper__29, b2DrawWrapper__20emscripten__internal__wrapped_new_b2DrawWrapper__2c_20b2DrawWrapper_2c_20emscripten__val__28emscripten__val___29, emscripten__internal__Invoker_b2DrawWrapper__2c_20emscripten__val_____invoke_28b2DrawWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29, emscripten__val_20emscripten__internal__wrapped_extend_b2DrawWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29, void_20const__20emscripten__internal__getActualType_b2AABB__28b2AABB__29, void_20emscripten__internal__raw_destructor_b2AABB__28b2AABB__29, b2AABB__20emscripten__internal__operator_new_b2AABB__28_29, b2AABB__IsValid_28_29_20const, b2AABB__GetCenter_28_29_20const, b2AABB__GetExtents_28_29_20const, b2AABB__GetPerimeter_28_29_20const, b2AABB__Contains_28b2AABB_20const__29_20const, b2AABB__RayCast_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const, b2Vec2__20emscripten__internal__MemberAccess_b2AABB_2c_20b2Vec2___getWire_b2AABB__28b2Vec2_20b2AABB____20const__2c_20b2AABB_20const__29, void_20emscripten__internal__MemberAccess_b2AABB_2c_20b2Vec2___setWire_b2AABB__28b2Vec2_20b2AABB____20const__2c_20b2AABB__2c_20b2Vec2__29, void_20const__20emscripten__internal__getActualType_b2World__28b2World__29, void_20emscripten__internal__raw_destructor_b2World__28b2World__29, b2World__20emscripten__internal__operator_new_b2World_2c_20b2Vec2__28b2Vec2___29, b2World__SetContactListener_28b2ContactListener__29, b2World__SetDebugDraw_28b2Draw__29, b2World__DebugDraw_28_29, b2World__CreateBody_28b2BodyDef_20const__29, b2World__DestroyBody_28b2Body__29, b2World__CreateJoint_28b2JointDef_20const__29, b2World__DestroyJoint_28b2Joint__29, b2World__Step_28float_2c_20int_2c_20int_29, b2World__QueryAABB_28b2QueryCallback__2c_20b2AABB_20const__29_20const, b2World__RayCast_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const, b2World__SetAllowSleeping_28bool_29, b2World__GetAllowSleeping_28_29_20const, b2World__SetGravity_28b2Vec2_20const__29, b2World__GetGravity_28_29_20const, b2World__Dump_28_29, void_20const__20emscripten__internal__getActualType_b2Shape__28b2Shape__29, void_20emscripten__internal__raw_destructor_b2Shape__28b2Shape__29, b2Shape__Type_20emscripten__internal__MemberAccess_b2Shape_2c_20b2Shape__Type___getWire_b2Shape__28b2Shape__Type_20b2Shape____20const__2c_20b2Shape_20const__29, void_20emscripten__internal__MemberAccess_b2Shape_2c_20b2Shape__Type___setWire_b2Shape__28b2Shape__Type_20b2Shape____20const__2c_20b2Shape__2c_20b2Shape__Type_29, float_20emscripten__internal__MemberAccess_b2Shape_2c_20float___getWire_b2Shape__28float_20b2Shape____20const__2c_20b2Shape_20const__29, void_20emscripten__internal__MemberAccess_b2Shape_2c_20float___setWire_b2Shape__28float_20b2Shape____20const__2c_20b2Shape__2c_20float_29, b2Shape__GetType_28_29_20const, void_20const__20emscripten__internal__getActualType_b2CircleShape__28b2CircleShape__29, void_20emscripten__internal__raw_destructor_b2CircleShape__28b2CircleShape__29, b2CircleShape__20emscripten__internal__operator_new_b2CircleShape__28_29, b2Vec2__20emscripten__internal__MemberAccess_b2CircleShape_2c_20b2Vec2___getWire_b2CircleShape__28b2Vec2_20b2CircleShape____20const__2c_20b2CircleShape_20const__29, void_20emscripten__internal__MemberAccess_b2CircleShape_2c_20b2Vec2___setWire_b2CircleShape__28b2Vec2_20b2CircleShape____20const__2c_20b2CircleShape__2c_20b2Vec2__29, void_20const__20emscripten__internal__getActualType_b2EdgeShape__28b2EdgeShape__29, void_20emscripten__internal__raw_destructor_b2EdgeShape__28b2EdgeShape__29, void_20const__20emscripten__internal__getActualType_b2PolygonShape__28b2PolygonShape__29, void_20emscripten__internal__raw_destructor_b2PolygonShape__28b2PolygonShape__29, b2PolygonShape__20emscripten__internal__operator_new_b2PolygonShape__28_29, b2PolygonShape__Validate_28_29_20const, b2PolygonShape__SetAsBox_28float_2c_20float_29, b2PolygonShape__SetAsBox_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29, void_20const__20emscripten__internal__getActualType_b2FixtureDef__28b2FixtureDef__29, void_20emscripten__internal__raw_destructor_b2FixtureDef__28b2FixtureDef__29, b2FixtureDef__20emscripten__internal__operator_new_b2FixtureDef__28_29, float_20emscripten__internal__MemberAccess_b2FixtureDef_2c_20float___getWire_b2FixtureDef__28float_20b2FixtureDef____20const__2c_20b2FixtureDef_20const__29, void_20emscripten__internal__MemberAccess_b2FixtureDef_2c_20float___setWire_b2FixtureDef__28float_20b2FixtureDef____20const__2c_20b2FixtureDef__2c_20float_29, bool_20emscripten__internal__MemberAccess_b2FixtureDef_2c_20bool___getWire_b2FixtureDef__28bool_20b2FixtureDef____20const__2c_20b2FixtureDef_20const__29, void_20emscripten__internal__MemberAccess_b2FixtureDef_2c_20bool___setWire_b2FixtureDef__28bool_20b2FixtureDef____20const__2c_20b2FixtureDef__2c_20bool_29, b2Filter__20emscripten__internal__MemberAccess_b2FixtureDef_2c_20b2Filter___getWire_b2FixtureDef__28b2Filter_20b2FixtureDef____20const__2c_20b2FixtureDef_20const__29, void_20emscripten__internal__MemberAccess_b2FixtureDef_2c_20b2Filter___setWire_b2FixtureDef__28b2Filter_20b2FixtureDef____20const__2c_20b2FixtureDef__2c_20b2Filter__29, void_20const__20emscripten__internal__getActualType_b2Fixture__28b2Fixture__29, void_20emscripten__internal__raw_destructor_b2Fixture__28b2Fixture__29, b2Fixture__GetType_28_29_20const, b2Fixture__GetShape_28_29, b2Fixture__SetSensor_28bool_29, b2Fixture__IsSensor_28_29_20const, b2Fixture__SetFilterData_28b2Filter_20const__29, b2Fixture__GetFilterData_28_29_20const, b2Fixture__Refilter_28_29, b2Fixture__GetBody_28_29, b2Fixture__TestPoint_28b2Vec2_20const__29_20const, b2Fixture__RayCast_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const, b2Fixture__GetMassData_28b2MassData__29_20const, b2Fixture__SetDensity_28float_29, b2Fixture__GetDensity_28_29_20const, b2Fixture__GetFriction_28_29_20const, b2Fixture__SetFriction_28float_29, b2Fixture__GetRestitution_28_29_20const, b2Fixture__SetRestitution_28float_29, b2Fixture__GetAABB_28int_29_20const, b2Fixture__Dump_28int_29, void_20const__20emscripten__internal__getActualType_b2BodyDef__28b2BodyDef__29, void_20emscripten__internal__raw_destructor_b2BodyDef__28b2BodyDef__29, b2BodyDef__20emscripten__internal__operator_new_b2BodyDef__28_29, b2BodyType_20emscripten__internal__MemberAccess_b2BodyDef_2c_20b2BodyType___getWire_b2BodyDef__28b2BodyType_20b2BodyDef____20const__2c_20b2BodyDef_20const__29, void_20emscripten__internal__MemberAccess_b2BodyDef_2c_20b2BodyType___setWire_b2BodyDef__28b2BodyType_20b2BodyDef____20const__2c_20b2BodyDef__2c_20b2BodyType_29, b2Vec2__20emscripten__internal__MemberAccess_b2BodyDef_2c_20b2Vec2___getWire_b2BodyDef__28b2Vec2_20b2BodyDef____20const__2c_20b2BodyDef_20const__29, void_20emscripten__internal__MemberAccess_b2BodyDef_2c_20b2Vec2___setWire_b2BodyDef__28b2Vec2_20b2BodyDef____20const__2c_20b2BodyDef__2c_20b2Vec2__29, float_20emscripten__internal__MemberAccess_b2BodyDef_2c_20float___getWire_b2BodyDef__28float_20b2BodyDef____20const__2c_20b2BodyDef_20const__29, void_20emscripten__internal__MemberAccess_b2BodyDef_2c_20float___setWire_b2BodyDef__28float_20b2BodyDef____20const__2c_20b2BodyDef__2c_20float_29, bool_20emscripten__internal__MemberAccess_b2BodyDef_2c_20bool___getWire_b2BodyDef__28bool_20b2BodyDef____20const__2c_20b2BodyDef_20const__29, void_20emscripten__internal__MemberAccess_b2BodyDef_2c_20bool___setWire_b2BodyDef__28bool_20b2BodyDef____20const__2c_20b2BodyDef__2c_20bool_29, void_20const__20emscripten__internal__getActualType_b2Body__28b2Body__29, void_20emscripten__internal__raw_destructor_b2Body__28b2Body__29, b2Body__CreateFixture_28b2FixtureDef_20const__29, b2Body__CreateFixture_28b2Shape_20const__2c_20float_29, b2Body__DestroyFixture_28b2Fixture__29, b2Body__SetTransform_28b2Vec2_20const__2c_20float_29, b2Body__GetTransform_28_29_20const, b2Body__GetPosition_28_29_20const, b2Body__GetAngle_28_29_20const, b2Body__GetWorldCenter_28_29_20const, b2Body__GetLocalCenter_28_29_20const, b2Body__SetLinearVelocity_28b2Vec2_20const__29, b2Body__GetLinearVelocity_28_29_20const, b2Body__SetAngularVelocity_28float_29, b2Body__GetAngularVelocity_28_29_20const, b2Body__ApplyForce_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29, b2Body__ApplyForceToCenter_28b2Vec2_20const__2c_20bool_29, b2Body__ApplyTorque_28float_2c_20bool_29, b2Body__ApplyLinearImpulse_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29, b2Body__ApplyLinearImpulseToCenter_28b2Vec2_20const__2c_20bool_29, b2Body__ApplyAngularImpulse_28float_2c_20bool_29, b2Body__GetMass_28_29_20const, b2Body__GetInertia_28_29_20const, b2Body__GetMassData_28b2MassData__29_20const, b2Body__ResetMassData_28_29, b2Body__GetWorldPoint_28b2Vec2_20const__29_20const, b2Body__GetWorldVector_28b2Vec2_20const__29_20const, b2Body__GetLocalPoint_28b2Vec2_20const__29_20const, b2Body__GetLocalVector_28b2Vec2_20const__29_20const, b2Body__GetLinearVelocityFromWorldPoint_28b2Vec2_20const__29_20const, b2Body__GetLinearVelocityFromLocalPoint_28b2Vec2_20const__29_20const, b2Body__GetLinearDamping_28_29_20const, b2Body__SetLinearDamping_28float_29, b2Body__GetAngularDamping_28_29_20const, b2Body__SetAngularDamping_28float_29, b2Body__GetGravityScale_28_29_20const, b2Body__SetGravityScale_28float_29, b2Body__SetType_28b2BodyType_29, b2Body__GetType_28_29_20const, b2Body__SetBullet_28bool_29, b2Body__IsBullet_28_29_20const, b2Body__SetSleepingAllowed_28bool_29, b2Body__IsSleepingAllowed_28_29_20const, b2Body__SetAwake_28bool_29, b2Body__IsAwake_28_29_20const, b2Body__SetEnabled_28bool_29, b2Body__IsEnabled_28_29_20const, b2Body__SetFixedRotation_28bool_29, b2Body__IsFixedRotation_28_29_20const, b2Body__GetFixtureList_28_29, b2Body__GetWorld_28_29, b2Body__Dump_28_29, void_20const__20emscripten__internal__getActualType_b2JointDef__28b2JointDef__29, void_20emscripten__internal__raw_destructor_b2JointDef__28b2JointDef__29, b2JointDef__20emscripten__internal__operator_new_b2JointDef__28_29, b2JointType_20emscripten__internal__MemberAccess_b2JointDef_2c_20b2JointType___getWire_b2JointDef__28b2JointType_20b2JointDef____20const__2c_20b2JointDef_20const__29, void_20emscripten__internal__MemberAccess_b2JointDef_2c_20b2JointType___setWire_b2JointDef__28b2JointType_20b2JointDef____20const__2c_20b2JointDef__2c_20b2JointType_29, bool_20emscripten__internal__MemberAccess_b2JointDef_2c_20bool___getWire_b2JointDef__28bool_20b2JointDef____20const__2c_20b2JointDef_20const__29, void_20emscripten__internal__MemberAccess_b2JointDef_2c_20bool___setWire_b2JointDef__28bool_20b2JointDef____20const__2c_20b2JointDef__2c_20bool_29, void_20const__20emscripten__internal__getActualType_b2Joint__28b2Joint__29, void_20emscripten__internal__raw_destructor_b2Joint__28b2Joint__29, b2Joint__GetType_28_29_20const, b2Joint__GetBodyA_28_29, b2Joint__GetBodyB_28_29, b2Joint__GetCollideConnected_28_29_20const, void_20const__20emscripten__internal__getActualType_b2DistanceJointDef__28b2DistanceJointDef__29, void_20emscripten__internal__raw_destructor_b2DistanceJointDef__28b2DistanceJointDef__29, b2DistanceJointDef__20emscripten__internal__operator_new_b2DistanceJointDef__28_29, b2Vec2__20emscripten__internal__MemberAccess_b2DistanceJointDef_2c_20b2Vec2___getWire_b2DistanceJointDef__28b2Vec2_20b2DistanceJointDef____20const__2c_20b2DistanceJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2DistanceJointDef_2c_20b2Vec2___setWire_b2DistanceJointDef__28b2Vec2_20b2DistanceJointDef____20const__2c_20b2DistanceJointDef__2c_20b2Vec2__29, float_20emscripten__internal__MemberAccess_b2DistanceJointDef_2c_20float___getWire_b2DistanceJointDef__28float_20b2DistanceJointDef____20const__2c_20b2DistanceJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2DistanceJointDef_2c_20float___setWire_b2DistanceJointDef__28float_20b2DistanceJointDef____20const__2c_20b2DistanceJointDef__2c_20float_29, void_20const__20emscripten__internal__getActualType_b2DistanceJoint__28b2DistanceJoint__29, void_20emscripten__internal__raw_destructor_b2DistanceJoint__28b2DistanceJoint__29, b2DistanceJoint__GetLocalAnchorA_28_29_20const, b2DistanceJoint__GetLocalAnchorB_28_29_20const, b2DistanceJoint__SetLength_28float_29, b2DistanceJoint__GetLength_28_29_20const, b2DistanceJoint__SetStiffness_28float_29, b2DistanceJoint__GetStiffness_28_29_20const, b2DistanceJoint__SetDamping_28float_29, b2DistanceJoint__GetDamping_28_29_20const, void_20const__20emscripten__internal__getActualType_b2MotorJointDef__28b2MotorJointDef__29, void_20emscripten__internal__raw_destructor_b2MotorJointDef__28b2MotorJointDef__29, b2MotorJointDef__20emscripten__internal__operator_new_b2MotorJointDef__28_29, b2Vec2__20emscripten__internal__MemberAccess_b2MotorJointDef_2c_20b2Vec2___getWire_b2MotorJointDef__28b2Vec2_20b2MotorJointDef____20const__2c_20b2MotorJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2MotorJointDef_2c_20b2Vec2___setWire_b2MotorJointDef__28b2Vec2_20b2MotorJointDef____20const__2c_20b2MotorJointDef__2c_20b2Vec2__29, float_20emscripten__internal__MemberAccess_b2MotorJointDef_2c_20float___getWire_b2MotorJointDef__28float_20b2MotorJointDef____20const__2c_20b2MotorJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2MotorJointDef_2c_20float___setWire_b2MotorJointDef__28float_20b2MotorJointDef____20const__2c_20b2MotorJointDef__2c_20float_29, void_20const__20emscripten__internal__getActualType_b2MotorJoint__28b2MotorJoint__29, void_20emscripten__internal__raw_destructor_b2MotorJoint__28b2MotorJoint__29, b2MotorJoint__SetLinearOffset_28b2Vec2_20const__29, b2MotorJoint__GetLinearOffset_28_29_20const, b2MotorJoint__SetAngularOffset_28float_29, b2MotorJoint__GetAngularOffset_28_29_20const, b2MotorJoint__SetMaxForce_28float_29, b2MotorJoint__GetMaxForce_28_29_20const, b2MotorJoint__SetMaxTorque_28float_29, b2MotorJoint__GetMaxTorque_28_29_20const, b2MotorJoint__SetCorrectionFactor_28float_29, b2MotorJoint__GetCorrectionFactor_28_29_20const, void_20const__20emscripten__internal__getActualType_b2MouseJointDef__28b2MouseJointDef__29, void_20emscripten__internal__raw_destructor_b2MouseJointDef__28b2MouseJointDef__29, b2MouseJointDef__20emscripten__internal__operator_new_b2MouseJointDef__28_29, b2Vec2__20emscripten__internal__MemberAccess_b2MouseJointDef_2c_20b2Vec2___getWire_b2MouseJointDef__28b2Vec2_20b2MouseJointDef____20const__2c_20b2MouseJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2MouseJointDef_2c_20b2Vec2___setWire_b2MouseJointDef__28b2Vec2_20b2MouseJointDef____20const__2c_20b2MouseJointDef__2c_20b2Vec2__29, float_20emscripten__internal__MemberAccess_b2MouseJointDef_2c_20float___getWire_b2MouseJointDef__28float_20b2MouseJointDef____20const__2c_20b2MouseJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2MouseJointDef_2c_20float___setWire_b2MouseJointDef__28float_20b2MouseJointDef____20const__2c_20b2MouseJointDef__2c_20float_29, void_20const__20emscripten__internal__getActualType_b2MouseJoint__28b2MouseJoint__29, void_20emscripten__internal__raw_destructor_b2MouseJoint__28b2MouseJoint__29, b2MouseJoint__SetTarget_28b2Vec2_20const__29, b2MouseJoint__GetTarget_28_29_20const, b2MouseJoint__SetMaxForce_28float_29, b2MouseJoint__GetMaxForce_28_29_20const, b2MouseJoint__SetFrequency_28float_29, b2MouseJoint__GetFrequency_28_29_20const, b2MouseJoint__SetDampingRatio_28float_29, b2MouseJoint__GetDampingRatio_28_29_20const, void_20const__20emscripten__internal__getActualType_b2PrismaticJointDef__28b2PrismaticJointDef__29, void_20emscripten__internal__raw_destructor_b2PrismaticJointDef__28b2PrismaticJointDef__29, b2PrismaticJointDef__20emscripten__internal__operator_new_b2PrismaticJointDef__28_29, b2Vec2__20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20b2Vec2___getWire_b2PrismaticJointDef__28b2Vec2_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20b2Vec2___setWire_b2PrismaticJointDef__28b2Vec2_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef__2c_20b2Vec2__29, float_20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20float___getWire_b2PrismaticJointDef__28float_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20float___setWire_b2PrismaticJointDef__28float_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef__2c_20float_29, bool_20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20bool___getWire_b2PrismaticJointDef__28bool_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2PrismaticJointDef_2c_20bool___setWire_b2PrismaticJointDef__28bool_20b2PrismaticJointDef____20const__2c_20b2PrismaticJointDef__2c_20bool_29, void_20const__20emscripten__internal__getActualType_b2PrismaticJoint__28b2PrismaticJoint__29, void_20emscripten__internal__raw_destructor_b2PrismaticJoint__28b2PrismaticJoint__29, b2PrismaticJoint__GetLocalAnchorA_28_29_20const, b2PrismaticJoint__GetLocalAnchorB_28_29_20const, b2PrismaticJoint__GetLocalAxisA_28_29_20const, b2PrismaticJoint__GetReferenceAngle_28_29_20const, b2PrismaticJoint__GetJointTranslation_28_29_20const, b2PrismaticJoint__GetJointSpeed_28_29_20const, b2PrismaticJoint__IsLimitEnabled_28_29_20const, b2PrismaticJoint__EnableLimit_28bool_29, b2PrismaticJoint__GetLowerLimit_28_29_20const, b2PrismaticJoint__GetUpperLimit_28_29_20const, b2PrismaticJoint__SetLimits_28float_2c_20float_29, b2PrismaticJoint__IsMotorEnabled_28_29_20const, b2PrismaticJoint__EnableMotor_28bool_29, b2PrismaticJoint__SetMotorSpeed_28float_29, b2PrismaticJoint__GetMotorSpeed_28_29_20const, b2PrismaticJoint__SetMaxMotorForce_28float_29, b2PrismaticJoint__GetMaxMotorForce_28_29_20const, b2PrismaticJoint__GetMotorForce_28float_29_20const, void_20const__20emscripten__internal__getActualType_b2RevoluteJointDef__28b2RevoluteJointDef__29, void_20emscripten__internal__raw_destructor_b2RevoluteJointDef__28b2RevoluteJointDef__29, b2RevoluteJointDef__20emscripten__internal__operator_new_b2RevoluteJointDef__28_29, b2Vec2__20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20b2Vec2___getWire_b2RevoluteJointDef__28b2Vec2_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20b2Vec2___setWire_b2RevoluteJointDef__28b2Vec2_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef__2c_20b2Vec2__29, float_20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20float___getWire_b2RevoluteJointDef__28float_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20float___setWire_b2RevoluteJointDef__28float_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef__2c_20float_29, bool_20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20bool___getWire_b2RevoluteJointDef__28bool_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2RevoluteJointDef_2c_20bool___setWire_b2RevoluteJointDef__28bool_20b2RevoluteJointDef____20const__2c_20b2RevoluteJointDef__2c_20bool_29, void_20const__20emscripten__internal__getActualType_b2RevoluteJoint__28b2RevoluteJoint__29, void_20emscripten__internal__raw_destructor_b2RevoluteJoint__28b2RevoluteJoint__29, b2RevoluteJoint__GetLocalAnchorA_28_29_20const, b2RevoluteJoint__GetLocalAnchorB_28_29_20const, b2RevoluteJoint__GetReferenceAngle_28_29_20const, b2RevoluteJoint__GetJointAngle_28_29_20const, b2RevoluteJoint__GetJointSpeed_28_29_20const, b2RevoluteJoint__IsLimitEnabled_28_29_20const, b2RevoluteJoint__EnableLimit_28bool_29, b2RevoluteJoint__GetLowerLimit_28_29_20const, b2RevoluteJoint__GetUpperLimit_28_29_20const, b2RevoluteJoint__SetLimits_28float_2c_20float_29, b2RevoluteJoint__IsMotorEnabled_28_29_20const, b2RevoluteJoint__EnableMotor_28bool_29, b2RevoluteJoint__SetMotorSpeed_28float_29, b2RevoluteJoint__GetMotorSpeed_28_29_20const, b2RevoluteJoint__SetMaxMotorTorque_28float_29, b2RevoluteJoint__GetMaxMotorTorque_28_29_20const, b2RevoluteJoint__GetMotorTorque_28float_29_20const, void_20const__20emscripten__internal__getActualType_b2RopeJointDef__28b2RopeJointDef__29, void_20emscripten__internal__raw_destructor_b2RopeJointDef__28b2RopeJointDef__29, b2RopeJointDef__20emscripten__internal__operator_new_b2RopeJointDef__28_29, b2Vec2__20emscripten__internal__MemberAccess_b2RopeJointDef_2c_20b2Vec2___getWire_b2RopeJointDef__28b2Vec2_20b2RopeJointDef____20const__2c_20b2RopeJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2RopeJointDef_2c_20b2Vec2___setWire_b2RopeJointDef__28b2Vec2_20b2RopeJointDef____20const__2c_20b2RopeJointDef__2c_20b2Vec2__29, float_20emscripten__internal__MemberAccess_b2RopeJointDef_2c_20float___getWire_b2RopeJointDef__28float_20b2RopeJointDef____20const__2c_20b2RopeJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2RopeJointDef_2c_20float___setWire_b2RopeJointDef__28float_20b2RopeJointDef____20const__2c_20b2RopeJointDef__2c_20float_29, void_20const__20emscripten__internal__getActualType_b2RopeJoint__28b2RopeJoint__29, void_20emscripten__internal__raw_destructor_b2RopeJoint__28b2RopeJoint__29, b2RopeJoint__GetLocalAnchorA_28_29_20const, b2RopeJoint__GetLocalAnchorB_28_29_20const, b2RopeJoint__SetMaxLength_28float_29, b2RopeJoint__GetMaxLength_28_29_20const, b2RopeJoint__GetLength_28_29_20const, void_20const__20emscripten__internal__getActualType_b2WeldJointDef__28b2WeldJointDef__29, void_20emscripten__internal__raw_destructor_b2WeldJointDef__28b2WeldJointDef__29, b2WeldJointDef__20emscripten__internal__operator_new_b2WeldJointDef__28_29, b2Vec2__20emscripten__internal__MemberAccess_b2WeldJointDef_2c_20b2Vec2___getWire_b2WeldJointDef__28b2Vec2_20b2WeldJointDef____20const__2c_20b2WeldJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2WeldJointDef_2c_20b2Vec2___setWire_b2WeldJointDef__28b2Vec2_20b2WeldJointDef____20const__2c_20b2WeldJointDef__2c_20b2Vec2__29, float_20emscripten__internal__MemberAccess_b2WeldJointDef_2c_20float___getWire_b2WeldJointDef__28float_20b2WeldJointDef____20const__2c_20b2WeldJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2WeldJointDef_2c_20float___setWire_b2WeldJointDef__28float_20b2WeldJointDef____20const__2c_20b2WeldJointDef__2c_20float_29, void_20const__20emscripten__internal__getActualType_b2WeldJoint__28b2WeldJoint__29, void_20emscripten__internal__raw_destructor_b2WeldJoint__28b2WeldJoint__29, b2WeldJoint__GetLocalAnchorA_28_29_20const, b2WeldJoint__GetLocalAnchorB_28_29_20const, b2WeldJoint__GetReferenceAngle_28_29_20const, b2WeldJoint__SetStiffness_28float_29, b2WeldJoint__GetStiffness_28_29_20const, b2WeldJoint__SetDamping_28float_29, b2WeldJoint__GetDamping_28_29_20const, void_20const__20emscripten__internal__getActualType_b2WheelJointDef__28b2WheelJointDef__29, void_20emscripten__internal__raw_destructor_b2WheelJointDef__28b2WheelJointDef__29, b2WheelJointDef__20emscripten__internal__operator_new_b2WheelJointDef__28_29, b2Vec2__20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20b2Vec2___getWire_b2WheelJointDef__28b2Vec2_20b2WheelJointDef____20const__2c_20b2WheelJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20b2Vec2___setWire_b2WheelJointDef__28b2Vec2_20b2WheelJointDef____20const__2c_20b2WheelJointDef__2c_20b2Vec2__29, bool_20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20bool___getWire_b2WheelJointDef__28bool_20b2WheelJointDef____20const__2c_20b2WheelJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20bool___setWire_b2WheelJointDef__28bool_20b2WheelJointDef____20const__2c_20b2WheelJointDef__2c_20bool_29, float_20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20float___getWire_b2WheelJointDef__28float_20b2WheelJointDef____20const__2c_20b2WheelJointDef_20const__29, void_20emscripten__internal__MemberAccess_b2WheelJointDef_2c_20float___setWire_b2WheelJointDef__28float_20b2WheelJointDef____20const__2c_20b2WheelJointDef__2c_20float_29, void_20const__20emscripten__internal__getActualType_b2WheelJoint__28b2WheelJoint__29, void_20emscripten__internal__raw_destructor_b2WheelJoint__28b2WheelJoint__29, b2WheelJoint__GetLocalAnchorA_28_29_20const, b2WheelJoint__GetLocalAnchorB_28_29_20const, b2WheelJoint__GetLocalAxisA_28_29_20const, b2WheelJoint__GetJointTranslation_28_29_20const, b2WheelJoint__IsMotorEnabled_28_29_20const, b2WheelJoint__EnableMotor_28bool_29, b2WheelJoint__SetMotorSpeed_28float_29, b2WheelJoint__GetMotorSpeed_28_29_20const, b2WheelJoint__SetMaxMotorTorque_28float_29, b2WheelJoint__GetMaxMotorTorque_28_29_20const, b2WheelJoint__GetMotorTorque_28float_29_20const, b2WheelJoint__SetStiffness_28float_29, b2WheelJoint__GetStiffness_28_29_20const, b2WheelJoint__SetDamping_28float_29, b2WheelJoint__GetDamping_28_29_20const, emscripten__internal__Invoker_float_2c_20unsigned_20int_2c_20int___invoke_28float_20_28__29_28unsigned_20int_2c_20int_29_2c_20unsigned_20int_2c_20int_29, emscripten__internal__Invoker_void_2c_20b2Joint__2c_20float_2c_20float___invoke_28void_20_28__29_28b2Joint__2c_20float_2c_20float_29_2c_20b2Joint__2c_20float_2c_20float_29, emscripten__internal__Invoker_b2Vec2_2c_20b2Transform_20const__2c_20b2Vec2_20const____invoke_28b2Vec2_20_28__29_28b2Transform_20const__2c_20b2Vec2_20const__29_2c_20b2Transform__2c_20b2Vec2__29, emscripten__internal__Invoker_void_2c_20unsigned_20int_2c_20bool___invoke_28void_20_28__29_28unsigned_20int_2c_20bool_29_2c_20unsigned_20int_2c_20bool_29, emscripten__internal__Invoker_bool_2c_20unsigned_20int___invoke_28bool_20_28__29_28unsigned_20int_29_2c_20unsigned_20int_29, emscripten__internal__Invoker_void_2c_20unsigned_20int_2c_20float___invoke_28void_20_28__29_28unsigned_20int_2c_20float_29_2c_20unsigned_20int_2c_20float_29, emscripten__internal__Invoker_float_2c_20unsigned_20int___invoke_28float_20_28__29_28unsigned_20int_29_2c_20unsigned_20int_29, emscripten__internal__Invoker_void_2c_20unsigned_20int___invoke_28void_20_28__29_28unsigned_20int_29_2c_20unsigned_20int_29, emscripten__internal__Invoker_unsigned_20int_2c_20unsigned_20int___invoke_28unsigned_20int_20_28__29_28unsigned_20int_29_2c_20unsigned_20int_29, emscripten__internal__Invoker_void_2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28__29_28unsigned_20int_2c_20unsigned_20int_29_2c_20unsigned_20int_2c_20unsigned_20int_29, emscripten__internal__Invoker_unsigned_20int_2c_20unsigned_20int_2c_20int___invoke_28unsigned_20int_20_28__29_28unsigned_20int_2c_20int_29_2c_20unsigned_20int_2c_20int_29, emscripten__internal__Invoker_unsigned_20int___invoke_28unsigned_20int_20_28__29_28_29_29, emscripten__internal__Invoker_int_2c_20unsigned_20int___invoke_28int_20_28__29_28unsigned_20int_29_2c_20unsigned_20int_29, std____2__vector_int_2c_20std____2__allocator_int____push_back_5babi_v160004_5d_28int_20const__29, std____2__vector_int_2c_20std____2__allocator_int____resize_28unsigned_20long_2c_20int_20const__29, std____2__vector_int_2c_20std____2__allocator_int____size_5babi_v160004_5d_28_29_20const, void_20const__20emscripten__internal__getActualType_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____29, void_20emscripten__internal__raw_destructor_std____2__vector_int_2c_20std____2__allocator_int____28std____2__vector_int_2c_20std____2__allocator_int____29, std____2__vector_int_2c_20std____2__allocator_int____20emscripten__internal__operator_new_std____2__vector_int_2c_20std____2__allocator_int____28_29, emscripten__internal__VectorAccess_std____2__vector_int_2c_20std____2__allocator_int_____get_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29, emscripten__internal__VectorAccess_std____2__vector_int_2c_20std____2__allocator_int_____set_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29, b2Vec2__20emscripten__internal__raw_constructor_b2Vec2__28_29, void_20emscripten__internal__raw_destructor_b2Vec2__28b2Vec2__29, float_20emscripten__internal__MemberAccess_b2Vec2_2c_20float___getWire_b2Vec2__28float_20b2Vec2____20const__2c_20b2Vec2_20const__29, void_20emscripten__internal__MemberAccess_b2Vec2_2c_20float___setWire_b2Vec2__28float_20b2Vec2____20const__2c_20b2Vec2__2c_20float_29, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____push_back_5babi_v160004_5d_28b2Vec2_20const__29, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____resize_28unsigned_20long_2c_20b2Vec2_20const__29, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____size_5babi_v160004_5d_28_29_20const, void_20const__20emscripten__internal__getActualType_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29, void_20emscripten__internal__raw_destructor_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____29, std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____20emscripten__internal__operator_new_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____28_29, emscripten__internal__VectorAccess_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____get_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29, emscripten__internal__VectorAccess_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2_____set_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29, b2Rot__20emscripten__internal__raw_constructor_b2Rot__28_29, void_20emscripten__internal__raw_destructor_b2Rot__28b2Rot__29, float_20emscripten__internal__MemberAccess_b2Rot_2c_20float___getWire_b2Rot__28float_20b2Rot____20const__2c_20b2Rot_20const__29, void_20emscripten__internal__MemberAccess_b2Rot_2c_20float___setWire_b2Rot__28float_20b2Rot____20const__2c_20b2Rot__2c_20float_29, b2Transform__20emscripten__internal__raw_constructor_b2Transform__28_29, void_20emscripten__internal__raw_destructor_b2Transform__28b2Transform__29, b2Vec2__20emscripten__internal__MemberAccess_b2Transform_2c_20b2Vec2___getWire_b2Transform__28b2Vec2_20b2Transform____20const__2c_20b2Transform_20const__29, void_20emscripten__internal__MemberAccess_b2Transform_2c_20b2Vec2___setWire_b2Transform__28b2Vec2_20b2Transform____20const__2c_20b2Transform__2c_20b2Vec2__29, b2Rot__20emscripten__internal__MemberAccess_b2Transform_2c_20b2Rot___getWire_b2Transform__28b2Rot_20b2Transform____20const__2c_20b2Transform_20const__29, void_20emscripten__internal__MemberAccess_b2Transform_2c_20b2Rot___setWire_b2Transform__28b2Rot_20b2Transform____20const__2c_20b2Transform__2c_20b2Rot__29, b2Color__20emscripten__internal__raw_constructor_b2Color__28_29, void_20emscripten__internal__raw_destructor_b2Color__28b2Color__29, float_20emscripten__internal__MemberAccess_b2Color_2c_20float___getWire_b2Color__28float_20b2Color____20const__2c_20b2Color_20const__29, void_20emscripten__internal__MemberAccess_b2Color_2c_20float___setWire_b2Color__28float_20b2Color____20const__2c_20b2Color__2c_20float_29, b2RayCastInput__20emscripten__internal__raw_constructor_b2RayCastInput__28_29, void_20emscripten__internal__raw_destructor_b2RayCastInput__28b2RayCastInput__29, b2Vec2__20emscripten__internal__MemberAccess_b2RayCastInput_2c_20b2Vec2___getWire_b2RayCastInput__28b2Vec2_20b2RayCastInput____20const__2c_20b2RayCastInput_20const__29, void_20emscripten__internal__MemberAccess_b2RayCastInput_2c_20b2Vec2___setWire_b2RayCastInput__28b2Vec2_20b2RayCastInput____20const__2c_20b2RayCastInput__2c_20b2Vec2__29, float_20emscripten__internal__MemberAccess_b2RayCastInput_2c_20float___getWire_b2RayCastInput__28float_20b2RayCastInput____20const__2c_20b2RayCastInput_20const__29, void_20emscripten__internal__MemberAccess_b2RayCastInput_2c_20float___setWire_b2RayCastInput__28float_20b2RayCastInput____20const__2c_20b2RayCastInput__2c_20float_29, b2RayCastOutput__20emscripten__internal__raw_constructor_b2RayCastOutput__28_29, void_20emscripten__internal__raw_destructor_b2RayCastOutput__28b2RayCastOutput__29, b2Vec2__20emscripten__internal__MemberAccess_b2RayCastOutput_2c_20b2Vec2___getWire_b2RayCastOutput__28b2Vec2_20b2RayCastOutput____20const__2c_20b2RayCastOutput_20const__29, void_20emscripten__internal__MemberAccess_b2RayCastOutput_2c_20b2Vec2___setWire_b2RayCastOutput__28b2Vec2_20b2RayCastOutput____20const__2c_20b2RayCastOutput__2c_20b2Vec2__29, float_20emscripten__internal__MemberAccess_b2RayCastOutput_2c_20float___getWire_b2RayCastOutput__28float_20b2RayCastOutput____20const__2c_20b2RayCastOutput_20const__29, void_20emscripten__internal__MemberAccess_b2RayCastOutput_2c_20float___setWire_b2RayCastOutput__28float_20b2RayCastOutput____20const__2c_20b2RayCastOutput__2c_20float_29, b2MassData__20emscripten__internal__raw_constructor_b2MassData__28_29, void_20emscripten__internal__raw_destructor_b2MassData__28b2MassData__29, float_20emscripten__internal__MemberAccess_b2MassData_2c_20float___getWire_b2MassData__28float_20b2MassData____20const__2c_20b2MassData_20const__29, void_20emscripten__internal__MemberAccess_b2MassData_2c_20float___setWire_b2MassData__28float_20b2MassData____20const__2c_20b2MassData__2c_20float_29, b2Vec2__20emscripten__internal__MemberAccess_b2MassData_2c_20b2Vec2___getWire_b2MassData__28b2Vec2_20b2MassData____20const__2c_20b2MassData_20const__29, void_20emscripten__internal__MemberAccess_b2MassData_2c_20b2Vec2___setWire_b2MassData__28b2Vec2_20b2MassData____20const__2c_20b2MassData__2c_20b2Vec2__29, b2Filter__20emscripten__internal__raw_constructor_b2Filter__28_29, void_20emscripten__internal__raw_destructor_b2Filter__28b2Filter__29, unsigned_20short_20emscripten__internal__MemberAccess_b2Filter_2c_20unsigned_20short___getWire_b2Filter__28unsigned_20short_20b2Filter____20const__2c_20b2Filter_20const__29, void_20emscripten__internal__MemberAccess_b2Filter_2c_20unsigned_20short___setWire_b2Filter__28unsigned_20short_20b2Filter____20const__2c_20b2Filter__2c_20unsigned_20short_29, short_20emscripten__internal__MemberAccess_b2Filter_2c_20short___getWire_b2Filter__28short_20b2Filter____20const__2c_20b2Filter_20const__29, void_20emscripten__internal__MemberAccess_b2Filter_2c_20short___setWire_b2Filter__28short_20b2Filter____20const__2c_20b2Filter__2c_20short_29, emscripten__internal__MethodInvoker_bool_20_28b2QueryCallback____29_28unsigned_20int_29_2c_20bool_2c_20b2QueryCallback__2c_20unsigned_20int___invoke_28bool_20_28b2QueryCallback____20const__29_28unsigned_20int_29_2c_20b2QueryCallback__2c_20unsigned_20int_29, b2QueryCallback__20emscripten__base_b2QueryCallback___convertPointer_b2QueryCallbackWrapper_2c_20b2QueryCallback__28b2QueryCallbackWrapper__29, b2QueryCallbackWrapper__20emscripten__base_b2QueryCallback___convertPointer_b2QueryCallback_2c_20b2QueryCallbackWrapper__28b2QueryCallback__29, emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2QueryCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2QueryCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2QueryCallbackWrapper__29____invoke_28b2QueryCallbackWrapper__29, emscripten__internal__FunctionInvoker_void_20_28__29_28b2QueryCallbackWrapper__29_2c_20void_2c_20b2QueryCallbackWrapper____invoke_28void_20_28___29_28b2QueryCallbackWrapper__29_2c_20b2QueryCallbackWrapper__29, emscripten__internal__MethodInvoker_float_20_28b2RayCastCallback____29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29_2c_20float_2c_20b2RayCastCallback__2c_20unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float___invoke_28float_20_28b2RayCastCallback____20const__29_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29_2c_20b2RayCastCallback__2c_20unsigned_20int_2c_20b2Vec2__2c_20b2Vec2__2c_20float_29, b2RayCastCallback__20emscripten__base_b2RayCastCallback___convertPointer_b2RayCastCallbackWrapper_2c_20b2RayCastCallback__28b2RayCastCallbackWrapper__29, b2RayCastCallbackWrapper__20emscripten__base_b2RayCastCallback___convertPointer_b2RayCastCallback_2c_20b2RayCastCallbackWrapper__28b2RayCastCallback__29, emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2RayCastCallback_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2RayCastCallbackWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2RayCastCallbackWrapper__29____invoke_28b2RayCastCallbackWrapper__29, emscripten__internal__FunctionInvoker_void_20_28__29_28b2RayCastCallbackWrapper__29_2c_20void_2c_20b2RayCastCallbackWrapper____invoke_28void_20_28___29_28b2RayCastCallbackWrapper__29_2c_20b2RayCastCallbackWrapper__29, emscripten__internal__MethodInvoker_void_20_28b2ContactListener____29_28unsigned_20int_29_2c_20void_2c_20b2ContactListener__2c_20unsigned_20int___invoke_28void_20_28b2ContactListener____20const__29_28unsigned_20int_29_2c_20b2ContactListener__2c_20unsigned_20int_29, emscripten__internal__MethodInvoker_void_20_28b2ContactListener____29_28unsigned_20int_2c_20unsigned_20int_29_2c_20void_2c_20b2ContactListener__2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28b2ContactListener____20const__29_28unsigned_20int_2c_20unsigned_20int_29_2c_20b2ContactListener__2c_20unsigned_20int_2c_20unsigned_20int_29, emscripten__internal__MethodInvoker_void_20_28b2ContactListenerWrapper____29_28unsigned_20int_29_2c_20void_2c_20b2ContactListenerWrapper__2c_20unsigned_20int___invoke_28void_20_28b2ContactListenerWrapper____20const__29_28unsigned_20int_29_2c_20b2ContactListenerWrapper__2c_20unsigned_20int_29, emscripten__internal__MethodInvoker_bool_20_28b2ContactListenerWrapper____29_28unsigned_20int_29_2c_20bool_2c_20b2ContactListenerWrapper__2c_20unsigned_20int___invoke_28bool_20_28b2ContactListenerWrapper____20const__29_28unsigned_20int_29_2c_20b2ContactListenerWrapper__2c_20unsigned_20int_29, b2ContactListener__20emscripten__base_b2ContactListener___convertPointer_b2ContactListenerWrapper_2c_20b2ContactListener__28b2ContactListenerWrapper__29, b2ContactListenerWrapper__20emscripten__base_b2ContactListener___convertPointer_b2ContactListener_2c_20b2ContactListenerWrapper__28b2ContactListener__29, emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2ContactListener_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2ContactListenerWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2ContactListenerWrapper__29____invoke_28b2ContactListenerWrapper__29, emscripten__internal__FunctionInvoker_void_20_28__29_28b2ContactListenerWrapper__29_2c_20void_2c_20b2ContactListenerWrapper____invoke_28void_20_28___29_28b2ContactListenerWrapper__29_2c_20b2ContactListenerWrapper__29, emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28unsigned_20int_29_2c_20void_2c_20b2Draw__2c_20unsigned_20int___invoke_28void_20_28b2Draw____20const__29_28unsigned_20int_29_2c_20b2Draw__2c_20unsigned_20int_29, emscripten__internal__MethodInvoker_unsigned_20int_20_28b2Draw____29_28_29_20const_2c_20unsigned_20int_2c_20b2Draw_20const____invoke_28unsigned_20int_20_28b2Draw____20const__29_28_29_20const_2c_20b2Draw_20const__29, emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29_2c_20void_2c_20b2Draw__2c_20unsigned_20int_2c_20int_2c_20b2Color_20const____invoke_28void_20_28b2Draw____20const__29_28unsigned_20int_2c_20int_2c_20b2Color_20const__29_2c_20b2Draw__2c_20unsigned_20int_2c_20int_2c_20b2Color__29, emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29_2c_20void_2c_20b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Color_20const____invoke_28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29_2c_20b2Draw__2c_20b2Vec2__2c_20float_2c_20b2Color__29, emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29_2c_20void_2c_20b2Draw__2c_20b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const____invoke_28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29_2c_20b2Draw__2c_20b2Vec2__2c_20float_2c_20b2Vec2__2c_20b2Color__29, emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_2c_20void_2c_20b2Draw__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const____invoke_28void_20_28b2Draw____20const__29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29_2c_20b2Draw__2c_20b2Vec2__2c_20b2Vec2__2c_20b2Color__29, emscripten__internal__MethodInvoker_void_20_28b2Draw____29_28b2Transform_20const__29_2c_20void_2c_20b2Draw__2c_20b2Transform_20const____invoke_28void_20_28b2Draw____20const__29_28b2Transform_20const__29_2c_20b2Draw__2c_20b2Transform__29, b2Draw__20emscripten__base_b2Draw___convertPointer_b2DrawWrapper_2c_20b2Draw__28b2DrawWrapper__29, b2DrawWrapper__20emscripten__base_b2Draw___convertPointer_b2Draw_2c_20b2DrawWrapper__28b2Draw__29, emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__b2Draw_2c_20emscripten__internal__NoBaseClass___allow_subclass_b2DrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28b2DrawWrapper__29____invoke_28b2DrawWrapper__29, emscripten__internal__FunctionInvoker_void_20_28__29_28b2DrawWrapper__29_2c_20void_2c_20b2DrawWrapper____invoke_28void_20_28___29_28b2DrawWrapper__29_2c_20b2DrawWrapper__29, emscripten__internal__Invoker_b2AABB____invoke_28b2AABB__20_28__29_28_29_29, emscripten__internal__MethodInvoker_bool_20_28b2AABB____29_28_29_20const_2c_20bool_2c_20b2AABB_20const____invoke_28bool_20_28b2AABB____20const__29_28_29_20const_2c_20b2AABB_20const__29, emscripten__internal__MethodInvoker_b2Vec2_20_28b2AABB____29_28_29_20const_2c_20b2Vec2_2c_20b2AABB_20const____invoke_28b2Vec2_20_28b2AABB____20const__29_28_29_20const_2c_20b2AABB_20const__29, emscripten__internal__MethodInvoker_float_20_28b2AABB____29_28_29_20const_2c_20float_2c_20b2AABB_20const____invoke_28float_20_28b2AABB____20const__29_28_29_20const_2c_20b2AABB_20const__29, emscripten__internal__FunctionInvoker_void_20_28__29_28b2AABB__2c_20b2AABB__29_2c_20void_2c_20b2AABB__2c_20b2AABB____invoke_28void_20_28___29_28b2AABB__2c_20b2AABB__29_2c_20b2AABB__2c_20b2AABB__29, emscripten__internal__FunctionInvoker_void_20_28__29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_2c_20void_2c_20b2AABB__2c_20b2AABB__2c_20b2AABB____invoke_28void_20_28___29_28b2AABB__2c_20b2AABB__2c_20b2AABB__29_2c_20b2AABB__2c_20b2AABB__2c_20b2AABB__29, emscripten__internal__MethodInvoker_bool_20_28b2AABB____29_28b2AABB_20const__29_20const_2c_20bool_2c_20b2AABB_20const__2c_20b2AABB_20const____invoke_28bool_20_28b2AABB____20const__29_28b2AABB_20const__29_20const_2c_20b2AABB_20const__2c_20b2AABB__29, emscripten__internal__MethodInvoker_bool_20_28b2AABB____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const_2c_20bool_2c_20b2AABB_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const____invoke_28bool_20_28b2AABB____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__29_20const_2c_20b2AABB_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__29, emscripten__internal__Invoker_b2World__2c_20b2Vec2_____invoke_28b2World__20_28__29_28b2Vec2___29_2c_20b2Vec2__29, emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2ContactListener__29_2c_20void_2c_20b2World__2c_20b2ContactListener____invoke_28void_20_28b2World____20const__29_28b2ContactListener__29_2c_20b2World__2c_20b2ContactListener__29, emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2Draw__29_2c_20void_2c_20b2World__2c_20b2Draw____invoke_28void_20_28b2World____20const__29_28b2Draw__29_2c_20b2World__2c_20b2Draw__29, emscripten__internal__MethodInvoker_void_20_28b2World____29_28_29_2c_20void_2c_20b2World____invoke_28void_20_28b2World____20const__29_28_29_2c_20b2World__29, emscripten__internal__MethodInvoker_b2Body__20_28b2World____29_28b2BodyDef_20const__29_2c_20b2Body__2c_20b2World__2c_20b2BodyDef_20const____invoke_28b2Body__20_28b2World____20const__29_28b2BodyDef_20const__29_2c_20b2World__2c_20b2BodyDef_20const__29, emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2Body__29_2c_20void_2c_20b2World__2c_20b2Body____invoke_28void_20_28b2World____20const__29_28b2Body__29_2c_20b2World__2c_20b2Body__29, emscripten__internal__MethodInvoker_b2Joint__20_28b2World____29_28b2JointDef_20const__29_2c_20b2Joint__2c_20b2World__2c_20b2JointDef_20const____invoke_28b2Joint__20_28b2World____20const__29_28b2JointDef_20const__29_2c_20b2World__2c_20b2JointDef_20const__29, emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2Joint__29_2c_20void_2c_20b2World__2c_20b2Joint____invoke_28void_20_28b2World____20const__29_28b2Joint__29_2c_20b2World__2c_20b2Joint__29, emscripten__internal__MethodInvoker_void_20_28b2World____29_28float_2c_20int_2c_20int_29_2c_20void_2c_20b2World__2c_20float_2c_20int_2c_20int___invoke_28void_20_28b2World____20const__29_28float_2c_20int_2c_20int_29_2c_20b2World__2c_20float_2c_20int_2c_20int_29, emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2QueryCallback__2c_20b2AABB_20const__29_20const_2c_20void_2c_20b2World_20const__2c_20b2QueryCallback__2c_20b2AABB_20const____invoke_28void_20_28b2World____20const__29_28b2QueryCallback__2c_20b2AABB_20const__29_20const_2c_20b2World_20const__2c_20b2QueryCallback__2c_20b2AABB__29, emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const_2c_20void_2c_20b2World_20const__2c_20b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const____invoke_28void_20_28b2World____20const__29_28b2RayCastCallback__2c_20b2Vec2_20const__2c_20b2Vec2_20const__29_20const_2c_20b2World_20const__2c_20b2RayCastCallback__2c_20b2Vec2__2c_20b2Vec2__29, emscripten__internal__MethodInvoker_void_20_28b2World____29_28bool_29_2c_20void_2c_20b2World__2c_20bool___invoke_28void_20_28b2World____20const__29_28bool_29_2c_20b2World__2c_20bool_29, emscripten__internal__MethodInvoker_bool_20_28b2World____29_28_29_20const_2c_20bool_2c_20b2World_20const____invoke_28bool_20_28b2World____20const__29_28_29_20const_2c_20b2World_20const__29, emscripten__internal__MethodInvoker_void_20_28b2World____29_28b2Vec2_20const__29_2c_20void_2c_20b2World__2c_20b2Vec2_20const____invoke_28void_20_28b2World____20const__29_28b2Vec2_20const__29_2c_20b2World__2c_20b2Vec2__29, emscripten__internal__MethodInvoker_b2Vec2_20_28b2World____29_28_29_20const_2c_20b2Vec2_2c_20b2World_20const____invoke_28b2Vec2_20_28b2World____20const__29_28_29_20const_2c_20b2World_20const__29, emscripten__internal__MethodInvoker_b2Shape__Type_20_28b2Shape____29_28_29_20const_2c_20b2Shape__Type_2c_20b2Shape_20const____invoke_28b2Shape__Type_20_28b2Shape____20const__29_28_29_20const_2c_20b2Shape_20const__29, emscripten__internal__MethodInvoker_int_20_28b2Shape____29_28_29_20const_2c_20int_2c_20b2Shape_20const____invoke_28int_20_28b2Shape____20const__29_28_29_20const_2c_20b2Shape_20const__29, emscripten__internal__MethodInvoker_bool_20_28b2Shape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20bool_2c_20b2Shape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____invoke_28bool_20_28b2Shape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20b2Shape_20const__2c_20b2Transform__2c_20b2Vec2__29, emscripten__internal__MethodInvoker_bool_20_28b2Shape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20bool_2c_20b2Shape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___invoke_28bool_20_28b2Shape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2Shape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__2c_20b2Transform__2c_20int_29, emscripten__internal__MethodInvoker_void_20_28b2Shape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20void_2c_20b2Shape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___invoke_28void_20_28b2Shape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2Shape_20const__2c_20b2AABB__2c_20b2Transform__2c_20int_29, emscripten__internal__MethodInvoker_void_20_28b2Shape____29_28b2MassData__2c_20float_29_20const_2c_20void_2c_20b2Shape_20const__2c_20b2MassData__2c_20float___invoke_28void_20_28b2Shape____20const__29_28b2MassData__2c_20float_29_20const_2c_20b2Shape_20const__2c_20b2MassData__2c_20float_29, emscripten__internal__FunctionInvoker_void_20_28__29_28b2Shape__2c_20float_29_2c_20void_2c_20b2Shape__2c_20float___invoke_28void_20_28___29_28b2Shape__2c_20float_29_2c_20b2Shape__2c_20float_29, emscripten__internal__FunctionInvoker_float_20_28__29_28b2Shape__29_2c_20float_2c_20b2Shape____invoke_28float_20_28___29_28b2Shape__29_2c_20b2Shape__29, b2Shape__20emscripten__base_b2Shape___convertPointer_b2CircleShape_2c_20b2Shape__28b2CircleShape__29, b2CircleShape__20emscripten__base_b2Shape___convertPointer_b2Shape_2c_20b2CircleShape__28b2Shape__29, emscripten__internal__Invoker_b2CircleShape____invoke_28b2CircleShape__20_28__29_28_29_29, emscripten__internal__MethodInvoker_b2Shape__20_28b2CircleShape____29_28b2BlockAllocator__29_20const_2c_20b2Shape__2c_20b2CircleShape_20const__2c_20b2BlockAllocator____invoke_28b2Shape__20_28b2CircleShape____20const__29_28b2BlockAllocator__29_20const_2c_20b2CircleShape_20const__2c_20b2BlockAllocator__29, emscripten__internal__MethodInvoker_int_20_28b2CircleShape____29_28_29_20const_2c_20int_2c_20b2CircleShape_20const____invoke_28int_20_28b2CircleShape____20const__29_28_29_20const_2c_20b2CircleShape_20const__29, emscripten__internal__MethodInvoker_bool_20_28b2CircleShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20bool_2c_20b2CircleShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____invoke_28bool_20_28b2CircleShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20b2CircleShape_20const__2c_20b2Transform__2c_20b2Vec2__29, emscripten__internal__MethodInvoker_bool_20_28b2CircleShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20bool_2c_20b2CircleShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___invoke_28bool_20_28b2CircleShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2CircleShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__2c_20b2Transform__2c_20int_29, emscripten__internal__MethodInvoker_void_20_28b2CircleShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20void_2c_20b2CircleShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___invoke_28void_20_28b2CircleShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2CircleShape_20const__2c_20b2AABB__2c_20b2Transform__2c_20int_29, emscripten__internal__MethodInvoker_void_20_28b2CircleShape____29_28b2MassData__2c_20float_29_20const_2c_20void_2c_20b2CircleShape_20const__2c_20b2MassData__2c_20float___invoke_28void_20_28b2CircleShape____20const__29_28b2MassData__2c_20float_29_20const_2c_20b2CircleShape_20const__2c_20b2MassData__2c_20float_29, b2Shape__20emscripten__base_b2Shape___convertPointer_b2EdgeShape_2c_20b2Shape__28b2EdgeShape__29, b2EdgeShape__20emscripten__base_b2Shape___convertPointer_b2Shape_2c_20b2EdgeShape__28b2Shape__29, emscripten__internal__MethodInvoker_b2Shape__20_28b2EdgeShape____29_28b2BlockAllocator__29_20const_2c_20b2Shape__2c_20b2EdgeShape_20const__2c_20b2BlockAllocator____invoke_28b2Shape__20_28b2EdgeShape____20const__29_28b2BlockAllocator__29_20const_2c_20b2EdgeShape_20const__2c_20b2BlockAllocator__29, emscripten__internal__MethodInvoker_int_20_28b2EdgeShape____29_28_29_20const_2c_20int_2c_20b2EdgeShape_20const____invoke_28int_20_28b2EdgeShape____20const__29_28_29_20const_2c_20b2EdgeShape_20const__29, emscripten__internal__MethodInvoker_bool_20_28b2EdgeShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20bool_2c_20b2EdgeShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____invoke_28bool_20_28b2EdgeShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20b2EdgeShape_20const__2c_20b2Transform__2c_20b2Vec2__29, emscripten__internal__MethodInvoker_bool_20_28b2EdgeShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20bool_2c_20b2EdgeShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___invoke_28bool_20_28b2EdgeShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2EdgeShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__2c_20b2Transform__2c_20int_29, emscripten__internal__MethodInvoker_void_20_28b2EdgeShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20void_2c_20b2EdgeShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___invoke_28void_20_28b2EdgeShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2EdgeShape_20const__2c_20b2AABB__2c_20b2Transform__2c_20int_29, emscripten__internal__MethodInvoker_void_20_28b2EdgeShape____29_28b2MassData__2c_20float_29_20const_2c_20void_2c_20b2EdgeShape_20const__2c_20b2MassData__2c_20float___invoke_28void_20_28b2EdgeShape____20const__29_28b2MassData__2c_20float_29_20const_2c_20b2EdgeShape_20const__2c_20b2MassData__2c_20float_29, b2Shape__20emscripten__base_b2Shape___convertPointer_b2PolygonShape_2c_20b2Shape__28b2PolygonShape__29, b2PolygonShape__20emscripten__base_b2Shape___convertPointer_b2Shape_2c_20b2PolygonShape__28b2Shape__29, emscripten__internal__Invoker_b2PolygonShape____invoke_28b2PolygonShape__20_28__29_28_29_29, emscripten__internal__MethodInvoker_b2Shape__20_28b2PolygonShape____29_28b2BlockAllocator__29_20const_2c_20b2Shape__2c_20b2PolygonShape_20const__2c_20b2BlockAllocator____invoke_28b2Shape__20_28b2PolygonShape____20const__29_28b2BlockAllocator__29_20const_2c_20b2PolygonShape_20const__2c_20b2BlockAllocator__29, emscripten__internal__MethodInvoker_int_20_28b2PolygonShape____29_28_29_20const_2c_20int_2c_20b2PolygonShape_20const____invoke_28int_20_28b2PolygonShape____20const__29_28_29_20const_2c_20b2PolygonShape_20const__29, emscripten__internal__FunctionInvoker_void_20_28__29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_2c_20void_2c_20b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int___invoke_28void_20_28___29_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29_2c_20b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29, emscripten__internal__MethodInvoker_bool_20_28b2PolygonShape____29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20bool_2c_20b2PolygonShape_20const__2c_20b2Transform_20const__2c_20b2Vec2_20const____invoke_28bool_20_28b2PolygonShape____20const__29_28b2Transform_20const__2c_20b2Vec2_20const__29_20const_2c_20b2PolygonShape_20const__2c_20b2Transform__2c_20b2Vec2__29, emscripten__internal__MethodInvoker_bool_20_28b2PolygonShape____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20bool_2c_20b2PolygonShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int___invoke_28bool_20_28b2PolygonShape____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2PolygonShape_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__2c_20b2Transform__2c_20int_29, emscripten__internal__MethodInvoker_void_20_28b2PolygonShape____29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20void_2c_20b2PolygonShape_20const__2c_20b2AABB__2c_20b2Transform_20const__2c_20int___invoke_28void_20_28b2PolygonShape____20const__29_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const_2c_20b2PolygonShape_20const__2c_20b2AABB__2c_20b2Transform__2c_20int_29, emscripten__internal__MethodInvoker_void_20_28b2PolygonShape____29_28b2MassData__2c_20float_29_20const_2c_20void_2c_20b2PolygonShape_20const__2c_20b2MassData__2c_20float___invoke_28void_20_28b2PolygonShape____20const__29_28b2MassData__2c_20float_29_20const_2c_20b2PolygonShape_20const__2c_20b2MassData__2c_20float_29, emscripten__internal__MethodInvoker_bool_20_28b2PolygonShape____29_28_29_20const_2c_20bool_2c_20b2PolygonShape_20const____invoke_28bool_20_28b2PolygonShape____20const__29_28_29_20const_2c_20b2PolygonShape_20const__29, emscripten__internal__MethodInvoker_void_20_28b2PolygonShape____29_28float_2c_20float_29_2c_20void_2c_20b2PolygonShape__2c_20float_2c_20float___invoke_28void_20_28b2PolygonShape____20const__29_28float_2c_20float_29_2c_20b2PolygonShape__2c_20float_2c_20float_29, emscripten__internal__MethodInvoker_void_20_28b2PolygonShape____29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_2c_20void_2c_20b2PolygonShape__2c_20float_2c_20float_2c_20b2Vec2_20const__2c_20float___invoke_28void_20_28b2PolygonShape____20const__29_28float_2c_20float_2c_20b2Vec2_20const__2c_20float_29_2c_20b2PolygonShape__2c_20float_2c_20float_2c_20b2Vec2__2c_20float_29, emscripten__internal__Invoker_b2FixtureDef____invoke_28b2FixtureDef__20_28__29_28_29_29, emscripten__internal__FunctionInvoker_void_20_28__29_28b2FixtureDef__2c_20b2Shape_20const__29_2c_20void_2c_20b2FixtureDef__2c_20b2Shape_20const____invoke_28void_20_28___29_28b2FixtureDef__2c_20b2Shape_20const__29_2c_20b2FixtureDef__2c_20b2Shape_20const__29, emscripten__internal__FunctionInvoker_b2Shape_20const__20_28__29_28b2FixtureDef__29_2c_20b2Shape_20const__2c_20b2FixtureDef____invoke_28b2Shape_20const__20_28___29_28b2FixtureDef__29_2c_20b2FixtureDef__29, emscripten__internal__MethodInvoker_b2Shape__Type_20_28b2Fixture____29_28_29_20const_2c_20b2Shape__Type_2c_20b2Fixture_20const____invoke_28b2Shape__Type_20_28b2Fixture____20const__29_28_29_20const_2c_20b2Fixture_20const__29, emscripten__internal__MethodInvoker_b2Shape__20_28b2Fixture____29_28_29_2c_20b2Shape__2c_20b2Fixture____invoke_28b2Shape__20_28b2Fixture____20const__29_28_29_2c_20b2Fixture__29, emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28bool_29_2c_20void_2c_20b2Fixture__2c_20bool___invoke_28void_20_28b2Fixture____20const__29_28bool_29_2c_20b2Fixture__2c_20bool_29, emscripten__internal__MethodInvoker_bool_20_28b2Fixture____29_28_29_20const_2c_20bool_2c_20b2Fixture_20const____invoke_28bool_20_28b2Fixture____20const__29_28_29_20const_2c_20b2Fixture_20const__29, emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28b2Filter_20const__29_2c_20void_2c_20b2Fixture__2c_20b2Filter_20const____invoke_28void_20_28b2Fixture____20const__29_28b2Filter_20const__29_2c_20b2Fixture__2c_20b2Filter__29, emscripten__internal__MethodInvoker_b2Filter_20const__20_28b2Fixture____29_28_29_20const_2c_20b2Filter_20const__2c_20b2Fixture_20const____invoke_28b2Filter_20const__20_28b2Fixture____20const__29_28_29_20const_2c_20b2Fixture_20const__29, emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28_29_2c_20void_2c_20b2Fixture____invoke_28void_20_28b2Fixture____20const__29_28_29_2c_20b2Fixture__29, emscripten__internal__MethodInvoker_b2Body__20_28b2Fixture____29_28_29_2c_20b2Body__2c_20b2Fixture____invoke_28b2Body__20_28b2Fixture____20const__29_28_29_2c_20b2Fixture__29, emscripten__internal__MethodInvoker_bool_20_28b2Fixture____29_28b2Vec2_20const__29_20const_2c_20bool_2c_20b2Fixture_20const__2c_20b2Vec2_20const____invoke_28bool_20_28b2Fixture____20const__29_28b2Vec2_20const__29_20const_2c_20b2Fixture_20const__2c_20b2Vec2__29, emscripten__internal__MethodInvoker_bool_20_28b2Fixture____29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const_2c_20bool_2c_20b2Fixture_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int___invoke_28bool_20_28b2Fixture____20const__29_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20int_29_20const_2c_20b2Fixture_20const__2c_20b2RayCastOutput__2c_20b2RayCastInput__2c_20int_29, emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28b2MassData__29_20const_2c_20void_2c_20b2Fixture_20const__2c_20b2MassData____invoke_28void_20_28b2Fixture____20const__29_28b2MassData__29_20const_2c_20b2Fixture_20const__2c_20b2MassData__29, emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28float_29_2c_20void_2c_20b2Fixture__2c_20float___invoke_28void_20_28b2Fixture____20const__29_28float_29_2c_20b2Fixture__2c_20float_29, emscripten__internal__MethodInvoker_float_20_28b2Fixture____29_28_29_20const_2c_20float_2c_20b2Fixture_20const____invoke_28float_20_28b2Fixture____20const__29_28_29_20const_2c_20b2Fixture_20const__29, emscripten__internal__MethodInvoker_b2AABB_20const__20_28b2Fixture____29_28int_29_20const_2c_20b2AABB_20const__2c_20b2Fixture_20const__2c_20int___invoke_28b2AABB_20const__20_28b2Fixture____20const__29_28int_29_20const_2c_20b2Fixture_20const__2c_20int_29, emscripten__internal__MethodInvoker_void_20_28b2Fixture____29_28int_29_2c_20void_2c_20b2Fixture__2c_20int___invoke_28void_20_28b2Fixture____20const__29_28int_29_2c_20b2Fixture__2c_20int_29, emscripten__internal__Invoker_b2BodyDef____invoke_28b2BodyDef__20_28__29_28_29_29, emscripten__internal__MethodInvoker_b2Fixture__20_28b2Body____29_28b2FixtureDef_20const__29_2c_20b2Fixture__2c_20b2Body__2c_20b2FixtureDef_20const____invoke_28b2Fixture__20_28b2Body____20const__29_28b2FixtureDef_20const__29_2c_20b2Body__2c_20b2FixtureDef_20const__29, emscripten__internal__MethodInvoker_b2Fixture__20_28b2Body____29_28b2Shape_20const__2c_20float_29_2c_20b2Fixture__2c_20b2Body__2c_20b2Shape_20const__2c_20float___invoke_28b2Fixture__20_28b2Body____20const__29_28b2Shape_20const__2c_20float_29_2c_20b2Body__2c_20b2Shape_20const__2c_20float_29, emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2Fixture__29_2c_20void_2c_20b2Body__2c_20b2Fixture____invoke_28void_20_28b2Body____20const__29_28b2Fixture__29_2c_20b2Body__2c_20b2Fixture__29, emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2Vec2_20const__2c_20float_29_2c_20void_2c_20b2Body__2c_20b2Vec2_20const__2c_20float___invoke_28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20float_29_2c_20b2Body__2c_20b2Vec2__2c_20float_29, emscripten__internal__MethodInvoker_b2Transform_20const__20_28b2Body____29_28_29_20const_2c_20b2Transform_20const__2c_20b2Body_20const____invoke_28b2Transform_20const__20_28b2Body____20const__29_28_29_20const_2c_20b2Body_20const__29, emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2Body____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2Body_20const____invoke_28b2Vec2_20const__20_28b2Body____20const__29_28_29_20const_2c_20b2Body_20const__29, emscripten__internal__MethodInvoker_float_20_28b2Body____29_28_29_20const_2c_20float_2c_20b2Body_20const____invoke_28float_20_28b2Body____20const__29_28_29_20const_2c_20b2Body_20const__29, emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2Vec2_20const__29_2c_20void_2c_20b2Body__2c_20b2Vec2_20const____invoke_28void_20_28b2Body____20const__29_28b2Vec2_20const__29_2c_20b2Body__2c_20b2Vec2__29, emscripten__internal__MethodInvoker_void_20_28b2Body____29_28float_29_2c_20void_2c_20b2Body__2c_20float___invoke_28void_20_28b2Body____20const__29_28float_29_2c_20b2Body__2c_20float_29, emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29_2c_20void_2c_20b2Body__2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool___invoke_28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20bool_29_2c_20b2Body__2c_20b2Vec2__2c_20b2Vec2__2c_20bool_29, emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2Vec2_20const__2c_20bool_29_2c_20void_2c_20b2Body__2c_20b2Vec2_20const__2c_20bool___invoke_28void_20_28b2Body____20const__29_28b2Vec2_20const__2c_20bool_29_2c_20b2Body__2c_20b2Vec2__2c_20bool_29, emscripten__internal__MethodInvoker_void_20_28b2Body____29_28float_2c_20bool_29_2c_20void_2c_20b2Body__2c_20float_2c_20bool___invoke_28void_20_28b2Body____20const__29_28float_2c_20bool_29_2c_20b2Body__2c_20float_2c_20bool_29, emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2MassData__29_20const_2c_20void_2c_20b2Body_20const__2c_20b2MassData____invoke_28void_20_28b2Body____20const__29_28b2MassData__29_20const_2c_20b2Body_20const__2c_20b2MassData__29, emscripten__internal__FunctionInvoker_void_20_28__29_28b2Body__2c_20b2MassData_20const__29_2c_20void_2c_20b2Body__2c_20b2MassData_20const____invoke_28void_20_28___29_28b2Body__2c_20b2MassData_20const__29_2c_20b2Body__2c_20b2MassData__29, emscripten__internal__MethodInvoker_void_20_28b2Body____29_28_29_2c_20void_2c_20b2Body____invoke_28void_20_28b2Body____20const__29_28_29_2c_20b2Body__29, emscripten__internal__MethodInvoker_b2Vec2_20_28b2Body____29_28b2Vec2_20const__29_20const_2c_20b2Vec2_2c_20b2Body_20const__2c_20b2Vec2_20const____invoke_28b2Vec2_20_28b2Body____20const__29_28b2Vec2_20const__29_20const_2c_20b2Body_20const__2c_20b2Vec2__29, emscripten__internal__MethodInvoker_void_20_28b2Body____29_28b2BodyType_29_2c_20void_2c_20b2Body__2c_20b2BodyType___invoke_28void_20_28b2Body____20const__29_28b2BodyType_29_2c_20b2Body__2c_20b2BodyType_29, emscripten__internal__MethodInvoker_b2BodyType_20_28b2Body____29_28_29_20const_2c_20b2BodyType_2c_20b2Body_20const____invoke_28b2BodyType_20_28b2Body____20const__29_28_29_20const_2c_20b2Body_20const__29, emscripten__internal__MethodInvoker_void_20_28b2Body____29_28bool_29_2c_20void_2c_20b2Body__2c_20bool___invoke_28void_20_28b2Body____20const__29_28bool_29_2c_20b2Body__2c_20bool_29, emscripten__internal__MethodInvoker_bool_20_28b2Body____29_28_29_20const_2c_20bool_2c_20b2Body_20const____invoke_28bool_20_28b2Body____20const__29_28_29_20const_2c_20b2Body_20const__29, emscripten__internal__MethodInvoker_b2Fixture__20_28b2Body____29_28_29_2c_20b2Fixture__2c_20b2Body____invoke_28b2Fixture__20_28b2Body____20const__29_28_29_2c_20b2Body__29, emscripten__internal__MethodInvoker_b2World__20_28b2Body____29_28_29_2c_20b2World__2c_20b2Body____invoke_28b2World__20_28b2Body____20const__29_28_29_2c_20b2Body__29, emscripten__internal__Invoker_b2JointDef____invoke_28b2JointDef__20_28__29_28_29_29, emscripten__internal__FunctionInvoker_void_20_28__29_28b2JointDef__2c_20b2Body__29_2c_20void_2c_20b2JointDef__2c_20b2Body____invoke_28void_20_28___29_28b2JointDef__2c_20b2Body__29_2c_20b2JointDef__2c_20b2Body__29, emscripten__internal__FunctionInvoker_b2Body__20_28__29_28b2JointDef__29_2c_20b2Body__2c_20b2JointDef____invoke_28b2Body__20_28___29_28b2JointDef__29_2c_20b2JointDef__29, emscripten__internal__MethodInvoker_b2JointType_20_28b2Joint____29_28_29_20const_2c_20b2JointType_2c_20b2Joint_20const____invoke_28b2JointType_20_28b2Joint____20const__29_28_29_20const_2c_20b2Joint_20const__29, emscripten__internal__MethodInvoker_b2Body__20_28b2Joint____29_28_29_2c_20b2Body__2c_20b2Joint____invoke_28b2Body__20_28b2Joint____20const__29_28_29_2c_20b2Joint__29, emscripten__internal__MethodInvoker_b2Vec2_20_28b2Joint____29_28_29_20const_2c_20b2Vec2_2c_20b2Joint_20const____invoke_28b2Vec2_20_28b2Joint____20const__29_28_29_20const_2c_20b2Joint_20const__29, emscripten__internal__MethodInvoker_b2Vec2_20_28b2Joint____29_28float_29_20const_2c_20b2Vec2_2c_20b2Joint_20const__2c_20float___invoke_28b2Vec2_20_28b2Joint____20const__29_28float_29_20const_2c_20b2Joint_20const__2c_20float_29, emscripten__internal__MethodInvoker_float_20_28b2Joint____29_28float_29_20const_2c_20float_2c_20b2Joint_20const__2c_20float___invoke_28float_20_28b2Joint____20const__29_28float_29_20const_2c_20b2Joint_20const__2c_20float_29, emscripten__internal__MethodInvoker_bool_20_28b2Joint____29_28_29_20const_2c_20bool_2c_20b2Joint_20const____invoke_28bool_20_28b2Joint____20const__29_28_29_20const_2c_20b2Joint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2Joint____29_28_29_2c_20void_2c_20b2Joint____invoke_28void_20_28b2Joint____20const__29_28_29_2c_20b2Joint__29, b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2DistanceJointDef_2c_20b2JointDef__28b2DistanceJointDef__29, b2DistanceJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2DistanceJointDef__28b2JointDef__29, emscripten__internal__Invoker_b2DistanceJointDef____invoke_28b2DistanceJointDef__20_28__29_28_29_29, b2Joint__20emscripten__base_b2Joint___convertPointer_b2DistanceJoint_2c_20b2Joint__28b2DistanceJoint__29, b2DistanceJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2DistanceJoint__28b2Joint__29, emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2DistanceJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2DistanceJoint_20const____invoke_28b2Vec2_20const__20_28b2DistanceJoint____20const__29_28_29_20const_2c_20b2DistanceJoint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2DistanceJoint____29_28float_29_2c_20void_2c_20b2DistanceJoint__2c_20float___invoke_28void_20_28b2DistanceJoint____20const__29_28float_29_2c_20b2DistanceJoint__2c_20float_29, emscripten__internal__MethodInvoker_float_20_28b2DistanceJoint____29_28_29_20const_2c_20float_2c_20b2DistanceJoint_20const____invoke_28float_20_28b2DistanceJoint____20const__29_28_29_20const_2c_20b2DistanceJoint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2DistanceJoint____29_28_29_2c_20void_2c_20b2DistanceJoint____invoke_28void_20_28b2DistanceJoint____20const__29_28_29_2c_20b2DistanceJoint__29, b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2MotorJointDef_2c_20b2JointDef__28b2MotorJointDef__29, b2MotorJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2MotorJointDef__28b2JointDef__29, emscripten__internal__Invoker_b2MotorJointDef____invoke_28b2MotorJointDef__20_28__29_28_29_29, b2Joint__20emscripten__base_b2Joint___convertPointer_b2MotorJoint_2c_20b2Joint__28b2MotorJoint__29, b2MotorJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2MotorJoint__28b2Joint__29, emscripten__internal__MethodInvoker_void_20_28b2MotorJoint____29_28b2Vec2_20const__29_2c_20void_2c_20b2MotorJoint__2c_20b2Vec2_20const____invoke_28void_20_28b2MotorJoint____20const__29_28b2Vec2_20const__29_2c_20b2MotorJoint__2c_20b2Vec2__29, emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2MotorJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2MotorJoint_20const____invoke_28b2Vec2_20const__20_28b2MotorJoint____20const__29_28_29_20const_2c_20b2MotorJoint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2MotorJoint____29_28float_29_2c_20void_2c_20b2MotorJoint__2c_20float___invoke_28void_20_28b2MotorJoint____20const__29_28float_29_2c_20b2MotorJoint__2c_20float_29, emscripten__internal__MethodInvoker_float_20_28b2MotorJoint____29_28_29_20const_2c_20float_2c_20b2MotorJoint_20const____invoke_28float_20_28b2MotorJoint____20const__29_28_29_20const_2c_20b2MotorJoint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2MotorJoint____29_28_29_2c_20void_2c_20b2MotorJoint____invoke_28void_20_28b2MotorJoint____20const__29_28_29_2c_20b2MotorJoint__29, b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2MouseJointDef_2c_20b2JointDef__28b2MouseJointDef__29, b2MouseJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2MouseJointDef__28b2JointDef__29, emscripten__internal__Invoker_b2MouseJointDef____invoke_28b2MouseJointDef__20_28__29_28_29_29, b2Joint__20emscripten__base_b2Joint___convertPointer_b2MouseJoint_2c_20b2Joint__28b2MouseJoint__29, b2MouseJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2MouseJoint__28b2Joint__29, emscripten__internal__MethodInvoker_void_20_28b2MouseJoint____29_28b2Vec2_20const__29_2c_20void_2c_20b2MouseJoint__2c_20b2Vec2_20const____invoke_28void_20_28b2MouseJoint____20const__29_28b2Vec2_20const__29_2c_20b2MouseJoint__2c_20b2Vec2__29, emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2MouseJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2MouseJoint_20const____invoke_28b2Vec2_20const__20_28b2MouseJoint____20const__29_28_29_20const_2c_20b2MouseJoint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2MouseJoint____29_28float_29_2c_20void_2c_20b2MouseJoint__2c_20float___invoke_28void_20_28b2MouseJoint____20const__29_28float_29_2c_20b2MouseJoint__2c_20float_29, emscripten__internal__MethodInvoker_float_20_28b2MouseJoint____29_28_29_20const_2c_20float_2c_20b2MouseJoint_20const____invoke_28float_20_28b2MouseJoint____20const__29_28_29_20const_2c_20b2MouseJoint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2MouseJoint____29_28_29_2c_20void_2c_20b2MouseJoint____invoke_28void_20_28b2MouseJoint____20const__29_28_29_2c_20b2MouseJoint__29, b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2PrismaticJointDef_2c_20b2JointDef__28b2PrismaticJointDef__29, b2PrismaticJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2PrismaticJointDef__28b2JointDef__29, emscripten__internal__Invoker_b2PrismaticJointDef____invoke_28b2PrismaticJointDef__20_28__29_28_29_29, b2Joint__20emscripten__base_b2Joint___convertPointer_b2PrismaticJoint_2c_20b2Joint__28b2PrismaticJoint__29, b2PrismaticJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2PrismaticJoint__28b2Joint__29, emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2PrismaticJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2PrismaticJoint_20const____invoke_28b2Vec2_20const__20_28b2PrismaticJoint____20const__29_28_29_20const_2c_20b2PrismaticJoint_20const__29, emscripten__internal__MethodInvoker_float_20_28b2PrismaticJoint____29_28_29_20const_2c_20float_2c_20b2PrismaticJoint_20const____invoke_28float_20_28b2PrismaticJoint____20const__29_28_29_20const_2c_20b2PrismaticJoint_20const__29, emscripten__internal__MethodInvoker_bool_20_28b2PrismaticJoint____29_28_29_20const_2c_20bool_2c_20b2PrismaticJoint_20const____invoke_28bool_20_28b2PrismaticJoint____20const__29_28_29_20const_2c_20b2PrismaticJoint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2PrismaticJoint____29_28bool_29_2c_20void_2c_20b2PrismaticJoint__2c_20bool___invoke_28void_20_28b2PrismaticJoint____20const__29_28bool_29_2c_20b2PrismaticJoint__2c_20bool_29, emscripten__internal__MethodInvoker_void_20_28b2PrismaticJoint____29_28float_2c_20float_29_2c_20void_2c_20b2PrismaticJoint__2c_20float_2c_20float___invoke_28void_20_28b2PrismaticJoint____20const__29_28float_2c_20float_29_2c_20b2PrismaticJoint__2c_20float_2c_20float_29, emscripten__internal__MethodInvoker_void_20_28b2PrismaticJoint____29_28float_29_2c_20void_2c_20b2PrismaticJoint__2c_20float___invoke_28void_20_28b2PrismaticJoint____20const__29_28float_29_2c_20b2PrismaticJoint__2c_20float_29, emscripten__internal__MethodInvoker_float_20_28b2PrismaticJoint____29_28float_29_20const_2c_20float_2c_20b2PrismaticJoint_20const__2c_20float___invoke_28float_20_28b2PrismaticJoint____20const__29_28float_29_20const_2c_20b2PrismaticJoint_20const__2c_20float_29, emscripten__internal__MethodInvoker_void_20_28b2PrismaticJoint____29_28_29_2c_20void_2c_20b2PrismaticJoint____invoke_28void_20_28b2PrismaticJoint____20const__29_28_29_2c_20b2PrismaticJoint__29, b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2RevoluteJointDef_2c_20b2JointDef__28b2RevoluteJointDef__29, b2RevoluteJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2RevoluteJointDef__28b2JointDef__29, emscripten__internal__Invoker_b2RevoluteJointDef____invoke_28b2RevoluteJointDef__20_28__29_28_29_29, b2Joint__20emscripten__base_b2Joint___convertPointer_b2RevoluteJoint_2c_20b2Joint__28b2RevoluteJoint__29, b2RevoluteJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2RevoluteJoint__28b2Joint__29, emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2RevoluteJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2RevoluteJoint_20const____invoke_28b2Vec2_20const__20_28b2RevoluteJoint____20const__29_28_29_20const_2c_20b2RevoluteJoint_20const__29, emscripten__internal__MethodInvoker_float_20_28b2RevoluteJoint____29_28_29_20const_2c_20float_2c_20b2RevoluteJoint_20const____invoke_28float_20_28b2RevoluteJoint____20const__29_28_29_20const_2c_20b2RevoluteJoint_20const__29, emscripten__internal__MethodInvoker_bool_20_28b2RevoluteJoint____29_28_29_20const_2c_20bool_2c_20b2RevoluteJoint_20const____invoke_28bool_20_28b2RevoluteJoint____20const__29_28_29_20const_2c_20b2RevoluteJoint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2RevoluteJoint____29_28bool_29_2c_20void_2c_20b2RevoluteJoint__2c_20bool___invoke_28void_20_28b2RevoluteJoint____20const__29_28bool_29_2c_20b2RevoluteJoint__2c_20bool_29, emscripten__internal__MethodInvoker_void_20_28b2RevoluteJoint____29_28float_2c_20float_29_2c_20void_2c_20b2RevoluteJoint__2c_20float_2c_20float___invoke_28void_20_28b2RevoluteJoint____20const__29_28float_2c_20float_29_2c_20b2RevoluteJoint__2c_20float_2c_20float_29, emscripten__internal__MethodInvoker_void_20_28b2RevoluteJoint____29_28float_29_2c_20void_2c_20b2RevoluteJoint__2c_20float___invoke_28void_20_28b2RevoluteJoint____20const__29_28float_29_2c_20b2RevoluteJoint__2c_20float_29, emscripten__internal__MethodInvoker_float_20_28b2RevoluteJoint____29_28float_29_20const_2c_20float_2c_20b2RevoluteJoint_20const__2c_20float___invoke_28float_20_28b2RevoluteJoint____20const__29_28float_29_20const_2c_20b2RevoluteJoint_20const__2c_20float_29, emscripten__internal__MethodInvoker_void_20_28b2RevoluteJoint____29_28_29_2c_20void_2c_20b2RevoluteJoint____invoke_28void_20_28b2RevoluteJoint____20const__29_28_29_2c_20b2RevoluteJoint__29, b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2RopeJointDef_2c_20b2JointDef__28b2RopeJointDef__29, b2RopeJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2RopeJointDef__28b2JointDef__29, emscripten__internal__Invoker_b2RopeJointDef____invoke_28b2RopeJointDef__20_28__29_28_29_29, b2Joint__20emscripten__base_b2Joint___convertPointer_b2RopeJoint_2c_20b2Joint__28b2RopeJoint__29, b2RopeJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2RopeJoint__28b2Joint__29, emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2RopeJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2RopeJoint_20const____invoke_28b2Vec2_20const__20_28b2RopeJoint____20const__29_28_29_20const_2c_20b2RopeJoint_20const__29, emscripten__internal__MethodInvoker_b2Vec2_20_28b2RopeJoint____29_28float_29_20const_2c_20b2Vec2_2c_20b2RopeJoint_20const__2c_20float___invoke_28b2Vec2_20_28b2RopeJoint____20const__29_28float_29_20const_2c_20b2RopeJoint_20const__2c_20float_29, emscripten__internal__MethodInvoker_float_20_28b2RopeJoint____29_28float_29_20const_2c_20float_2c_20b2RopeJoint_20const__2c_20float___invoke_28float_20_28b2RopeJoint____20const__29_28float_29_20const_2c_20b2RopeJoint_20const__2c_20float_29, emscripten__internal__MethodInvoker_void_20_28b2RopeJoint____29_28float_29_2c_20void_2c_20b2RopeJoint__2c_20float___invoke_28void_20_28b2RopeJoint____20const__29_28float_29_2c_20b2RopeJoint__2c_20float_29, emscripten__internal__MethodInvoker_float_20_28b2RopeJoint____29_28_29_20const_2c_20float_2c_20b2RopeJoint_20const____invoke_28float_20_28b2RopeJoint____20const__29_28_29_20const_2c_20b2RopeJoint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2RopeJoint____29_28_29_2c_20void_2c_20b2RopeJoint____invoke_28void_20_28b2RopeJoint____20const__29_28_29_2c_20b2RopeJoint__29, b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2WeldJointDef_2c_20b2JointDef__28b2WeldJointDef__29, b2WeldJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2WeldJointDef__28b2JointDef__29, emscripten__internal__Invoker_b2WeldJointDef____invoke_28b2WeldJointDef__20_28__29_28_29_29, b2Joint__20emscripten__base_b2Joint___convertPointer_b2WeldJoint_2c_20b2Joint__28b2WeldJoint__29, b2WeldJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2WeldJoint__28b2Joint__29, emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2WeldJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2WeldJoint_20const____invoke_28b2Vec2_20const__20_28b2WeldJoint____20const__29_28_29_20const_2c_20b2WeldJoint_20const__29, emscripten__internal__MethodInvoker_float_20_28b2WeldJoint____29_28_29_20const_2c_20float_2c_20b2WeldJoint_20const____invoke_28float_20_28b2WeldJoint____20const__29_28_29_20const_2c_20b2WeldJoint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2WeldJoint____29_28float_29_2c_20void_2c_20b2WeldJoint__2c_20float___invoke_28void_20_28b2WeldJoint____20const__29_28float_29_2c_20b2WeldJoint__2c_20float_29, emscripten__internal__MethodInvoker_void_20_28b2WeldJoint____29_28_29_2c_20void_2c_20b2WeldJoint____invoke_28void_20_28b2WeldJoint____20const__29_28_29_2c_20b2WeldJoint__29, b2JointDef__20emscripten__base_b2JointDef___convertPointer_b2WheelJointDef_2c_20b2JointDef__28b2WheelJointDef__29, b2WheelJointDef__20emscripten__base_b2JointDef___convertPointer_b2JointDef_2c_20b2WheelJointDef__28b2JointDef__29, emscripten__internal__Invoker_b2WheelJointDef____invoke_28b2WheelJointDef__20_28__29_28_29_29, b2Joint__20emscripten__base_b2Joint___convertPointer_b2WheelJoint_2c_20b2Joint__28b2WheelJoint__29, b2WheelJoint__20emscripten__base_b2Joint___convertPointer_b2Joint_2c_20b2WheelJoint__28b2Joint__29, emscripten__internal__MethodInvoker_b2Vec2_20const__20_28b2WheelJoint____29_28_29_20const_2c_20b2Vec2_20const__2c_20b2WheelJoint_20const____invoke_28b2Vec2_20const__20_28b2WheelJoint____20const__29_28_29_20const_2c_20b2WheelJoint_20const__29, emscripten__internal__MethodInvoker_float_20_28b2WheelJoint____29_28_29_20const_2c_20float_2c_20b2WheelJoint_20const____invoke_28float_20_28b2WheelJoint____20const__29_28_29_20const_2c_20b2WheelJoint_20const__29, emscripten__internal__MethodInvoker_bool_20_28b2WheelJoint____29_28_29_20const_2c_20bool_2c_20b2WheelJoint_20const____invoke_28bool_20_28b2WheelJoint____20const__29_28_29_20const_2c_20b2WheelJoint_20const__29, emscripten__internal__MethodInvoker_void_20_28b2WheelJoint____29_28bool_29_2c_20void_2c_20b2WheelJoint__2c_20bool___invoke_28void_20_28b2WheelJoint____20const__29_28bool_29_2c_20b2WheelJoint__2c_20bool_29, emscripten__internal__MethodInvoker_void_20_28b2WheelJoint____29_28float_29_2c_20void_2c_20b2WheelJoint__2c_20float___invoke_28void_20_28b2WheelJoint____20const__29_28float_29_2c_20b2WheelJoint__2c_20float_29, emscripten__internal__MethodInvoker_float_20_28b2WheelJoint____29_28float_29_20const_2c_20float_2c_20b2WheelJoint_20const__2c_20float___invoke_28float_20_28b2WheelJoint____20const__29_28float_29_20const_2c_20b2WheelJoint_20const__2c_20float_29, emscripten__internal__MethodInvoker_void_20_28b2WheelJoint____29_28_29_2c_20void_2c_20b2WheelJoint____invoke_28void_20_28b2WheelJoint____20const__29_28_29_2c_20b2WheelJoint__29, emscripten__internal__Invoker_std____2__vector_int_2c_20std____2__allocator_int______invoke_28std____2__vector_int_2c_20std____2__allocator_int____20_28__29_28_29_29, emscripten__internal__MethodInvoker_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28int_20const__29_2c_20void_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20int_20const____invoke_28void_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28int_20const__29_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20int_29, emscripten__internal__MethodInvoker_void_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28unsigned_20long_2c_20int_20const__29_2c_20void_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____invoke_28void_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28unsigned_20long_2c_20int_20const__29_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_29, emscripten__internal__MethodInvoker_unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______29_28_29_20const_2c_20unsigned_20long_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const____invoke_28unsigned_20long_20_28std____2__vector_int_2c_20std____2__allocator_int______20const__29_28_29_20const_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const__29, emscripten__internal__FunctionInvoker_emscripten__val_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29_2c_20emscripten__val_2c_20std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long___invoke_28emscripten__val_20_28___29_28std____2__vector_int_2c_20std____2__allocator_int___20const__2c_20unsigned_20long_29_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_29, emscripten__internal__FunctionInvoker_bool_20_28__29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29_2c_20bool_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const____invoke_28bool_20_28___29_28std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_20const__29_2c_20std____2__vector_int_2c_20std____2__allocator_int____2c_20unsigned_20long_2c_20int_29, emscripten__internal__Invoker_std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______invoke_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____20_28__29_28_29_29, emscripten__internal__MethodInvoker_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28b2Vec2_20const__29_2c_20void_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20b2Vec2_20const____invoke_28void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28b2Vec2_20const__29_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20b2Vec2__29, emscripten__internal__MethodInvoker_void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28unsigned_20long_2c_20b2Vec2_20const__29_2c_20void_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____invoke_28void_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28unsigned_20long_2c_20b2Vec2_20const__29_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2__29, emscripten__internal__MethodInvoker_unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______29_28_29_20const_2c_20unsigned_20long_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const____invoke_28unsigned_20long_20_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2______20const__29_28_29_20const_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__29, emscripten__internal__FunctionInvoker_emscripten__val_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29_2c_20emscripten__val_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long___invoke_28emscripten__val_20_28___29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2___20const__2c_20unsigned_20long_29_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_29, emscripten__internal__FunctionInvoker_bool_20_28__29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29_2c_20bool_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const____invoke_28bool_20_28___29_28std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2_20const__29_2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20unsigned_20long_2c_20b2Vec2__29, embind_init_b2_28_29__$_0____invoke_28b2AABB__2c_20b2AABB__29, embind_init_b2_28_29__$_1____invoke_28b2AABB__2c_20b2AABB__2c_20b2AABB__29, embind_init_b2_28_29__$_2____invoke_28b2Shape__2c_20float_29, embind_init_b2_28_29__$_3____invoke_28b2Shape__29, embind_init_b2_28_29__$_4____invoke_28b2PolygonShape__2c_20std____2__vector_b2Vec2_2c_20std____2__allocator_b2Vec2____2c_20int_29, embind_init_b2_28_29__$_5____invoke_28b2FixtureDef__2c_20b2Shape_20const__29, embind_init_b2_28_29__$_6____invoke_28b2FixtureDef__29, embind_init_b2_28_29__$_7____invoke_28b2Body__2c_20b2MassData_20const__29, embind_init_b2_28_29__$_8____invoke_28b2JointDef__2c_20b2Body__29, embind_init_b2_28_29__$_9____invoke_28b2JointDef__29, embind_init_b2_28_29__$_10____invoke_28b2JointDef__2c_20b2Body__29, embind_init_b2_28_29__$_11____invoke_28b2JointDef__29, b2QueryCallbackWrapper___b2QueryCallbackWrapper_28_29, b2QueryCallbackWrapper___b2QueryCallbackWrapper_28_29_1, b2QueryCallbackWrapper__ReportFixture_28unsigned_20int_29, emscripten__wrapper_b2QueryCallback____wrapper_28_29, emscripten__wrapper_b2QueryCallback____wrapper_28_29_1, __cxa_pure_virtual, b2QueryCallback___b2QueryCallback_28_29, b2QueryCallback___b2QueryCallback_28_29_1, b2RayCastCallbackWrapper___b2RayCastCallbackWrapper_28_29, b2RayCastCallbackWrapper___b2RayCastCallbackWrapper_28_29_1, b2RayCastCallbackWrapper__ReportFixture_28unsigned_20int_2c_20b2Vec2_20const__2c_20b2Vec2_20const__2c_20float_29, emscripten__wrapper_b2RayCastCallback____wrapper_28_29, emscripten__wrapper_b2RayCastCallback____wrapper_28_29_1, b2RayCastCallback___b2RayCastCallback_28_29, b2RayCastCallback___b2RayCastCallback_28_29_1, b2ContactListenerWrapper___b2ContactListenerWrapper_28_29, b2ContactListenerWrapper___b2ContactListenerWrapper_28_29_1, b2ContactListenerWrapper__BeginContact_28unsigned_20int_29, b2ContactListenerWrapper__EndContact_28unsigned_20int_29, b2ContactListenerWrapper__PreSolve_28unsigned_20int_2c_20unsigned_20int_29, b2ContactListenerWrapper__PostSolve_28unsigned_20int_2c_20unsigned_20int_29, emscripten__wrapper_b2ContactListener____wrapper_28_29, emscripten__wrapper_b2ContactListener____wrapper_28_29_1, b2ContactListener__BeginContact_28unsigned_20int_29, b2ContactListener__EndContact_28unsigned_20int_29, b2ContactListener__PreSolve_28unsigned_20int_2c_20unsigned_20int_29, b2ContactListener__PostSolve_28unsigned_20int_2c_20unsigned_20int_29, b2ContactListener___b2ContactListener_28_29, b2ContactListener___b2ContactListener_28_29_1, b2DrawWrapper___b2DrawWrapper_28_29, b2DrawWrapper___b2DrawWrapper_28_29_1, b2DrawWrapper__DrawPolygon_28unsigned_20int_2c_20int_2c_20b2Color_20const__29, b2DrawWrapper__DrawSolidPolygon_28unsigned_20int_2c_20int_2c_20b2Color_20const__29, b2DrawWrapper__DrawCircle_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29, b2DrawWrapper__DrawSolidCircle_28b2Vec2_20const__2c_20float_2c_20b2Vec2_20const__2c_20b2Color_20const__29, b2DrawWrapper__DrawSegment_28b2Vec2_20const__2c_20b2Vec2_20const__2c_20b2Color_20const__29, b2DrawWrapper__DrawTransform_28b2Transform_20const__29, b2DrawWrapper__DrawPoint_28b2Vec2_20const__2c_20float_2c_20b2Color_20const__29, emscripten__wrapper_b2Draw____wrapper_28_29, emscripten__wrapper_b2Draw____wrapper_28_29_1, b2Shape___b2Shape_28_29, b2Shape___b2Shape_28_29_1, b2CircleShape___b2CircleShape_28_29, b2CircleShape___b2CircleShape_28_29_1, b2CircleShape__Clone_28b2BlockAllocator__29_20const, b2CircleShape__GetChildCount_28_29_20const, b2CircleShape__TestPoint_28b2Transform_20const__2c_20b2Vec2_20const__29_20const, b2CircleShape__RayCast_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const, b2CircleShape__ComputeAABB_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const, b2CircleShape__ComputeMass_28b2MassData__2c_20float_29_20const, b2EdgeShape___b2EdgeShape_28_29, b2EdgeShape___b2EdgeShape_28_29_1, b2EdgeShape__Clone_28b2BlockAllocator__29_20const, b2EdgeShape__GetChildCount_28_29_20const, b2EdgeShape__TestPoint_28b2Transform_20const__2c_20b2Vec2_20const__29_20const, b2EdgeShape__RayCast_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const, b2EdgeShape__ComputeAABB_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const, b2EdgeShape__ComputeMass_28b2MassData__2c_20float_29_20const, b2PolygonShape___b2PolygonShape_28_29, b2PolygonShape___b2PolygonShape_28_29_1, b2PolygonShape__Clone_28b2BlockAllocator__29_20const, b2PolygonShape__GetChildCount_28_29_20const, b2PolygonShape__TestPoint_28b2Transform_20const__2c_20b2Vec2_20const__29_20const, b2PolygonShape__RayCast_28b2RayCastOutput__2c_20b2RayCastInput_20const__2c_20b2Transform_20const__2c_20int_29_20const, b2PolygonShape__ComputeAABB_28b2AABB__2c_20b2Transform_20const__2c_20int_29_20const, b2PolygonShape__ComputeMass_28b2MassData__2c_20float_29_20const, b2Draw___b2Draw_28_29, b2Draw___b2Draw_28_29_1, b2CircleContact__b2CircleContact_28b2Fixture__2c_20b2Fixture__29, b2CircleContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29, b2CircleContact___b2CircleContact_28_29, b2CircleContact___b2CircleContact_28_29_1, b2ChainAndCircleContact__b2ChainAndCircleContact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29, b2ChainAndCircleContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29, b2ChainAndCircleContact___b2ChainAndCircleContact_28_29, b2ChainAndCircleContact___b2ChainAndCircleContact_28_29_1, b2ChainAndPolygonContact__b2ChainAndPolygonContact_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_29, b2ChainAndPolygonContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29, b2ChainAndPolygonContact___b2ChainAndPolygonContact_28_29, b2ChainAndPolygonContact___b2ChainAndPolygonContact_28_29_1, b2CircleContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29, b2CircleContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29, b2PolygonAndCircleContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29, b2PolygonAndCircleContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29, b2PolygonContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29, b2PolygonContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29, b2EdgeAndCircleContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29, b2EdgeAndCircleContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29, b2EdgeAndPolygonContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29, b2EdgeAndPolygonContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29, b2ChainAndCircleContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29, b2ChainAndCircleContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29, b2ChainAndPolygonContact__Create_28b2Fixture__2c_20int_2c_20b2Fixture__2c_20int_2c_20b2BlockAllocator__29, b2ChainAndPolygonContact__Destroy_28b2Contact__2c_20b2BlockAllocator__29, b2Contact___b2Contact_28_29, b2Contact___b2Contact_28_29_1, __cxx_global_array_dtor, __cxx_global_array_dtor_2, b2DistanceJoint__GetAnchorA_28_29_20const, b2DistanceJoint__GetAnchorB_28_29_20const, b2DistanceJoint__GetReactionForce_28float_29_20const, b2DistanceJoint__GetReactionTorque_28float_29_20const, b2DistanceJoint__Dump_28_29, b2Joint__ShiftOrigin_28b2Vec2_20const__29, b2Joint__Draw_28b2Draw__29_20const, b2DistanceJoint___b2DistanceJoint_28_29, b2DistanceJoint___b2DistanceJoint_28_29_1, b2DistanceJoint__InitVelocityConstraints_28b2SolverData_20const__29, b2DistanceJoint__SolveVelocityConstraints_28b2SolverData_20const__29, b2DistanceJoint__SolvePositionConstraints_28b2SolverData_20const__29, b2EdgeAndCircleContact__b2EdgeAndCircleContact_28b2Fixture__2c_20b2Fixture__29, b2EdgeAndCircleContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29, b2EdgeAndCircleContact___b2EdgeAndCircleContact_28_29, b2EdgeAndCircleContact___b2EdgeAndCircleContact_28_29_1, b2EdgeAndPolygonContact__b2EdgeAndPolygonContact_28b2Fixture__2c_20b2Fixture__29, b2EdgeAndPolygonContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29, b2EdgeAndPolygonContact___b2EdgeAndPolygonContact_28_29, b2EdgeAndPolygonContact___b2EdgeAndPolygonContact_28_29_1, b2GearJoint__GetAnchorA_28_29_20const, b2GearJoint__GetAnchorB_28_29_20const, b2GearJoint__GetReactionForce_28float_29_20const, b2GearJoint__GetReactionTorque_28float_29_20const, b2GearJoint__Dump_28_29, b2GearJoint___b2GearJoint_28_29, b2GearJoint___b2GearJoint_28_29_1, b2GearJoint__InitVelocityConstraints_28b2SolverData_20const__29, b2GearJoint__SolveVelocityConstraints_28b2SolverData_20const__29, b2GearJoint__SolvePositionConstraints_28b2SolverData_20const__29, b2FrictionJoint__GetAnchorA_28_29_20const, b2FrictionJoint__GetAnchorB_28_29_20const, b2FrictionJoint__GetReactionForce_28float_29_20const, b2FrictionJoint__GetReactionTorque_28float_29_20const, b2FrictionJoint__Dump_28_29, b2FrictionJoint___b2FrictionJoint_28_29, b2FrictionJoint___b2FrictionJoint_28_29_1, b2FrictionJoint__InitVelocityConstraints_28b2SolverData_20const__29, b2FrictionJoint__SolveVelocityConstraints_28b2SolverData_20const__29, b2FrictionJoint__SolvePositionConstraints_28b2SolverData_20const__29, b2Joint__Dump_28_29, b2Joint___b2Joint_28_29, b2Joint___b2Joint_28_29_1, b2MotorJoint__GetAnchorA_28_29_20const, b2MotorJoint__GetAnchorB_28_29_20const, b2MotorJoint__GetReactionForce_28float_29_20const, b2MotorJoint__GetReactionTorque_28float_29_20const, b2MotorJoint__Dump_28_29, b2MotorJoint___b2MotorJoint_28_29, b2MotorJoint___b2MotorJoint_28_29_1, b2MotorJoint__InitVelocityConstraints_28b2SolverData_20const__29, b2MotorJoint__SolveVelocityConstraints_28b2SolverData_20const__29, b2MotorJoint__SolvePositionConstraints_28b2SolverData_20const__29, b2MouseJoint__GetAnchorA_28_29_20const, b2MouseJoint__GetAnchorB_28_29_20const, b2MouseJoint__GetReactionForce_28float_29_20const, b2MouseJoint__GetReactionTorque_28float_29_20const, b2MouseJoint__Dump_28_29, b2MouseJoint__ShiftOrigin_28b2Vec2_20const__29, b2MouseJoint___b2MouseJoint_28_29, b2MouseJoint___b2MouseJoint_28_29_1, b2MouseJoint__InitVelocityConstraints_28b2SolverData_20const__29, b2MouseJoint__SolveVelocityConstraints_28b2SolverData_20const__29, b2MouseJoint__SolvePositionConstraints_28b2SolverData_20const__29, b2PolygonAndCircleContact__b2PolygonAndCircleContact_28b2Fixture__2c_20b2Fixture__29, b2PolygonAndCircleContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29, b2PolygonAndCircleContact___b2PolygonAndCircleContact_28_29, b2PolygonAndCircleContact___b2PolygonAndCircleContact_28_29_1, b2PolygonContact__b2PolygonContact_28b2Fixture__2c_20b2Fixture__29, b2PolygonContact__Evaluate_28b2Manifold__2c_20b2Transform_20const__2c_20b2Transform_20const__29, b2PolygonContact___b2PolygonContact_28_29, b2PolygonContact___b2PolygonContact_28_29_1, b2PrismaticJoint__GetAnchorA_28_29_20const, b2PrismaticJoint__GetAnchorB_28_29_20const, b2PrismaticJoint__GetReactionForce_28float_29_20const, b2PrismaticJoint__GetReactionTorque_28float_29_20const, b2PrismaticJoint__Dump_28_29, b2PrismaticJoint__Draw_28b2Draw__29_20const, b2PrismaticJoint___b2PrismaticJoint_28_29, b2PrismaticJoint___b2PrismaticJoint_28_29_1, b2PrismaticJoint__InitVelocityConstraints_28b2SolverData_20const__29, b2PrismaticJoint__SolveVelocityConstraints_28b2SolverData_20const__29, b2PrismaticJoint__SolvePositionConstraints_28b2SolverData_20const__29, b2PulleyJoint__GetAnchorA_28_29_20const, b2PulleyJoint__GetAnchorB_28_29_20const, b2PulleyJoint__GetReactionForce_28float_29_20const, b2PulleyJoint__GetReactionTorque_28float_29_20const, b2PulleyJoint__Dump_28_29, b2PulleyJoint__ShiftOrigin_28b2Vec2_20const__29, b2PulleyJoint___b2PulleyJoint_28_29, b2PulleyJoint___b2PulleyJoint_28_29_1, b2PulleyJoint__InitVelocityConstraints_28b2SolverData_20const__29, b2PulleyJoint__SolveVelocityConstraints_28b2SolverData_20const__29, b2PulleyJoint__SolvePositionConstraints_28b2SolverData_20const__29, b2RevoluteJoint__GetAnchorA_28_29_20const, b2RevoluteJoint__GetAnchorB_28_29_20const, b2RevoluteJoint__GetReactionForce_28float_29_20const, b2RevoluteJoint__GetReactionTorque_28float_29_20const, b2RevoluteJoint__Dump_28_29, b2RevoluteJoint__Draw_28b2Draw__29_20const, b2RevoluteJoint___b2RevoluteJoint_28_29, b2RevoluteJoint___b2RevoluteJoint_28_29_1, b2RevoluteJoint__InitVelocityConstraints_28b2SolverData_20const__29, b2RevoluteJoint__SolveVelocityConstraints_28b2SolverData_20const__29, b2RevoluteJoint__SolvePositionConstraints_28b2SolverData_20const__29, b2RopeJoint__GetAnchorA_28_29_20const, b2RopeJoint__GetAnchorB_28_29_20const, b2RopeJoint__GetReactionForce_28float_29_20const, b2RopeJoint__GetReactionTorque_28float_29_20const, b2RopeJoint__Dump_28_29, b2RopeJoint___b2RopeJoint_28_29, b2RopeJoint___b2RopeJoint_28_29_1, b2RopeJoint__InitVelocityConstraints_28b2SolverData_20const__29, b2RopeJoint__SolveVelocityConstraints_28b2SolverData_20const__29, b2RopeJoint__SolvePositionConstraints_28b2SolverData_20const__29, b2WeldJoint__GetAnchorA_28_29_20const, b2WeldJoint__GetAnchorB_28_29_20const, b2WeldJoint__GetReactionForce_28float_29_20const, b2WeldJoint__GetReactionTorque_28float_29_20const, b2WeldJoint__Dump_28_29, b2WeldJoint___b2WeldJoint_28_29, b2WeldJoint___b2WeldJoint_28_29_1, b2WeldJoint__InitVelocityConstraints_28b2SolverData_20const__29, b2WeldJoint__SolveVelocityConstraints_28b2SolverData_20const__29, b2WeldJoint__SolvePositionConstraints_28b2SolverData_20const__29, b2WheelJoint__GetAnchorA_28_29_20const, b2WheelJoint__GetAnchorB_28_29_20const, b2WheelJoint__GetReactionForce_28float_29_20const, b2WheelJoint__GetReactionTorque_28float_29_20const, b2WheelJoint__Dump_28_29, b2WheelJoint__Draw_28b2Draw__29_20const, b2WheelJoint___b2WheelJoint_28_29, b2WheelJoint___b2WheelJoint_28_29_1, b2WheelJoint__InitVelocityConstraints_28b2SolverData_20const__29, b2WheelJoint__SolveVelocityConstraints_28b2SolverData_20const__29, b2WheelJoint__SolvePositionConstraints_28b2SolverData_20const__29, b2ContactFilter___b2ContactFilter_28_29, b2ContactFilter___b2ContactFilter_28_29_1, b2ContactFilter__ShouldCollide_28b2Fixture__2c_20b2Fixture__29, embind_init_builtin_28_29, __stdio_seek, __stdio_write, __stdio_read, __stdio_close, fmt_fp, pop_arg_long_double, __emscripten_stdout_close, __emscripten_stdout_seek, __cxxabiv1____shim_type_info_____shim_type_info_28_29, __cxxabiv1____fundamental_type_info_____fundamental_type_info_28_29, __cxxabiv1____shim_type_info__noop1_28_29_20const, __cxxabiv1____shim_type_info__noop2_28_29_20const, __cxxabiv1____fundamental_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const, __cxxabiv1____enum_type_info_____enum_type_info_28_29, __cxxabiv1____enum_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const, __cxxabiv1____class_type_info_____class_type_info_28_29, __cxxabiv1____class_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const, __cxxabiv1____class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const, __cxxabiv1____si_class_type_info_____si_class_type_info_28_29, __cxxabiv1____si_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____si_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____si_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const, __cxxabiv1____vmi_class_type_info_____vmi_class_type_info_28_29, __cxxabiv1____vmi_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____vmi_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____vmi_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const, __cxxabiv1____pointer_type_info_____pointer_type_info_28_29, __cxxabiv1____pointer_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const]); + function __wasm_memory_size() { + return buffer.byteLength / 65536 | 0; +} + + function __wasm_memory_grow(pagesToAdd) { + pagesToAdd = pagesToAdd | 0; + var oldPages = __wasm_memory_size() | 0; + var newPages = oldPages + pagesToAdd | 0; + if ((oldPages < newPages) && (newPages < 65536)) { + var newBuffer = new ArrayBuffer(Math_imul(newPages, 65536)); + var newHEAP8 = new Int8Array(newBuffer); + newHEAP8.set(HEAP8); + HEAP8 = new Int8Array(newBuffer); + HEAP16 = new Int16Array(newBuffer); + HEAP32 = new Int32Array(newBuffer); + HEAPU8 = new Uint8Array(newBuffer); + HEAPU16 = new Uint16Array(newBuffer); + HEAPU32 = new Uint32Array(newBuffer); + HEAPF32 = new Float32Array(newBuffer); + HEAPF64 = new Float64Array(newBuffer); + buffer = newBuffer; + memory.buffer = buffer; + bufferView = HEAPU8; + } + return oldPages; +} + + return { + "__wasm_call_ctors": __wasm_call_ctors, + "__indirect_function_table": FUNCTION_TABLE, + "malloc": dlmalloc, + "free": dlfree, + "__getTypeName": __getTypeName, + "_embind_initialize_bindings": _embind_initialize_bindings, + "__errno_location": __errno_location, + "stackSave": stackSave, + "stackRestore": stackRestore, + "stackAlloc": stackAlloc, + "dynCall_jiji": legalstub$dynCall_jiji +}; +} + + return asmFunc(info); +} +// EMSCRIPTEN_END_ASM + + +)(info); + }, + + instantiate: /** @suppress{checkTypes} */ function(binary, info) { + return { + then: function(ok) { + var module = new WebAssembly.Module(binary); + ok({ + 'instance': new WebAssembly.Instance(module, info) + }); + } + }; + }, + + RuntimeError: Error +}; + +// We don't need to actually download a wasm binary, mark it as present but empty. +wasmBinary = []; + +// end include: wasm2js.js +if (typeof WebAssembly != 'object') { + abort('no native wasm support detected'); +} + +// Wasm globals + +var wasmMemory; + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS; + +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + // This build was created without ASSERTIONS defined. `assert()` should not + // ever be called in this configuration but in case there are callers in + // the wild leave this simple abort() implemenation here for now. + abort(text); + } +} + +// Memory management + +var HEAP, +/** @type {!Int8Array} */ + HEAP8, +/** @type {!Uint8Array} */ + HEAPU8, +/** @type {!Int16Array} */ + HEAP16, +/** @type {!Uint16Array} */ + HEAPU16, +/** @type {!Int32Array} */ + HEAP32, +/** @type {!Uint32Array} */ + HEAPU32, +/** @type {!Float32Array} */ + HEAPF32, +/** @type {!Float64Array} */ + 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); +} + +// In non-standalone/normal mode, we create the memory here. +// include: runtime_init_memory.js +// Create the wasm memory. (Note: this only applies if IMPORTED_MEMORY is defined) + +var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216; + +assert(INITIAL_MEMORY >= 65536, 'INITIAL_MEMORY should be larger than STACK_SIZE, was ' + INITIAL_MEMORY + '! (STACK_SIZE=' + 65536 + ')'); + +// check for full engine support (use string 'subarray' to avoid closure compiler confusion) + + if (Module['wasmMemory']) { + wasmMemory = Module['wasmMemory']; + } else + { + wasmMemory = new WebAssembly.Memory({ + 'initial': INITIAL_MEMORY / 65536, + // In theory we should not need to emit the maximum if we want "unlimited" + // or 4GB of memory, but VMs error on that atm, see + // https://github.com/emscripten-core/emscripten/issues/14130 + // And in the pthreads case we definitely need to emit a maximum. So + // always emit one. + 'maximum': 2147483648 / 65536 + }); + } + +updateMemoryViews(); + +// If the user provides an incorrect length, just use that length instead rather than providing the user to +// specifically provide the memory length with Module['INITIAL_MEMORY']. +INITIAL_MEMORY = wasmMemory.buffer.byteLength; + +// end include: runtime_init_memory.js + +// include: runtime_init_table.js +// In regular non-RELOCATABLE mode the table is exported +// from the wasm module and this will be assigned once +// the exports are available. +var wasmTable; + +// end include: runtime_init_table.js +// include: runtime_stack_check.js +// end include: runtime_stack_check.js +// include: runtime_assertions.js +// end include: runtime_assertions.js +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +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() { + runtimeInitialized = true; + + +if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); +FS.ignorePermissions = false; + +TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function postRun() { + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnExit(cb) { +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +// include: runtime_math.js +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + +// end include: runtime_math.js +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled + +function getUniqueRunDependency(id) { + return id; +} + +function addRunDependency(id) { + runDependencies++; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + +} + +function removeRunDependency(id) { + runDependencies--; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} + +/** @param {string|number=} what */ +function abort(what) { + if (Module['onAbort']) { + Module['onAbort'](what); + } + + what = 'Aborted(' + what + ')'; + // TODO(sbc): Should we remove printing and leave it up to whoever + // catches the exception? + err(what); + + ABORT = true; + EXITSTATUS = 1; + + what += '. Build with -sASSERTIONS for more info.'; + + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + // FIXME This approach does not work in Wasm EH because it currently does not assume + // all RuntimeErrors are from traps; it decides whether a RuntimeError is from + // a trap or not based on a hidden field within the object. So at the moment + // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that + // allows this in the wasm spec. + + // Suppress closure compiler warning here. Closure compiler's builtin extern + // defintion for WebAssembly.RuntimeError claims it takes no arguments even + // though it can. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. + /** @suppress {checkTypes} */ + var e = new WebAssembly.RuntimeError(what); + + readyPromiseReject(e); + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + +// include: memoryprofiler.js +// end include: memoryprofiler.js +// include: URIUtils.js +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +// Indicates whether filename is a base64 data URI. +function isDataURI(filename) { + // Prefix of data URIs emitted by SINGLE_FILE and related options. + return filename.startsWith(dataURIPrefix); +} + +// Indicates whether filename is delivered via file protocol (as opposed to http/https) +function isFileURI(filename) { + return filename.startsWith('file://'); +} + +// end include: URIUtils.js +// include: runtime_exceptions.js +// end include: runtime_exceptions.js +var wasmBinaryFile; + wasmBinaryFile = '<<< WASM_BINARY_FILE >>>'; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + var binary = tryParseAsDataURI(file); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } + catch (err) { + abort(err); + } +} + +function getBinaryPromise(binaryFile) { + // If we don't have the binary yet, try to load it asynchronously. + // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. + // See https://github.com/github/fetch/pull/92#issuecomment-140665932 + // Cordova or Electron apps are typically loaded from a file:// url. + // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == 'function' + ) { + return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { + if (!response['ok']) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response['arrayBuffer'](); + }).catch(() => getBinary(binaryFile)); + } + } + + // Otherwise, getBinary should be able to get it synchronously + return Promise.resolve().then(() => getBinary(binaryFile)); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then((binary) => { + return WebAssembly.instantiate(binary, imports); + }).then((instance) => { + return instance; + }).then(receiver, (reason) => { + err('failed to asynchronously prepare wasm: ' + reason); + + 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((response) => { + // Suppress closure warning here since the upstream definition for + // instantiateStreaming only allows Promise rather than + // an actual Response. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. + /** @suppress {checkTypes} */ + var result = WebAssembly.instantiateStreaming(response, imports); + + return result.then( + callback, + function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err('wasm streaming compile failed: ' + reason); + err('falling back to ArrayBuffer instantiation'); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } else { + return instantiateArrayBuffer(binaryFile, imports, callback); + } +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': wasmImports, + 'wasi_snapshot_preview1': wasmImports, + }; + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ + function receiveInstance(instance, module) { + var exports = instance.exports; + + Module['asm'] = exports; + + wasmTable = Module['asm']['__indirect_function_table']; + + addOnInit(Module['asm']['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + return exports; + } + // wait for the pthread pool (if any) + addRunDependency('wasm-instantiate'); + + // Prefer streaming instantiation if available. + function receiveInstantiationResult(result) { + // 'result' is a ResultObject object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to + // run the instantiation parallel to any other async startup actions they are + // performing. + // Also pthreads and wasm workers initialize the wasm instance through this + // path. + if (Module['instantiateWasm']) { + + try { + return Module['instantiateWasm'](info, receiveInstance); + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// include: runtime_debug.js +// end include: runtime_debug.js +// === Body === + + +// end include: preamble.js + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = `Program terminated with exit(${status})`; + this.status = status; + } + + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + // Pass the module as the first argument. + callbacks.shift()(Module); + } + } + + + /** + * @param {number} ptr + * @param {string} type + */ + 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': abort('to do getValue(i64) use WASM_BIGINT'); + 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 intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + chr &= 0xFF; + } + ret.push(String.fromCharCode(chr)); + } + return ret.join(''); + } + + + /** + * @param {number} ptr + * @param {number} value + * @param {string} type + */ + 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': abort('to do setValue(i64) use WASM_BIGINT'); + 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}`); + } + } + + var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; + + /** + * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given + * array that contains uint8 values, returns a copy of that string as a + * Javascript String object. + * heapOrArray is either a regular array, or a JavaScript typed array view. + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ + function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. Also, use the length info to avoid running tiny + // strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, + // so that undefined means Infinity) + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ''; + // If building with TextDecoder, we have already computed the string length + // above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heapOrArray[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); + } + + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + return str; + } + + + /** + * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the + * emscripten HEAP, returns a copy of that string as a Javascript String object. + * + * @param {number} ptr + * @param {number=} maxBytesToRead - An optional length that specifies the + * maximum number of bytes to read. You can omit this parameter to scan the + * string until the first 0 byte. If maxBytesToRead is passed, and the string + * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the + * string will cut short at that byte index (i.e. maxBytesToRead will not + * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing + * frequent uses of UTF8ToString() with and without maxBytesToRead may throw + * JS JIT optimizations off, so it is worth to consider consistently using one + * @return {string} + */ + function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; + } + 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 setErrNo(value) { + HEAP32[((___errno_location())>>2)] = value; + return value; + } + + var PATH = {isAbs:(path) => path.charAt(0) === '/',splitPath:(filename) => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:(parts, allowAboveRoot) => { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift('..'); + } + } + return parts; + },normalize:(path) => { + var isAbsolute = PATH.isAbs(path), + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:(path) => { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:(path) => { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },join:function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join('/')); + },join2:(l, r) => { + return PATH.normalize(l + '/' + r); + }}; + + function initRandomFill() { + if (typeof crypto == 'object' && typeof crypto['getRandomValues'] == 'function') { + // for modern web browsers + return (view) => crypto.getRandomValues(view); + } else + // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 + abort("initRandomDevice"); + } + function randomFill(view) { + // Lazily init on the first invocation. + return (randomFill = initRandomFill())(view); + } + + + + var PATH_FS = {resolve:function() { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path != 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:(from, to) => { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var c = str.charCodeAt(i); // possibly a lead surrogate + if (c <= 0x7F) { + len++; + } else if (c <= 0x7FF) { + len += 2; + } else if (c >= 0xD800 && c <= 0xDFFF) { + len += 4; ++i; + } else { + len += 3; + } + } + return len; + } + + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + // Parameter maxBytesToWrite is not optional. Negative values, 0, null, + // undefined and false each don't write out any bytes. + if (!(maxBytesToWrite > 0)) + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description + // and https://www.ietf.org/rfc/rfc2279.txt + // and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); + } + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 0xC0 | (u >> 6); + heap[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 0xE0 | (u >> 12); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 0xF0 | (u >> 18); + heap[outIdx++] = 0x80 | ((u >> 12) & 63); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx] = 0; + return outIdx - startIdx; + } + /** @type {function(string, boolean=, number=)} */ + 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; + } + + var TTY = {ttys:[],init:function () { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process.stdin.setEncoding('utf8'); + // } + },shutdown:function() { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process.stdin.pause(); + // } + },register:function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + },close:function(stream) { + // flush any pending line data + stream.tty.ops.fsync(stream.tty); + },fsync:function(stream) { + stream.tty.ops.fsync(stream.tty); + },read:function(stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function(tty) { + if (!tty.input.length) { + var result = null; + if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },fsync:function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },fsync:function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + + function zeroMemory(address, size) { + HEAPU8.fill(0, address, address + size); + return address; + } + + function alignMemory(size, alignment) { + return Math.ceil(size / alignment) * alignment; + } + function mmapAlloc(size) { + abort(); + } + var MEMFS = {ops_table:null,mount:function(mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + },getFileDataAsTypedArray:function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + },resizeFileStorage:function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + } + },node_ops:{getattr:function(node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function(parent, name) { + throw FS.genericErrors[44]; + },mknod:function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function(old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now() + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + },unlink:function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + },rmdir:function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + },readdir:function(node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + }},stream_ops:{read:function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function(stream, buffer, offset, length, position, canOwn) { + // If the buffer is located in main memory (HEAP), and if + // memory can grow, we can't hold on to references of the + // memory buffer, as they may get invalidated. That means we + // need to do copy its contents. + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) { + // Use typed array write which is available. + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + },llseek:function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + },allocate:function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + // We can't emulate MAP_SHARED when the file is not backed by the + // buffer we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + /** @param {boolean=} noRunDep */ + function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency(`al ${url}`) : ''; + readAsync(url, (arrayBuffer) => { + assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, (event) => { + if (onerror) { + onerror(); + } else { + throw `Loading data file "${url}" failed.`; + } + }); + if (dep) addRunDependency(dep); + } + + var preloadPlugins = Module['preloadPlugins'] || []; + function FS_handledByPreloadPlugin(byteArray, fullname, finish, onerror) { + // Ensure plugins are ready. + if (typeof Browser != 'undefined') Browser.init(); + + var handled = false; + preloadPlugins.forEach(function(plugin) { + if (handled) return; + if (plugin['canHandle'](fullname)) { + plugin['handle'](byteArray, fullname, finish, onerror); + handled = true; + } + }); + return handled; + } + function FS_createPreloadedFile(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + asyncLoad(url, (byteArray) => processData(byteArray), onerror); + } else { + processData(url); + } + } + + function FS_modeStringToFlags(str) { + var flagModes = { + 'r': 0, + 'r+': 2, + 'w': 512 | 64 | 1, + 'w+': 512 | 64 | 2, + 'a': 1024 | 64 | 1, + 'a+': 1024 | 64 | 2, + }; + var flags = flagModes[str]; + if (typeof flags == 'undefined') { + throw new Error(`Unknown file open mode: ${str}`); + } + return flags; + } + + function FS_getMode(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + } + + + + var FS = {root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path, opts = {}) => { + path = PATH_FS.resolve(path); + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts) + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(32); + } + + // split the absolute path + var parts = path.split('/').filter((p) => !!p); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(32); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:(node) => { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; + } + path = path ? `${node.name}/${path}` : node.name; + node = node.parent; + } + },hashName:(parentid, name) => { + var hash = 0; + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:(parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:(parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:(node) => { + FS.hashRemoveNode(node); + },isRoot:(node) => { + return node === node.parent; + },isMountpoint:(node) => { + return !!node.mounted; + },isFile:(mode) => { + return (mode & 61440) === 32768; + },isDir:(mode) => { + return (mode & 61440) === 16384; + },isLink:(mode) => { + return (mode & 61440) === 40960; + },isChrdev:(mode) => { + return (mode & 61440) === 8192; + },isBlkdev:(mode) => { + return (mode & 61440) === 24576; + },isFIFO:(mode) => { + return (mode & 61440) === 4096; + },isSocket:(mode) => { + return (mode & 49152) === 49152; + },flagsToPermissionString:(flag) => { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:(node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.includes('r') && !(node.mode & 292)) { + return 2; + } else if (perms.includes('w') && !(node.mode & 146)) { + return 2; + } else if (perms.includes('x') && !(node.mode & 73)) { + return 2; + } + return 0; + },mayLookup:(dir) => { + var errCode = FS.nodePermissions(dir, 'x'); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + },mayCreate:(dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:(dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, 'wx'); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + },mayOpen:(node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:() => { + for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + },getStream:(fd) => FS.streams[fd],createStream:(stream, fd = -1) => { + if (!FS.FSStream) { + FS.FSStream = /** @constructor */ function() { + this.shared = { }; + }; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + /** @this {FS.FSStream} */ + get: function() { return this.node; }, + /** @this {FS.FSStream} */ + set: function(val) { this.node = val; } + }, + isRead: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 1024); } + }, + flags: { + /** @this {FS.FSStream} */ + get: function() { return this.shared.flags; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.flags = val; }, + }, + position : { + /** @this {FS.FSStream} */ + get: function() { return this.shared.position; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.position = val; }, + }, + }); + } + // clone it, so we can return an instance of FSStream + stream = Object.assign(new FS.FSStream(), stream); + if (fd == -1) { + fd = FS.nextfd(); + } + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:(fd) => { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:(stream) => { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:() => { + throw new FS.ErrnoError(70); + }},major:(dev) => ((dev) >> 8),minor:(dev) => ((dev) & 0xff),makedev:(ma, mi) => ((ma) << 8 | (mi)),registerDevice:(dev, ops) => { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:(dev) => FS.devices[dev],getMounts:(mount) => { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:(populate, callback) => { + if (typeof populate == 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:(type, opts, mountpoint) => { + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:(mountpoint) => { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + },lookup:(parent, name) => { + return parent.node_ops.lookup(parent, name); + },mknod:(path, mode, dev) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:(path, mode) => { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:(path, mode) => { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:(path, mode) => { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != 20) throw e; + } + } + },mkdev:(path, mode, dev) => { + if (typeof dev == 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:(oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:(old_path, new_path) => { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + + // let the errors from non existant directories percolate up + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(28); + } + // new path should not be an ancestor of the old path + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(55); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + errCode = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + },rmdir:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + },readdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + },unlink:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + },readlink:(path) => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:(path, dontFollow) => { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + },lstat:(path) => { + return FS.stat(path, true); + },chmod:(path, mode, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:(path, mode) => { + FS.chmod(path, mode, true); + },fchmod:(fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + },chown:(path, uid, gid, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:(path, uid, gid) => { + FS.chown(path, uid, gid, true); + },fchown:(fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + },truncate:(path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:(fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + },utime:(path, atime, mtime) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:(path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; + mode = typeof mode == 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(20); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // do truncation if necessary + if ((flags & 512) && !created) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512 | 131072); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + },close:(stream) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + },isClosed:(stream) => { + return stream.fd === null; + },llseek:(stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:(stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:(stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + },allocate:(stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:(stream, length, position, prot, flags) => { + // User requests writing to file (prot & PROT_WRITE != 0). + // Checking if we have permissions to write to the file unless + // MAP_PRIVATE flag is set. According to POSIX spec it is possible + // to write to file opened in read-only mode with MAP_PRIVATE flag, + // as all modifications will be visible only in the memory of + // the current process. + if ((prot & 2) !== 0 + && (flags & 2) === 0 + && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + },msync:(stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:(stream) => 0,ioctl:(stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:(path, opts = {}) => { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error(`Invalid encoding type "${opts.encoding}"`); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:(path, data, opts = {}) => { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == 'string') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error('Unsupported data type'); + } + FS.close(stream); + },cwd:() => FS.currentPath,chdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, 'x'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:() => { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:() => { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using err() rather than out() + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + // use a buffer to avoid overhead of individual crypto calls per byte + var randomBuffer = new Uint8Array(1024), randomLeft = 0; + var randomByte = () => { + if (randomLeft === 0) { + randomLeft = randomFill(randomBuffer).byteLength; + } + return randomBuffer[--randomLeft]; + }; + FS.createDevice('/dev', 'random', randomByte); + FS.createDevice('/dev', 'urandom', randomByte); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:() => { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the + // name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + var proc_self = FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: () => stream.path }, + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:() => { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 0); + var stdout = FS.open('/dev/stdout', 1); + var stderr = FS.open('/dev/stderr', 1); + },ensureErrnoError:() => { + if (FS.ErrnoError) return; + FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) { + // We set the `name` property to be able to identify `FS.ErrnoError` + // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. + // - when using PROXYFS, an error can come from an underlying FS + // as different FS objects have their own FS.ErrnoError each, + // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. + // we'll use the reliable test `err.name == "ErrnoError"` instead + this.name = 'ErrnoError'; + this.node = node; + this.setErrno = /** @this{Object} */ function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = 'FS error'; + + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [44].forEach((code) => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:() => { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + }; + },init:(input, output, error) => { + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:() => { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },findObject:(path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + },analyzePath:(path, dontResolveLastLink) => { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createPath:(parent, path, canRead, canWrite) => { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:(parent, name, properties, canRead, canWrite) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS_getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:(parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS_getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:(parent, name, input, output) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS_getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: (stream) => { + stream.seekable = false; + }, + close: (stream) => { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (stream, buffer, offset, length, pos /* ignored */) => { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },forceLoadFile:(obj) => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + if (typeof XMLHttpRequest != 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + },createLazyFile:(parent, name, url, canRead, canWrite) => { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + /** @constructor */ + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (from, to) => { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(/** @type{Array} */(xhr.response || [])); + } + return intArrayFromString(xhr.responseText || '', true); + }; + var lazyArray = this; + lazyArray.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof lazyArray.chunks[chunkNum] == 'undefined') { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: /** @this{Object} */ function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: /** @this{Object} */ function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: /** @this {FSNode} */ function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + // use a custom read function + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position) + }; + // use a custom mmap function + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { ptr: ptr, allocated: true }; + }; + node.stream_ops = stream_ops; + return node; + }}; + + var SYSCALLS = {DEFAULT_POLLMASK:5,calculateAt:function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44);; + } + return dir; + } + return PATH.join2(dir, path); + },doStat:function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -54; + } + throw e; + } + HEAP32[((buf)>>2)] = stat.dev; + HEAP32[(((buf)+(8))>>2)] = stat.ino; + HEAP32[(((buf)+(12))>>2)] = stat.mode; + HEAPU32[(((buf)+(16))>>2)] = stat.nlink; + HEAP32[(((buf)+(20))>>2)] = stat.uid; + HEAP32[(((buf)+(24))>>2)] = stat.gid; + HEAP32[(((buf)+(28))>>2)] = stat.rdev; + (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]); + HEAP32[(((buf)+(48))>>2)] = 4096; + HEAP32[(((buf)+(52))>>2)] = stat.blocks; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + (tempI64 = [Math.floor(atime / 1000)>>>0,(tempDouble=Math.floor(atime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(56))>>2)] = tempI64[0],HEAP32[(((buf)+(60))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(64))>>2)] = (atime % 1000) * 1000; + (tempI64 = [Math.floor(mtime / 1000)>>>0,(tempDouble=Math.floor(mtime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(72))>>2)] = tempI64[0],HEAP32[(((buf)+(76))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(80))>>2)] = (mtime % 1000) * 1000; + (tempI64 = [Math.floor(ctime / 1000)>>>0,(tempDouble=Math.floor(ctime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(88))>>2)] = tempI64[0],HEAP32[(((buf)+(92))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(96))>>2)] = (ctime % 1000) * 1000; + (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(104))>>2)] = tempI64[0],HEAP32[(((buf)+(108))>>2)] = tempI64[1]); + return 0; + },doMsync:function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + },varargs:undefined,get:function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + },getStreamFromFD:function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + }}; + function ___syscall_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.createStream(stream, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 5: + /* case 5: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { + + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)] = 2; + return 0; + } + case 6: + case 7: + /* case 6: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + /* case 7: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + + + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -28; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fcntl() returns that, and we set errno ourselves. + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; + return -e.errno; + } + } + + function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -59; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)] = 0; + return 0; + } + case 21520: { + if (!stream.tty) return -59; + return -28; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -59; + return 0; + } + case 21524: { + // TODO: technically, this ioctl call should change the window size. + // but, since emscripten doesn't have any concept of a terminal window + // yet, we'll just silently throw it away as we do TIOCGWINSZ + if (!stream.tty) return -59; + return 0; + } + default: return -28; // not supported + } + } catch (e) { + if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; + return -e.errno; + } + } + + function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; + return -e.errno; + } + } + + var char_0 = 48; + + var char_9 = 57; + function makeLegalFunctionName(name) { + if (undefined === name) { + return '_unknown'; + } + name = name.replace(/[^a-zA-Z0-9_]/g, '$'); + var f = name.charCodeAt(0); + if (f >= char_0 && f <= char_9) { + return `_${name}`; + } + return name; + } + function createNamedFunction(name, body) { + name = makeLegalFunctionName(name); + // Use an abject with a computed property name to create a new function with + // a name specified at runtime, but without using `new Function` or `eval`. + return { + [name]: function() { + return body.apply(this, arguments); + } + }[name]; + } + + /** @constructor */ + function HandleAllocator() { + // Reserve slot 0 so that 0 is always an invalid handle + this.allocated = [undefined]; + this.freelist = []; + this.get = function(id) { + return this.allocated[id]; + }; + this.has = function(id) { + return this.allocated[id] !== undefined; + }; + this.allocate = function(handle) { + var id = this.freelist.pop() || this.allocated.length; + this.allocated[id] = handle; + return id; + }; + this.free = function(id) { + // Set the slot to `undefined` rather than using `delete` here since + // apparently arrays with holes in them can be less efficient. + this.allocated[id] = undefined; + this.freelist.push(id); + }; + } + var emval_handles = new HandleAllocator();; + + function extendError(baseErrorType, errorName) { + var errorClass = createNamedFunction(errorName, function(message) { + this.name = errorName; + this.message = message; + + var stack = (new Error(message)).stack; + if (stack !== undefined) { + this.stack = this.toString() + '\n' + + stack.replace(/^Error(:[^\n]*)?\n/, ''); + } + }); + errorClass.prototype = Object.create(baseErrorType.prototype); + errorClass.prototype.constructor = errorClass; + errorClass.prototype.toString = function() { + if (this.message === undefined) { + return this.name; + } else { + return `${this.name}: ${this.message}`; + } + }; + + return errorClass; + } + var BindingError = undefined; + function throwBindingError(message) { + throw new BindingError(message); + } + + function count_emval_handles() { + var count = 0; + for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) { + if (emval_handles.allocated[i] !== undefined) { + ++count; + } + } + return count; + } + + function init_emval() { + // reserve some special values. These never get de-allocated. + // The HandleAllocator takes care of reserving zero. + emval_handles.allocated.push( + {value: undefined}, + {value: null}, + {value: true}, + {value: false}, + ); + emval_handles.reserved = emval_handles.allocated.length + Module['count_emval_handles'] = count_emval_handles; + } + var Emval = {toValue:(handle) => { + if (!handle) { + throwBindingError('Cannot use deleted val. handle = ' + handle); + } + return emval_handles.get(handle).value; + },toHandle:(value) => { + switch (value) { + case undefined: return 1; + case null: return 2; + case true: return 3; + case false: return 4; + default:{ + return emval_handles.allocate({refcount: 1, value: value}); + } + } + }}; + + var PureVirtualError = undefined; + + function embind_init_charCodes() { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i); + } + embind_charCodes = codes; + } + var embind_charCodes = undefined; + function readLatin1String(ptr) { + var ret = ""; + var c = ptr; + while (HEAPU8[c]) { + ret += embind_charCodes[HEAPU8[c++]]; + } + return ret; + } + + function getInheritedInstanceCount() { + return Object.keys(registeredInstances).length; + } + + function getLiveInheritedInstances() { + var rv = []; + for (var k in registeredInstances) { + if (registeredInstances.hasOwnProperty(k)) { + rv.push(registeredInstances[k]); + } + } + return rv; + } + + var deletionQueue = []; + function flushPendingDeletes() { + while (deletionQueue.length) { + var obj = deletionQueue.pop(); + obj.$$.deleteScheduled = false; + obj['delete'](); + } + } + + var delayFunction = undefined; + + + function setDelayFunction(fn) { + delayFunction = fn; + if (deletionQueue.length && delayFunction) { + delayFunction(flushPendingDeletes); + } + } + function init_embind() { + Module['getInheritedInstanceCount'] = getInheritedInstanceCount; + Module['getLiveInheritedInstances'] = getLiveInheritedInstances; + Module['flushPendingDeletes'] = flushPendingDeletes; + Module['setDelayFunction'] = setDelayFunction; + } + var registeredInstances = {}; + + function getBasestPointer(class_, ptr) { + if (ptr === undefined) { + throwBindingError('ptr should not be undefined'); + } + while (class_.baseClass) { + ptr = class_.upcast(ptr); + class_ = class_.baseClass; + } + return ptr; + } + + function registerInheritedInstance(class_, ptr, instance) { + ptr = getBasestPointer(class_, ptr); + if (registeredInstances.hasOwnProperty(ptr)) { + throwBindingError(`Tried to register registered instance: ${ptr}`); + } else { + registeredInstances[ptr] = instance; + } + } + + var registeredTypes = {}; + + + + function getTypeName(type) { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv; + } + + function requireRegisteredType(rawType, humanName) { + var impl = registeredTypes[rawType]; + if (undefined === impl) { + throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); + } + return impl; + } + + + + + function unregisterInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + if (registeredInstances.hasOwnProperty(ptr)) { + delete registeredInstances[ptr]; + } else { + throwBindingError(`Tried to unregister unregistered instance: ${ptr}`); + } + } + + function detachFinalizer(handle) {} + + var finalizationRegistry = false; + + + function runDestructor($$) { + if ($$.smartPtr) { + $$.smartPtrType.rawDestructor($$.smartPtr); + } else { + $$.ptrType.registeredClass.rawDestructor($$.ptr); + } + } + function releaseClassHandle($$) { + $$.count.value -= 1; + var toDelete = 0 === $$.count.value; + if (toDelete) { + runDestructor($$); + } + } + + function downcastPointer(ptr, ptrClass, desiredClass) { + if (ptrClass === desiredClass) { + return ptr; + } + if (undefined === desiredClass.baseClass) { + return null; // no conversion + } + + var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); + if (rv === null) { + return null; + } + return desiredClass.downcast(rv); + } + + var registeredPointers = {}; + + + function getInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + return registeredInstances[ptr]; + } + + var InternalError = undefined; + function throwInternalError(message) { + throw new InternalError(message); + } + + function makeClassHandle(prototype, record) { + if (!record.ptrType || !record.ptr) { + throwInternalError('makeClassHandle requires ptr and ptrType'); + } + var hasSmartPtrType = !!record.smartPtrType; + var hasSmartPtr = !!record.smartPtr; + if (hasSmartPtrType !== hasSmartPtr) { + throwInternalError('Both smartPtrType and smartPtr must be specified'); + } + record.count = { value: 1 }; + return attachFinalizer(Object.create(prototype, { + $$: { + value: record, + }, + })); + } + function RegisteredPointer_fromWireType(ptr) { + // ptr is a raw pointer (or a raw smartpointer) + + // rawPointer is a maybe-null raw pointer + var rawPointer = this.getPointee(ptr); + if (!rawPointer) { + this.destructor(ptr); + return null; + } + + var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); + if (undefined !== registeredInstance) { + // JS object has been neutered, time to repopulate it + if (0 === registeredInstance.$$.count.value) { + registeredInstance.$$.ptr = rawPointer; + registeredInstance.$$.smartPtr = ptr; + return registeredInstance['clone'](); + } else { + // else, just increment reference count on existing object + // it already has a reference to the smart pointer + var rv = registeredInstance['clone'](); + this.destructor(ptr); + return rv; + } + } + + function makeDefaultHandle() { + if (this.isSmartPointer) { + return makeClassHandle(this.registeredClass.instancePrototype, { + ptrType: this.pointeeType, + ptr: rawPointer, + smartPtrType: this, + smartPtr: ptr, + }); + } else { + return makeClassHandle(this.registeredClass.instancePrototype, { + ptrType: this, + ptr: ptr, + }); + } + } + + var actualType = this.registeredClass.getActualType(rawPointer); + var registeredPointerRecord = registeredPointers[actualType]; + if (!registeredPointerRecord) { + return makeDefaultHandle.call(this); + } + + var toType; + if (this.isConst) { + toType = registeredPointerRecord.constPointerType; + } else { + toType = registeredPointerRecord.pointerType; + } + var dp = downcastPointer( + rawPointer, + this.registeredClass, + toType.registeredClass); + if (dp === null) { + return makeDefaultHandle.call(this); + } + if (this.isSmartPointer) { + return makeClassHandle(toType.registeredClass.instancePrototype, { + ptrType: toType, + ptr: dp, + smartPtrType: this, + smartPtr: ptr, + }); + } else { + return makeClassHandle(toType.registeredClass.instancePrototype, { + ptrType: toType, + ptr: dp, + }); + } + } + function attachFinalizer(handle) { + if ('undefined' === typeof FinalizationRegistry) { + attachFinalizer = (handle) => handle; + return handle; + } + // If the running environment has a FinalizationRegistry (see + // https://github.com/tc39/proposal-weakrefs), then attach finalizers + // for class handles. We check for the presence of FinalizationRegistry + // at run-time, not build-time. + finalizationRegistry = new FinalizationRegistry((info) => { + releaseClassHandle(info.$$); + }); + attachFinalizer = (handle) => { + var $$ = handle.$$; + var hasSmartPtr = !!$$.smartPtr; + if (hasSmartPtr) { + // We should not call the destructor on raw pointers in case other code expects the pointee to live + var info = { $$: $$ }; + finalizationRegistry.register(handle, info, handle); + } + return handle; + }; + detachFinalizer = (handle) => finalizationRegistry.unregister(handle); + return attachFinalizer(handle); + } + function __embind_create_inheriting_constructor(constructorName, wrapperType, properties) { + constructorName = readLatin1String(constructorName); + wrapperType = requireRegisteredType(wrapperType, 'wrapper'); + properties = Emval.toValue(properties); + + var arraySlice = [].slice; + + var registeredClass = wrapperType.registeredClass; + var wrapperPrototype = registeredClass.instancePrototype; + var baseClass = registeredClass.baseClass; + var baseClassPrototype = baseClass.instancePrototype; + var baseConstructor = registeredClass.baseClass.constructor; + var ctor = createNamedFunction(constructorName, function() { + registeredClass.baseClass.pureVirtualFunctions.forEach(function(name) { + if (this[name] === baseClassPrototype[name]) { + throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`); + } + }.bind(this)); + + Object.defineProperty(this, '__parent', { + value: wrapperPrototype + }); + this["__construct"].apply(this, arraySlice.call(arguments)); + }); + + // It's a little nasty that we're modifying the wrapper prototype here. + + wrapperPrototype["__construct"] = function __construct() { + if (this === wrapperPrototype) { + throwBindingError("Pass correct 'this' to __construct"); + } + + var inner = baseConstructor["implement"].apply( + undefined, + [this].concat(arraySlice.call(arguments))); + detachFinalizer(inner); + var $$ = inner.$$; + inner["notifyOnDestruction"](); + $$.preservePointerOnDelete = true; + Object.defineProperties(this, { $$: { + value: $$ + }}); + attachFinalizer(this); + registerInheritedInstance(registeredClass, $$.ptr, this); + }; + + wrapperPrototype["__destruct"] = function __destruct() { + if (this === wrapperPrototype) { + throwBindingError("Pass correct 'this' to __destruct"); + } + + detachFinalizer(this); + unregisterInheritedInstance(registeredClass, this.$$.ptr); + }; + + ctor.prototype = Object.create(wrapperPrototype); + for (var p in properties) { + ctor.prototype[p] = properties[p]; + } + return Emval.toHandle(ctor); + } + + var structRegistrations = {}; + + function runDestructors(destructors) { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr); + } + } + + function simpleReadValueFromPointer(pointer) { + return this['fromWireType'](HEAP32[((pointer)>>2)]); + } + + var awaitingDependencies = {}; + + + var typeDependencies = {}; + + function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { + myTypes.forEach(function(type) { + typeDependencies[type] = dependentTypes; + }); + + function onComplete(typeConverters) { + var myTypeConverters = getTypeConverters(typeConverters); + if (myTypeConverters.length !== myTypes.length) { + throwInternalError('Mismatched type converter count'); + } + for (var i = 0; i < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]); + } + } + + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach((dt, i) => { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt]; + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = []; + } + awaitingDependencies[dt].push(() => { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters); + } + }); + } + }); + if (0 === unregisteredTypes.length) { + onComplete(typeConverters); + } + } + function __embind_finalize_value_object(structType) { + var reg = structRegistrations[structType]; + delete structRegistrations[structType]; + + var rawConstructor = reg.rawConstructor; + var rawDestructor = reg.rawDestructor; + var fieldRecords = reg.fields; + var fieldTypes = fieldRecords.map((field) => field.getterReturnType). + concat(fieldRecords.map((field) => field.setterArgumentType)); + whenDependentTypesAreResolved([structType], fieldTypes, (fieldTypes) => { + var fields = {}; + fieldRecords.forEach((field, i) => { + var fieldName = field.fieldName; + var getterReturnType = fieldTypes[i]; + var getter = field.getter; + var getterContext = field.getterContext; + var setterArgumentType = fieldTypes[i + fieldRecords.length]; + var setter = field.setter; + var setterContext = field.setterContext; + fields[fieldName] = { + read: (ptr) => { + return getterReturnType['fromWireType']( + getter(getterContext, ptr)); + }, + write: (ptr, o) => { + var destructors = []; + setter(setterContext, ptr, setterArgumentType['toWireType'](destructors, o)); + runDestructors(destructors); + } + }; + }); + + return [{ + name: reg.name, + 'fromWireType': function(ptr) { + var rv = {}; + for (var i in fields) { + rv[i] = fields[i].read(ptr); + } + rawDestructor(ptr); + return rv; + }, + 'toWireType': function(destructors, o) { + // todo: Here we have an opportunity for -O3 level "unsafe" optimizations: + // assume all fields are present without checking. + for (var fieldName in fields) { + if (!(fieldName in o)) { + throw new TypeError(`Missing field: "${fieldName}"`); + } + } + var ptr = rawConstructor(); + for (fieldName in fields) { + fields[fieldName].write(ptr, o[fieldName]); + } + if (destructors !== null) { + destructors.push(rawDestructor, ptr); + } + return ptr; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: rawDestructor, + }]; + }); + } + + function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) {} + + function getShiftFromSize(size) { + switch (size) { + case 1: return 0; + case 2: return 1; + case 4: return 2; + case 8: return 3; + default: + throw new TypeError(`Unknown type size: ${size}`); + } + } + + + + + + + /** @param {Object=} options */ + function registerType(rawType, registeredInstance, options = {}) { + if (!('argPackAdvance' in registeredInstance)) { + throw new TypeError('registerType registeredInstance requires argPackAdvance'); + } + + var name = registeredInstance.name; + if (!rawType) { + throwBindingError(`type "${name}" must have a positive integer typeid pointer`); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError(`Cannot register type '${name}' twice`); + } + } + + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach((cb) => cb()); + } + } + function __embind_register_bool(rawType, name, size, trueValue, falseValue) { + var shift = getShiftFromSize(size); + + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(wt) { + // ambiguous emscripten ABI: sometimes return values are + // true or false, and sometimes integers (0 or 1) + return !!wt; + }, + 'toWireType': function(destructors, o) { + return o ? trueValue : falseValue; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': function(pointer) { + // TODO: if heap is fixed (like in asm.js) this could be executed outside + var heap; + if (size === 1) { + heap = HEAP8; + } else if (size === 2) { + heap = HEAP16; + } else if (size === 4) { + heap = HEAP32; + } else { + throw new TypeError("Unknown boolean type size: " + name); + } + return this['fromWireType'](heap[pointer >> shift]); + }, + destructorFunction: null, // This type does not need a destructor + }); + } + + + function ClassHandle_isAliasOf(other) { + if (!(this instanceof ClassHandle)) { + return false; + } + if (!(other instanceof ClassHandle)) { + return false; + } + + var leftClass = this.$$.ptrType.registeredClass; + var left = this.$$.ptr; + var rightClass = other.$$.ptrType.registeredClass; + var right = other.$$.ptr; + + while (leftClass.baseClass) { + left = leftClass.upcast(left); + leftClass = leftClass.baseClass; + } + + while (rightClass.baseClass) { + right = rightClass.upcast(right); + rightClass = rightClass.baseClass; + } + + return leftClass === rightClass && left === right; + } + + function shallowCopyInternalPointer(o) { + return { + count: o.count, + deleteScheduled: o.deleteScheduled, + preservePointerOnDelete: o.preservePointerOnDelete, + ptr: o.ptr, + ptrType: o.ptrType, + smartPtr: o.smartPtr, + smartPtrType: o.smartPtrType, + }; + } + + function throwInstanceAlreadyDeleted(obj) { + function getInstanceTypeName(handle) { + return handle.$$.ptrType.registeredClass.name; + } + throwBindingError(getInstanceTypeName(obj) + ' instance already deleted'); + } + + function ClassHandle_clone() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + + if (this.$$.preservePointerOnDelete) { + this.$$.count.value += 1; + return this; + } else { + var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { + $$: { + value: shallowCopyInternalPointer(this.$$), + } + })); + + clone.$$.count.value += 1; + clone.$$.deleteScheduled = false; + return clone; + } + } + + + + + function ClassHandle_delete() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError('Object already scheduled for deletion'); + } + + detachFinalizer(this); + releaseClassHandle(this.$$); + + if (!this.$$.preservePointerOnDelete) { + this.$$.smartPtr = undefined; + this.$$.ptr = undefined; + } + } + + function ClassHandle_isDeleted() { + return !this.$$.ptr; + } + + + + function ClassHandle_deleteLater() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError('Object already scheduled for deletion'); + } + deletionQueue.push(this); + if (deletionQueue.length === 1 && delayFunction) { + delayFunction(flushPendingDeletes); + } + this.$$.deleteScheduled = true; + return this; + } + function init_ClassHandle() { + ClassHandle.prototype['isAliasOf'] = ClassHandle_isAliasOf; + ClassHandle.prototype['clone'] = ClassHandle_clone; + ClassHandle.prototype['delete'] = ClassHandle_delete; + ClassHandle.prototype['isDeleted'] = ClassHandle_isDeleted; + ClassHandle.prototype['deleteLater'] = ClassHandle_deleteLater; + } + function ClassHandle() { + } + + + + function ensureOverloadTable(proto, methodName, humanName) { + if (undefined === proto[methodName].overloadTable) { + var prevFunc = proto[methodName]; + // Inject an overload resolver function that routes to the appropriate overload based on the number of arguments. + proto[methodName] = function() { + // TODO This check can be removed in -O3 level "unsafe" optimizations. + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`); + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; + // Move the previous function into the overload table. + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + } + + /** @param {number=} numArguments */ + function exposePublicSymbol(name, value, numArguments) { + if (Module.hasOwnProperty(name)) { + if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) { + throwBindingError(`Cannot register public name '${name}' twice`); + } + + // We are exposing a function with the same name as an existing function. Create an overload table and a function selector + // that routes between the two. + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`); + } + // Add the new function into the overload table. + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + if (undefined !== numArguments) { + Module[name].numArguments = numArguments; + } + } + } + + + + /** @constructor */ + function RegisteredClass(name, + constructor, + instancePrototype, + rawDestructor, + baseClass, + getActualType, + upcast, + downcast) { + this.name = name; + this.constructor = constructor; + this.instancePrototype = instancePrototype; + this.rawDestructor = rawDestructor; + this.baseClass = baseClass; + this.getActualType = getActualType; + this.upcast = upcast; + this.downcast = downcast; + this.pureVirtualFunctions = []; + } + + + function upcastPointer(ptr, ptrClass, desiredClass) { + while (ptrClass !== desiredClass) { + if (!ptrClass.upcast) { + throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`); + } + ptr = ptrClass.upcast(ptr); + ptrClass = ptrClass.baseClass; + } + return ptr; + } + function constNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + + + function genericPointerToWireType(destructors, handle) { + var ptr; + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + + if (this.isSmartPointer) { + ptr = this.rawConstructor(); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + return ptr; + } else { + return 0; + } + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (!this.isConst && handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + + if (this.isSmartPointer) { + // TODO: this is not strictly true + // We could support BY_EMVAL conversions from raw pointers to smart pointers + // because the smart pointer can hold a reference to the handle + if (undefined === handle.$$.smartPtr) { + throwBindingError('Passing raw pointer to smart pointer is illegal'); + } + + switch (this.sharingPolicy) { + case 0: // NONE + // no upcasting + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`); + } + break; + + case 1: // INTRUSIVE + ptr = handle.$$.smartPtr; + break; + + case 2: // BY_EMVAL + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + var clonedHandle = handle['clone'](); + ptr = this.rawShare( + ptr, + Emval.toHandle(function() { + clonedHandle['delete'](); + }) + ); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + } + break; + + default: + throwBindingError('Unsupporting sharing policy'); + } + } + return ptr; + } + + + function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + + + function RegisteredPointer_getPointee(ptr) { + if (this.rawGetPointee) { + ptr = this.rawGetPointee(ptr); + } + return ptr; + } + + function RegisteredPointer_destructor(ptr) { + if (this.rawDestructor) { + this.rawDestructor(ptr); + } + } + + function RegisteredPointer_deleteObject(handle) { + if (handle !== null) { + handle['delete'](); + } + } + + function init_RegisteredPointer() { + RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; + RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; + RegisteredPointer.prototype['argPackAdvance'] = 8; + RegisteredPointer.prototype['readValueFromPointer'] = simpleReadValueFromPointer; + RegisteredPointer.prototype['deleteObject'] = RegisteredPointer_deleteObject; + RegisteredPointer.prototype['fromWireType'] = RegisteredPointer_fromWireType; + } + /** @constructor + @param {*=} pointeeType, + @param {*=} sharingPolicy, + @param {*=} rawGetPointee, + @param {*=} rawConstructor, + @param {*=} rawShare, + @param {*=} rawDestructor, + */ + function RegisteredPointer( + name, + registeredClass, + isReference, + isConst, + + // smart pointer properties + isSmartPointer, + pointeeType, + sharingPolicy, + rawGetPointee, + rawConstructor, + rawShare, + rawDestructor + ) { + this.name = name; + this.registeredClass = registeredClass; + this.isReference = isReference; + this.isConst = isConst; + + // smart pointer properties + this.isSmartPointer = isSmartPointer; + this.pointeeType = pointeeType; + this.sharingPolicy = sharingPolicy; + this.rawGetPointee = rawGetPointee; + this.rawConstructor = rawConstructor; + this.rawShare = rawShare; + this.rawDestructor = rawDestructor; + + if (!isSmartPointer && registeredClass.baseClass === undefined) { + if (isConst) { + this['toWireType'] = constNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } else { + this['toWireType'] = nonConstNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } + } else { + this['toWireType'] = genericPointerToWireType; + // Here we must leave this.destructorFunction undefined, since whether genericPointerToWireType returns + // a pointer that needs to be freed up is runtime-dependent, and cannot be evaluated at registration time. + // TODO: Create an alternative mechanism that allows removing the use of var destructors = []; array in + // craftInvokerFunction altogether. + } + } + + /** @param {number=} numArguments */ + function replacePublicSymbol(name, value, numArguments) { + if (!Module.hasOwnProperty(name)) { + throwInternalError('Replacing nonexistant public symbol'); + } + // If there's an overload table for this symbol, replace the symbol in the overload table instead. + if (undefined !== Module[name].overloadTable && undefined !== numArguments) { + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + Module[name].argCount = numArguments; + } + } + + + + function dynCallLegacy(sig, ptr, args) { + var f = Module['dynCall_' + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); + } + + 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); + } + return func; + } + + /** @param {Object=} args */ + function dynCall(sig, ptr, args) { + // Without WASM_BIGINT support we cannot directly call function with i64 as + // part of thier signature, so we rely the dynCall functions generated by + // wasm-emscripten-finalize + if (sig.includes('j')) { + return dynCallLegacy(sig, ptr, args); + } + var rtn = getWasmTableEntry(ptr).apply(null, args); + return rtn; + + } + + function getDynCaller(sig, ptr) { + var argCache = []; + return function() { + argCache.length = 0; + Object.assign(argCache, arguments); + return dynCall(sig, ptr, argCache); + }; + } + + + function embind__requireFunction(signature, rawFunction) { + signature = readLatin1String(signature); + + function makeDynCaller() { + if (signature.includes('j')) { + return getDynCaller(signature, rawFunction); + } + return getWasmTableEntry(rawFunction); + } + + var fp = makeDynCaller(); + if (typeof fp != "function") { + throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`); + } + return fp; + } + + + + var UnboundTypeError = undefined; + + function throwUnboundTypeError(message, types) { + var unboundTypes = []; + var seen = {}; + function visit(type) { + if (seen[type]) { + return; + } + if (registeredTypes[type]) { + return; + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return; + } + unboundTypes.push(type); + seen[type] = true; + } + types.forEach(visit); + + throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([', '])); + } + + function __embind_register_class(rawType, + rawPointerType, + rawConstPointerType, + baseClassRawType, + getActualTypeSignature, + getActualType, + upcastSignature, + upcast, + downcastSignature, + downcast, + name, + destructorSignature, + rawDestructor) { + name = readLatin1String(name); + getActualType = embind__requireFunction(getActualTypeSignature, getActualType); + if (upcast) { + upcast = embind__requireFunction(upcastSignature, upcast); + } + if (downcast) { + downcast = embind__requireFunction(downcastSignature, downcast); + } + rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); + var legalFunctionName = makeLegalFunctionName(name); + + exposePublicSymbol(legalFunctionName, function() { + // this code cannot run if baseClassRawType is zero + throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]); + }); + + whenDependentTypesAreResolved( + [rawType, rawPointerType, rawConstPointerType], + baseClassRawType ? [baseClassRawType] : [], + function(base) { + base = base[0]; + + var baseClass; + var basePrototype; + if (baseClassRawType) { + baseClass = base.registeredClass; + basePrototype = baseClass.instancePrototype; + } else { + basePrototype = ClassHandle.prototype; + } + + var constructor = createNamedFunction(legalFunctionName, function() { + if (Object.getPrototypeOf(this) !== instancePrototype) { + throw new BindingError("Use 'new' to construct " + name); + } + if (undefined === registeredClass.constructor_body) { + throw new BindingError(name + " has no accessible constructor"); + } + var body = registeredClass.constructor_body[arguments.length]; + if (undefined === body) { + throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`); + } + return body.apply(this, arguments); + }); + + var instancePrototype = Object.create(basePrototype, { + constructor: { value: constructor }, + }); + + constructor.prototype = instancePrototype; + + var registeredClass = new RegisteredClass(name, + constructor, + instancePrototype, + rawDestructor, + baseClass, + getActualType, + upcast, + downcast); + + if (registeredClass.baseClass) { + // Keep track of class hierarchy. Used to allow sub-classes to inherit class functions. + if (registeredClass.baseClass.__derivedClasses === undefined) { + registeredClass.baseClass.__derivedClasses = []; + } + + registeredClass.baseClass.__derivedClasses.push(registeredClass); + } + + var referenceConverter = new RegisteredPointer(name, + registeredClass, + true, + false, + false); + + var pointerConverter = new RegisteredPointer(name + '*', + registeredClass, + false, + false, + false); + + var constPointerConverter = new RegisteredPointer(name + ' const*', + registeredClass, + false, + true, + false); + + registeredPointers[rawType] = { + pointerType: pointerConverter, + constPointerType: constPointerConverter + }; + + replacePublicSymbol(legalFunctionName, constructor); + + return [referenceConverter, pointerConverter, constPointerConverter]; + } + ); + } + + + + function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, /** boolean= */ isAsync) { + // humanName: a human-readable string name for the function to be generated. + // argTypes: An array that contains the embind type objects for all types in the function signature. + // argTypes[0] is the type object for the function return value. + // argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method. + // argTypes[2...] are the actual function parameters. + // classType: The embind type object for the class to be bound, or null if this is not a method of a class. + // cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code. + // cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling. + // isAsync: Optional. If true, returns an async function. Async bindings are only supported with JSPI. + var argCount = argTypes.length; + + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); + } + + var isClassMethodFunc = (argTypes[1] !== null && classType !== null); + + // Free functions with signature "void function()" do not need an invoker that marshalls between wire types. + // TODO: This omits argument count check - enable only at -O3 or similar. + // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) { + // return FUNCTION_TABLE[fn]; + // } + + // Determine if we need to use a dynamic stack to store the destructors for the function parameters. + // TODO: Remove this completely once all function invokers are being dynamically generated. + var needsDestructorStack = false; + + for (var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. + if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack + needsDestructorStack = true; + break; + } + } + + var returns = (argTypes[0].name !== "void"); + + var expectedArgCount = argCount - 2; + var argsWired = new Array(expectedArgCount); + var invokerFuncArgs = []; + var destructors = []; + return function() { + if (arguments.length !== expectedArgCount) { + throwBindingError(`function ${humanName} called with ${arguments.length} arguments, expected ${expectedArgCount} args!`); + } + destructors.length = 0; + var thisWired; + invokerFuncArgs.length = isClassMethodFunc ? 2 : 1; + invokerFuncArgs[0] = cppTargetFunc; + if (isClassMethodFunc) { + thisWired = argTypes[1]['toWireType'](destructors, this); + invokerFuncArgs[1] = thisWired; + } + for (var i = 0; i < expectedArgCount; ++i) { + argsWired[i] = argTypes[i + 2]['toWireType'](destructors, arguments[i]); + invokerFuncArgs.push(argsWired[i]); + } + + var rv = cppInvokerFunc.apply(null, invokerFuncArgs); + + function onDone(rv) { + if (needsDestructorStack) { + runDestructors(destructors); + } else { + for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; i++) { + var param = i === 1 ? thisWired : argsWired[i - 2]; + if (argTypes[i].destructorFunction !== null) { + argTypes[i].destructorFunction(param); + } + } + } + + if (returns) { + return argTypes[0]['fromWireType'](rv); + } + } + + return onDone(rv); + }; + } + + + function heap32VectorToArray(count, firstElement) { + var array = []; + for (var i = 0; i < count; i++) { + // TODO(https://github.com/emscripten-core/emscripten/issues/17310): + // Find a way to hoist the `>> 2` or `>> 3` out of this loop. + array.push(HEAPU32[(((firstElement)+(i * 4))>>2)]); + } + return array; + } + + + + + function __embind_register_class_class_function(rawClassType, + methodName, + argCount, + rawArgTypesAddr, + invokerSignature, + rawInvoker, + fn, + isAsync) { + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${methodName}`; + + function unboundTypesHandler() { + throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); + } + + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + + var proto = classType.registeredClass.constructor; + if (undefined === proto[methodName]) { + // This is the first function to be registered with this name. + unboundTypesHandler.argCount = argCount-1; + proto[methodName] = unboundTypesHandler; + } else { + // There was an existing function with the same name registered. Set up + // a function overload routing table. + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount-1] = unboundTypesHandler; + } + + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + // Replace the initial unbound-types-handler stub with the proper + // function. If multiple overloads are registered, the function handlers + // go into an overload table. + var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); + var func = craftInvokerFunction(humanName, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync); + if (undefined === proto[methodName].overloadTable) { + func.argCount = argCount-1; + proto[methodName] = func; + } else { + proto[methodName].overloadTable[argCount-1] = func; + } + + if (classType.registeredClass.__derivedClasses) { + for (const derivedClass of classType.registeredClass.__derivedClasses) { + if (!derivedClass.constructor.hasOwnProperty(methodName)) { + // TODO: Add support for overloads + derivedClass.constructor[methodName] = func; + } + } + } + + return []; + }); + return []; + }); + } + + + + + + + + function __embind_register_class_constructor( + rawClassType, + argCount, + rawArgTypesAddr, + invokerSignature, + invoker, + rawConstructor + ) { + assert(argCount > 0); + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + invoker = embind__requireFunction(invokerSignature, invoker); + var args = [rawConstructor]; + var destructors = []; + + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `constructor ${classType.name}`; + + if (undefined === classType.registeredClass.constructor_body) { + classType.registeredClass.constructor_body = []; + } + if (undefined !== classType.registeredClass.constructor_body[argCount - 1]) { + throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`); + } + classType.registeredClass.constructor_body[argCount - 1] = () => { + throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`, rawArgTypes); + }; + + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + // Insert empty slot for context type (argTypes[1]). + argTypes.splice(1, 0, null); + classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor); + return []; + }); + return []; + }); + } + + + + + + + function __embind_register_class_function(rawClassType, + methodName, + argCount, + rawArgTypesAddr, // [ReturnType, ThisType, Args...] + invokerSignature, + rawInvoker, + context, + isPureVirtual, + isAsync) { + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${methodName}`; + + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + + if (isPureVirtual) { + classType.registeredClass.pureVirtualFunctions.push(methodName); + } + + function unboundTypesHandler() { + throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); + } + + var proto = classType.registeredClass.instancePrototype; + var method = proto[methodName]; + if (undefined === method || (undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2)) { + // This is the first overload to be registered, OR we are replacing a + // function in the base class with a function in the derived class. + unboundTypesHandler.argCount = argCount - 2; + unboundTypesHandler.className = classType.name; + proto[methodName] = unboundTypesHandler; + } else { + // There was an existing function with the same name registered. Set up + // a function overload routing table. + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; + } + + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync); + + // Replace the initial unbound-handler-stub function with the appropriate member function, now that all types + // are resolved. If multiple overloads are registered for this function, the function goes into an overload table. + if (undefined === proto[methodName].overloadTable) { + // Set argCount in case an overload is registered later + memberFunction.argCount = argCount - 2; + proto[methodName] = memberFunction; + } else { + proto[methodName].overloadTable[argCount - 2] = memberFunction; + } + + return []; + }); + return []; + }); + } + + + + + + + + + function validateThis(this_, classType, humanName) { + if (!(this_ instanceof Object)) { + throwBindingError(`${humanName} with invalid "this": ${this_}`); + } + if (!(this_ instanceof classType.registeredClass.constructor)) { + throwBindingError(`${humanName} incompatible with "this" of type ${this_.constructor.name}`); + } + if (!this_.$$.ptr) { + throwBindingError(`cannot call emscripten binding method ${humanName} on deleted object`); + } + + // todo: kill this + return upcastPointer(this_.$$.ptr, + this_.$$.ptrType.registeredClass, + classType.registeredClass); + } + function __embind_register_class_property(classType, + fieldName, + getterReturnType, + getterSignature, + getter, + getterContext, + setterArgumentType, + setterSignature, + setter, + setterContext) { + fieldName = readLatin1String(fieldName); + getter = embind__requireFunction(getterSignature, getter); + + whenDependentTypesAreResolved([], [classType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${fieldName}`; + var desc = { + get: function() { + throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`, [getterReturnType, setterArgumentType]); + }, + enumerable: true, + configurable: true + }; + if (setter) { + desc.set = () => { + throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`, [getterReturnType, setterArgumentType]); + }; + } else { + desc.set = (v) => { + throwBindingError(humanName + ' is a read-only property'); + }; + } + + Object.defineProperty(classType.registeredClass.instancePrototype, fieldName, desc); + + whenDependentTypesAreResolved( + [], + (setter ? [getterReturnType, setterArgumentType] : [getterReturnType]), + function(types) { + var getterReturnType = types[0]; + var desc = { + get: function() { + var ptr = validateThis(this, classType, humanName + ' getter'); + return getterReturnType['fromWireType'](getter(getterContext, ptr)); + }, + enumerable: true + }; + + if (setter) { + setter = embind__requireFunction(setterSignature, setter); + var setterArgumentType = types[1]; + desc.set = function(v) { + var ptr = validateThis(this, classType, humanName + ' setter'); + var destructors = []; + setter(setterContext, ptr, setterArgumentType['toWireType'](destructors, v)); + runDestructors(destructors); + }; + } + + Object.defineProperty(classType.registeredClass.instancePrototype, fieldName, desc); + return []; + }); + + return []; + }); + } + + + function __embind_register_constant(name, type, value) { + name = readLatin1String(name); + whenDependentTypesAreResolved([], [type], function(type) { + type = type[0]; + Module[name] = type['fromWireType'](value); + return []; + }); + } + + function __emval_decref(handle) { + if (handle >= emval_handles.reserved && 0 === --emval_handles.get(handle).refcount) { + emval_handles.free(handle); + } + } + + + + + function __embind_register_emval(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(handle) { + var rv = Emval.toValue(handle); + __emval_decref(handle); + return rv; + }, + 'toWireType': function(destructors, value) { + return Emval.toHandle(value); + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: null, // This type does not need a destructor + + // TODO: do we need a deleteObject here? write a test where + // emval is passed into JS via an interface + }); + } + + + + function enumReadValueFromPointer(name, shift, signed) { + switch (shift) { + case 0: return function(pointer) { + var heap = signed ? HEAP8 : HEAPU8; + return this['fromWireType'](heap[pointer]); + }; + case 1: return function(pointer) { + var heap = signed ? HEAP16 : HEAPU16; + return this['fromWireType'](heap[pointer >> 1]); + }; + case 2: return function(pointer) { + var heap = signed ? HEAP32 : HEAPU32; + return this['fromWireType'](heap[pointer >> 2]); + }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + + + function __embind_register_enum(rawType, name, size, isSigned) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + + function ctor() {} + ctor.values = {}; + + registerType(rawType, { + name: name, + constructor: ctor, + 'fromWireType': function(c) { + return this.constructor.values[c]; + }, + 'toWireType': function(destructors, c) { + return c.value; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': enumReadValueFromPointer(name, shift, isSigned), + destructorFunction: null, + }); + exposePublicSymbol(name, ctor); + } + + + + function __embind_register_enum_value(rawEnumType, name, enumValue) { + var enumType = requireRegisteredType(rawEnumType, 'enum'); + name = readLatin1String(name); + + var Enum = enumType.constructor; + + var Value = Object.create(enumType.constructor.prototype, { + value: {value: enumValue}, + constructor: {value: createNamedFunction(`${enumType.name}_${name}`, function() {})}, + }); + Enum.values[enumValue] = Value; + Enum[name] = Value; + } + + function embindRepr(v) { + if (v === null) { + return 'null'; + } + var t = typeof v; + if (t === 'object' || t === 'array' || t === 'function') { + return v.toString(); + } else { + return '' + v; + } + } + + function floatReadValueFromPointer(name, shift) { + switch (shift) { + case 2: return function(pointer) { + return this['fromWireType'](HEAPF32[pointer >> 2]); + }; + case 3: return function(pointer) { + return this['fromWireType'](HEAPF64[pointer >> 3]); + }; + default: + throw new TypeError("Unknown float type: " + name); + } + } + + + + function __embind_register_float(rawType, name, size) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + return value; + }, + 'toWireType': function(destructors, value) { + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': floatReadValueFromPointer(name, shift), + destructorFunction: null, // This type does not need a destructor + }); + } + + + + + + + + + function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) { + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + + rawInvoker = embind__requireFunction(signature, rawInvoker); + + exposePublicSymbol(name, function() { + throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes); + }, argCount - 1); + + whenDependentTypesAreResolved([], argTypes, function(argTypes) { + var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync), argCount - 1); + return []; + }); + } + + + + function integerReadValueFromPointer(name, shift, signed) { + // integers are quite common, so generate very specialized functions + switch (shift) { + case 0: return signed ? + function readS8FromPointer(pointer) { return HEAP8[pointer]; } : + function readU8FromPointer(pointer) { return HEAPU8[pointer]; }; + case 1: return signed ? + function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : + function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; }; + case 2: return signed ? + function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : + function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + + + function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { + name = readLatin1String(name); + // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come + // out as 'i32 -1'. Always treat those as max u32. + if (maxRange === -1) { + maxRange = 4294967295; + } + + var shift = getShiftFromSize(size); + + var fromWireType = (value) => value; + + if (minRange === 0) { + var bitshift = 32 - 8*size; + fromWireType = (value) => (value << bitshift) >>> bitshift; + } + + var isUnsignedType = (name.includes('unsigned')); + var checkAssertions = (value, toTypeName) => { + } + var toWireType; + if (isUnsignedType) { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value >>> 0; + } + } else { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + } + } + registerType(primitiveType, { + name: name, + 'fromWireType': fromWireType, + 'toWireType': toWireType, + 'argPackAdvance': 8, + 'readValueFromPointer': integerReadValueFromPointer(name, shift, minRange !== 0), + destructorFunction: null, // This type does not need a destructor + }); + } + + + function __embind_register_memory_view(rawType, dataTypeIndex, name) { + var typeMapping = [ + Int8Array, + Uint8Array, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array, + ]; + + var TA = typeMapping[dataTypeIndex]; + + function decodeMemoryView(handle) { + handle = handle >> 2; + var heap = HEAPU32; + var size = heap[handle]; // in elements + var data = heap[handle + 1]; // byte offset into emscripten heap + return new TA(heap.buffer, data, size); + } + + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': decodeMemoryView, + 'argPackAdvance': 8, + 'readValueFromPointer': decodeMemoryView, + }, { + ignoreDuplicateRegistrations: true, + }); + } + + + + + + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); + } + + + + + function __embind_register_std_string(rawType, name) { + name = readLatin1String(name); + var stdStringIsUTF8 + //process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string + = (name === "std::string"); + + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + var length = HEAPU32[((value)>>2)]; + var payload = value + 4; + + var str; + if (stdStringIsUTF8) { + var decodeStartPtr = payload; + // Looping here to support possible embedded '0' bytes + for (var i = 0; i <= length; ++i) { + var currentBytePtr = payload + i; + if (i == length || HEAPU8[currentBytePtr] == 0) { + var maxRead = currentBytePtr - decodeStartPtr; + var stringSegment = UTF8ToString(decodeStartPtr, maxRead); + if (str === undefined) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + 1; + } + } + } else { + var a = new Array(length); + for (var i = 0; i < length; ++i) { + a[i] = String.fromCharCode(HEAPU8[payload + i]); + } + str = a.join(''); + } + + _free(value); + + return str; + }, + 'toWireType': function(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + + var length; + var valueIsOfTypeString = (typeof value == 'string'); + + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError('Cannot pass non-string to std::string'); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + length = lengthBytesUTF8(value); + } else { + length = value.length; + } + + // assumes 4-byte alignment + var base = _malloc(4 + length + 1); + var ptr = base + 4; + HEAPU32[((base)>>2)] = length; + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr, length + 1); + } else { + if (valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); + } + HEAPU8[ptr + i] = charCode; + } + } else { + for (var i = 0; i < length; ++i) { + HEAPU8[ptr + i] = value[i]; + } + } + } + + if (destructors !== null) { + destructors.push(_free, base); + } + return base; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: function(ptr) { _free(ptr); }, + }); + } + + + + + var UTF16Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf-16le') : undefined;; + function UTF16ToString(ptr, maxBytesToRead) { + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. + // Also, use the length info to avoid running tiny strings through + // TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; + endPtr = idx << 1; + + if (endPtr - ptr > 32 && UTF16Decoder) + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + + // Fallback: decode without UTF16Decoder + var str = ''; + + // If maxBytesToRead is not passed explicitly, it will be undefined, and the + // for-loop's condition will always evaluate to true. The loop is then + // terminated on the first null char. + for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0) break; + // fromCharCode constructs a character from a UTF-16 code unit, so we can + // pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + + return str; + } + + function stringToUTF16(str, outPtr, maxBytesToWrite) { + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + HEAP16[((outPtr)>>1)] = codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr)>>1)] = 0; + return outPtr - startPtr; + } + + function lengthBytesUTF16(str) { + return str.length*2; + } + + function UTF32ToString(ptr, maxBytesToRead) { + var i = 0; + + var str = ''; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(i >= maxBytesToRead / 4)) { + var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; + if (utf32 == 0) break; + ++i; + // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + if (utf32 >= 0x10000) { + var ch = utf32 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } else { + str += String.fromCharCode(utf32); + } + } + return str; + } + + function stringToUTF32(str, outPtr, maxBytesToWrite) { + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); + } + HEAP32[((outPtr)>>2)] = codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr)>>2)] = 0; + return outPtr - startPtr; + } + + function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; + } + function __embind_register_std_wstring(rawType, charSize, name) { + name = readLatin1String(name); + var decodeString, encodeString, getHeap, lengthBytesUTF, shift; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + getHeap = () => HEAPU16; + shift = 1; + } else if (charSize === 4) { + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + getHeap = () => HEAPU32; + shift = 2; + } + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + // Code mostly taken from _embind_register_std_string fromWireType + var length = HEAPU32[value >> 2]; + var HEAP = getHeap(); + var str; + + var decodeStartPtr = value + 4; + // Looping here to support possible embedded '0' bytes + for (var i = 0; i <= length; ++i) { + var currentBytePtr = value + 4 + i * charSize; + if (i == length || HEAP[currentBytePtr >> shift] == 0) { + var maxReadBytes = currentBytePtr - decodeStartPtr; + var stringSegment = decodeString(decodeStartPtr, maxReadBytes); + if (str === undefined) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + charSize; + } + } + + _free(value); + + return str; + }, + 'toWireType': function(destructors, value) { + if (!(typeof value == 'string')) { + throwBindingError(`Cannot pass non-string to C++ string type ${name}`); + } + + // assumes 4-byte alignment + var length = lengthBytesUTF(value); + var ptr = _malloc(4 + length + charSize); + HEAPU32[ptr >> 2] = length >> shift; + + encodeString(value, ptr + 4, length + charSize); + + if (destructors !== null) { + destructors.push(_free, ptr); + } + return ptr; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: function(ptr) { _free(ptr); }, + }); + } + + + + function __embind_register_value_object( + rawType, + name, + constructorSignature, + rawConstructor, + destructorSignature, + rawDestructor + ) { + structRegistrations[rawType] = { + name: readLatin1String(name), + rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), + rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), + fields: [], + }; + } + + + + function __embind_register_value_object_field( + structType, + fieldName, + getterReturnType, + getterSignature, + getter, + getterContext, + setterArgumentType, + setterSignature, + setter, + setterContext + ) { + structRegistrations[structType].fields.push({ + fieldName: readLatin1String(fieldName), + getterReturnType: getterReturnType, + getter: embind__requireFunction(getterSignature, getter), + getterContext: getterContext, + setterArgumentType: setterArgumentType, + setter: embind__requireFunction(setterSignature, setter), + setterContext: setterContext, + }); + } + + + function __embind_register_void(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + isVoid: true, // void return values can be optimized out sometimes + name: name, + 'argPackAdvance': 0, + 'fromWireType': function() { + return undefined; + }, + 'toWireType': function(destructors, o) { + // TODO: assert if anything else is given? + return undefined; + }, + }); + } + + function emval_allocateDestructors(destructorsRef) { + var destructors = []; + HEAPU32[((destructorsRef)>>2)] = Emval.toHandle(destructors); + return destructors; + } + + var emval_symbols = {}; + + function getStringOrSymbol(address) { + var symbol = emval_symbols[address]; + if (symbol === undefined) { + return readLatin1String(address); + } + return symbol; + } + + var emval_methodCallers = []; + + function __emval_call_method(caller, handle, methodName, destructorsRef, args) { + caller = emval_methodCallers[caller]; + handle = Emval.toValue(handle); + methodName = getStringOrSymbol(methodName); + return caller(handle, methodName, emval_allocateDestructors(destructorsRef), args); + } + + + + + function __emval_call_void_method(caller, handle, methodName, args) { + caller = emval_methodCallers[caller]; + handle = Emval.toValue(handle); + methodName = getStringOrSymbol(methodName); + caller(handle, methodName, null, args); + } + + + function emval_addMethodCaller(caller) { + var id = emval_methodCallers.length; + emval_methodCallers.push(caller); + return id; + } + + function emval_lookupTypes(argCount, argTypes) { + var a = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + a[i] = requireRegisteredType(HEAPU32[(((argTypes)+(i * 4))>>2)], + "parameter " + i); + } + return a; + } + + + var emval_registeredMethods = []; + function __emval_get_method_caller(argCount, argTypes) { + var types = emval_lookupTypes(argCount, argTypes); + var retType = types[0]; + var signatureName = retType.name + "_$" + types.slice(1).map(function (t) { return t.name; }).join("_") + "$"; + var returnId = emval_registeredMethods[signatureName]; + if (returnId !== undefined) { + return returnId; + } + + var argN = new Array(argCount - 1); + var invokerFunction = (handle, name, destructors, args) => { + var offset = 0; + for (var i = 0; i < argCount - 1; ++i) { + argN[i] = types[i + 1]['readValueFromPointer'](args + offset); + offset += types[i + 1]['argPackAdvance']; + } + var rv = handle[name].apply(handle, argN); + for (var i = 0; i < argCount - 1; ++i) { + if (types[i + 1].deleteObject) { + types[i + 1].deleteObject(argN[i]); + } + } + if (!retType.isVoid) { + return retType['toWireType'](destructors, rv); + } + }; + returnId = emval_addMethodCaller(invokerFunction); + emval_registeredMethods[signatureName] = returnId; + return returnId; + } + + function __emval_incref(handle) { + if (handle > 4) { + emval_handles.get(handle).refcount += 1; + } + } + + + + function __emval_run_destructors(handle) { + var destructors = Emval.toValue(handle); + runDestructors(destructors); + __emval_decref(handle); + } + + + function __emval_take_value(type, arg) { + type = requireRegisteredType(type, '_emval_take_value'); + var v = type['readValueFromPointer'](arg); + return Emval.toHandle(v); + } + + function _abort() { + abort(''); + } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + + function getHeapMax() { + // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate + // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side + // for any code that deals with heap sizes, which would require special + // casing all heap size related code to treat 0 specially. + return 2147483648; + } + + function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + var pages = (size - b.byteLength + 65535) >>> 16; + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow(pages); // .grow() takes a delta compared to the previous size + updateMemoryViews(); + return 1 /*success*/; + } catch(e) { + } + // implicit 0 return to save code size (caller will cast "undefined" into 0 + // anyhow) + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + // With multithreaded builds, races can happen (another thread might increase the size + // in between), so return a failure, and let the caller retry. + + // Memory resize rules: + // 1. Always increase heap size to at least the requested size, rounded up + // to next page multiple. + // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap + // geometrically: increase the heap size according to + // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most + // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). + // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap + // linearly: increase the heap size by at least + // MEMORY_GROWTH_LINEAR_STEP bytes. + // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by + // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest + // 4. If we were unable to allocate as much memory, it may be due to + // over-eager decision to excessively reserve due to (3) above. + // Hence if an allocation fails, cut down on the amount of excess + // growth, in an attempt to succeed to perform a smaller allocation. + + // A limit is set for how much we can grow. We should not exceed that + // (the wasm binary specifies it, so if we tried, we'd fail anyhow). + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + + var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + + // Loop through potential heap size increases. If we attempt a too eager + // reservation that fails, cut down on the attempted size and reserve a + // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth + // but limit overreserving (default to capping at +96MB overgrowth at most) + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 ); + + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + + return true; + } + } + return false; + } + + function _fd_close(fd) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + if (typeof offset !== 'undefined') { + offset += curr; + } + } + return ret; + } + + function _fd_read(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; + return e.errno; + } + } + + function convertI32PairToI53Checked(lo, hi) { + return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; + } + + + + + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + + var offset = convertI32PairToI53Checked(offset_low, offset_high); if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[((newOffset)>>2)] = tempI64[0],HEAP32[(((newOffset)+(4))>>2)] = tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (typeof offset !== 'undefined') { + offset += curr; + } + } + return ret; + } + + function _fd_write(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; + return e.errno; + } + } + + var FSNode = /** @constructor */ function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292/*292*/ | 73/*73*/; + var writeMode = 146/*146*/; + Object.defineProperties(FSNode.prototype, { + read: { + get: /** @this{FSNode} */function() { + return (this.mode & readMode) === readMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: /** @this{FSNode} */function() { + return (this.mode & writeMode) === writeMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: /** @this{FSNode} */function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: /** @this{FSNode} */function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.createPreloadedFile = FS_createPreloadedFile; + FS.staticInit();; +BindingError = Module['BindingError'] = extendError(Error, 'BindingError');; +init_emval();; +PureVirtualError = Module['PureVirtualError'] = extendError(Error, 'PureVirtualError');; +embind_init_charCodes(); +init_embind();; +InternalError = Module['InternalError'] = extendError(Error, 'InternalError');; +init_ClassHandle(); +init_RegisteredPointer(); +UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError');; +// include: base64Utils.js +// Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149 + +// This code was written by Tyler Akins and has been placed in the +// public domain. It would be nice if you left this header intact. +// Base64 code from Tyler Akins -- http://rumkin.com + +/** + * Decodes a base64 string. + * @param {string} input The string to decode. + */ +var decodeBase64 = typeof atob == 'function' ? atob : function (input) { + var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + + var output = ''; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + // remove all characters that are not A-Z, a-z, 0-9, +, /, or = + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); + do { + enc1 = keyStr.indexOf(input.charAt(i++)); + enc2 = keyStr.indexOf(input.charAt(i++)); + enc3 = keyStr.indexOf(input.charAt(i++)); + enc4 = keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < input.length); + return output; +}; + +// Converts a string of base64 into a byte array. +// Throws error on invalid input. +function intArrayFromBase64(s) { + + try { + var decoded = decodeBase64(s); + var bytes = new Uint8Array(decoded.length); + for (var i = 0 ; i < decoded.length ; ++i) { + bytes[i] = decoded.charCodeAt(i); + } + return bytes; + } catch (_) { + throw new Error('Converting base64 string to bytes failed.'); + } +} + +// If filename is a base64 data URI, parses and returns data (Buffer on node, +// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined. +function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); +} + + +// end include: base64Utils.js +var wasmImports = { + "__assert_fail": ___assert_fail, + "__syscall_fcntl64": ___syscall_fcntl64, + "__syscall_ioctl": ___syscall_ioctl, + "__syscall_openat": ___syscall_openat, + "_embind_create_inheriting_constructor": __embind_create_inheriting_constructor, + "_embind_finalize_value_object": __embind_finalize_value_object, + "_embind_register_bigint": __embind_register_bigint, + "_embind_register_bool": __embind_register_bool, + "_embind_register_class": __embind_register_class, + "_embind_register_class_class_function": __embind_register_class_class_function, + "_embind_register_class_constructor": __embind_register_class_constructor, + "_embind_register_class_function": __embind_register_class_function, + "_embind_register_class_property": __embind_register_class_property, + "_embind_register_constant": __embind_register_constant, + "_embind_register_emval": __embind_register_emval, + "_embind_register_enum": __embind_register_enum, + "_embind_register_enum_value": __embind_register_enum_value, + "_embind_register_float": __embind_register_float, + "_embind_register_function": __embind_register_function, + "_embind_register_integer": __embind_register_integer, + "_embind_register_memory_view": __embind_register_memory_view, + "_embind_register_std_string": __embind_register_std_string, + "_embind_register_std_wstring": __embind_register_std_wstring, + "_embind_register_value_object": __embind_register_value_object, + "_embind_register_value_object_field": __embind_register_value_object_field, + "_embind_register_void": __embind_register_void, + "_emval_call_method": __emval_call_method, + "_emval_call_void_method": __emval_call_void_method, + "_emval_decref": __emval_decref, + "_emval_get_method_caller": __emval_get_method_caller, + "_emval_incref": __emval_incref, + "_emval_run_destructors": __emval_run_destructors, + "_emval_take_value": __emval_take_value, + "abort": _abort, + "emscripten_memcpy_big": _emscripten_memcpy_big, + "emscripten_resize_heap": _emscripten_resize_heap, + "fd_close": _fd_close, + "fd_read": _fd_read, + "fd_seek": _fd_seek, + "fd_write": _fd_write, + "memory": wasmMemory +}; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = function() { + return (___wasm_call_ctors = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _malloc = function() { + return (_malloc = Module["asm"]["malloc"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _free = function() { + return (_free = Module["asm"]["free"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var ___getTypeName = function() { + return (___getTypeName = Module["asm"]["__getTypeName"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var __embind_initialize_bindings = Module["__embind_initialize_bindings"] = function() { + return (__embind_initialize_bindings = Module["__embind_initialize_bindings"] = Module["asm"]["_embind_initialize_bindings"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var ___errno_location = function() { + return (___errno_location = Module["asm"]["__errno_location"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackSave = function() { + return (stackSave = Module["asm"]["stackSave"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackRestore = function() { + return (stackRestore = Module["asm"]["stackRestore"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackAlloc = function() { + return (stackAlloc = Module["asm"]["stackAlloc"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = function() { + return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments); +}; + + + +// include: postamble.js +// === Auto-generated postamble setup entry stuff === + + + + +var calledRun; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + +function run() { + + if (runDependencies > 0) { + return; + } + + preRun(); + + // a preRun added a dependency, run will be called later + if (runDependencies > 0) { + return; + } + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + Module['calledRun'] = true; + + if (ABORT) return; + + initRuntime(); + + readyPromiseResolve(Module); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +run(); + + +// end include: postamble.js + + + return BOX2D.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = BOX2D; +else if (typeof define === 'function' && define['amd']) + define([], function() { return BOX2D; }); +else if (typeof exports === 'object') + exports["BOX2D"] = BOX2D; diff --git a/emscripten/box2d/box2d.debug.wasm.js b/emscripten/box2d/box2d.debug.wasm.js new file mode 100644 index 00000000..880f27cd --- /dev/null +++ b/emscripten/box2d/box2d.debug.wasm.js @@ -0,0 +1,4297 @@ + +var BOX2D = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + return ( +function(BOX2D = {}) { + +// include: shell.js +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = typeof BOX2D != 'undefined' ? BOX2D : {}; + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise((resolve, reject) => { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); +["_main","__embind_initialize_bindings","_fflush","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'), + }); + } +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) + + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +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)'); +} + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +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_ = (f) => { + return read(f); + }; + } + + readBinary = (f) => { + let data; + if (typeof readbuffer == 'function') { + return new Uint8Array(readbuffer(f)); + } + data = read(f, 'binary'); + assert(typeof data == 'object'); + return data; + }; + + readAsync = (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) => { + // Unlike node which has process.exitCode, d8 has no such mechanism. So we + // have no way to set the exit code and then let the program exit with + // that code when it naturally stops running (say, when all setTimeouts + // have completed). For that reason, we must call `quit` - the only way to + // set the exit code - but quit also halts immediately. To increase + // consistency with node (and the web) we schedule the actual quit call + // using a setTimeout to give the current stack and any exception handlers + // a chance to run. This enables features such as addOnPostRun (which + // expected to be able to run code after main returns). + 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') { + // Prefer to use print/printErr where they exist, as they usually work better. + 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 + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (typeof document != 'undefined' && document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), + // they are removed because they could contain a slash. + 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?)'); + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { +// include: web_or_worker_shell_read.js +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)) { // file URLs can return 0 + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + } + +// end include: web_or_worker_shell_read.js + } + + 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.error.bind(console); + +// Merge back in the overrides +Object.assign(Module, moduleOverrides); +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = null; +checkIncomingModuleAPI(); + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. + +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_'); + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message +// Assertions on removed incoming Module JS APIs. +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."); + + +// end include: shell.js +// include: preamble.js +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +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'); +} + +// Wasm globals + +var wasmMemory; + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS; + +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + abort('Assertion failed' + (text ? ': ' + text : '')); + } +} + +// We used to include malloc/free by default in the past. Show a helpful error in +// builds with assertions. + +// Memory management + +var HEAP, +/** @type {!Int8Array} */ + HEAP8, +/** @type {!Uint8Array} */ + HEAPU8, +/** @type {!Int16Array} */ + HEAP16, +/** @type {!Uint16Array} */ + HEAPU16, +/** @type {!Int32Array} */ + HEAP32, +/** @type {!Uint32Array} */ + HEAPU32, +/** @type {!Float32Array} */ + HEAPF32, +/** @type {!Float64Array} */ + 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 != undefined && Int32Array.prototype.set != undefined, + 'JS engine does not provide full typed array support'); + +// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY +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'); + +// include: runtime_init_table.js +// In regular non-RELOCATABLE mode the table is exported +// from the wasm module and this will be assigned once +// the exports are available. +var wasmTable; + +// end include: runtime_init_table.js +// include: runtime_stack_check.js +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + var max = _emscripten_stack_get_end(); + assert((max & 3) == 0); + // If the stack ends at address zero we write our cookies 4 bytes into the + // stack. This prevents interference with SAFE_HEAP and ASAN which also + // monitor writes to address zero. + if (max == 0) { + max += 4; + } + // The stack grow downwards towards _emscripten_stack_get_end. + // We write cookies to the final two words in the stack and detect if they are + // ever overwritten. + HEAPU32[((max)>>2)] = 0x02135467; + HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; + // Also test the global address 0 for integrity. + HEAPU32[((0)>>2)] = 1668509029; +} + +function checkStackCookie() { + if (ABORT) return; + var max = _emscripten_stack_get_end(); + // See writeStackCookie(). + if (max == 0) { + max += 4; + } + var cookie1 = HEAPU32[((max)>>2)]; + var cookie2 = HEAPU32[(((max)+(4))>>2)]; + if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { + abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); + } + // Also test the global address 0 for integrity. + if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { + abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); + } +} + +// end include: runtime_stack_check.js +// include: runtime_assertions.js +// Endianness check +(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 0x6373; + if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; +})(); + +// end include: runtime_assertions.js +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +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); +} + +// include: runtime_math.js +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + +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'); + +// end include: runtime_math.js +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +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') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(() => { + 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)'); + } + }, 10000); + } + } 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(); // can add another dependenciesFulfilled + } + } +} + +/** @param {string|number=} what */ +function abort(what) { + if (Module['onAbort']) { + Module['onAbort'](what); + } + + what = 'Aborted(' + what + ')'; + // TODO(sbc): Should we remove printing and leave it up to whoever + // catches the exception? + err(what); + + ABORT = true; + EXITSTATUS = 1; + + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + // FIXME This approach does not work in Wasm EH because it currently does not assume + // all RuntimeErrors are from traps; it decides whether a RuntimeError is from + // a trap or not based on a hidden field within the object. So at the moment + // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that + // allows this in the wasm spec. + + // Suppress closure compiler warning here. Closure compiler's builtin extern + // defintion for WebAssembly.RuntimeError claims it takes no arguments even + // though it can. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. + /** @suppress {checkTypes} */ + var e = new WebAssembly.RuntimeError(what); + + readyPromiseReject(e); + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + +// include: memoryprofiler.js +// end include: memoryprofiler.js +// show errors on likely calls to FS when it was not included +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; + +// include: URIUtils.js +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +// Indicates whether filename is a base64 data URI. +function isDataURI(filename) { + // Prefix of data URIs emitted by SINGLE_FILE and related options. + return filename.startsWith(dataURIPrefix); +} + +// Indicates whether filename is delivered via file protocol (as opposed to http/https) +function isFileURI(filename) { + return filename.startsWith('file://'); +} + +// end include: URIUtils.js +/** @param {boolean=} fixedasm */ +function createExportWrapper(name, fixedasm) { + return function() { + var displayName = name; + var asm = fixedasm; + if (!fixedasm) { + asm = Module['asm']; + } + assert(runtimeInitialized, 'native function `' + displayName + '` called before runtime initialization'); + if (!asm[name]) { + assert(asm[name], 'exported native function `' + displayName + '` not found'); + } + return asm[name].apply(null, arguments); + }; +} + +// include: runtime_exceptions.js +// end include: runtime_exceptions.js +var wasmBinaryFile; + wasmBinaryFile = 'box2d.debug.wasm.wasm'; + if (!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 (err) { + abort(err); + } +} + +function getBinaryPromise(binaryFile) { + // If we don't have the binary yet, try to load it asynchronously. + // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. + // See https://github.com/github/fetch/pull/92#issuecomment-140665932 + // Cordova or Electron apps are typically loaded from a file:// url. + // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == 'function' + ) { + return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { + if (!response['ok']) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response['arrayBuffer'](); + }).catch(() => getBinary(binaryFile)); + } + } + + // Otherwise, getBinary should be able to get it synchronously + return Promise.resolve().then(() => getBinary(binaryFile)); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then((binary) => { + return WebAssembly.instantiate(binary, imports); + }).then((instance) => { + return instance; + }).then(receiver, (reason) => { + err('failed to asynchronously prepare wasm: ' + reason); + + // Warn on some common problems. + 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((response) => { + // Suppress closure warning here since the upstream definition for + // instantiateStreaming only allows Promise rather than + // an actual Response. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. + /** @suppress {checkTypes} */ + var result = WebAssembly.instantiateStreaming(response, imports); + + return result.then( + callback, + function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err('wasm streaming compile failed: ' + reason); + err('falling back to ArrayBuffer instantiation'); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } else { + return instantiateArrayBuffer(binaryFile, imports, callback); + } +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': wasmImports, + 'wasi_snapshot_preview1': wasmImports, + }; + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ + function receiveInstance(instance, module) { + var exports = instance.exports; + + Module['asm'] = exports; + + wasmMemory = Module['asm']['memory']; + assert(wasmMemory, "memory not found in wasm exports"); + // This assertion doesn't hold when emscripten is run in --post-link + // mode. + // TODO(sbc): Read INITIAL_MEMORY out of the wasm file in post-link mode. + //assert(wasmMemory.buffer.byteLength === 16777216); + updateMemoryViews(); + + wasmTable = Module['asm']['__indirect_function_table']; + assert(wasmTable, "table not found in wasm exports"); + + addOnInit(Module['asm']['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + return exports; + } + // wait for the pthread pool (if any) + addRunDependency('wasm-instantiate'); + + // Prefer streaming instantiation if available. + // Async compilation can be confusing when an error on the page overwrites Module + // (for example, if the order of elements is wrong, and the one defining Module is + // later), so we save Module and check it later. + var trueModule = Module; + function receiveInstantiationResult(result) { + // 'result' is a ResultObject object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); + trueModule = null; + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to + // run the instantiation parallel to any other async startup actions they are + // performing. + // Also pthreads and wasm workers initialize the wasm instance through this + // path. + if (Module['instantiateWasm']) { + + try { + return Module['instantiateWasm'](info, receiveInstance); + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// include: runtime_debug.js +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'); + } +} + +// forcing the filesystem exports a few things by default +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 undefined; + } + }); + } +} + +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() { + // Can't `abort()` here because it would break code that does runtime + // checks. e.g. `if (typeof SDL === 'undefined')`. + 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'; + // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in + // library.js, which means $name for a JS name with no prefix, or name + // for a JS name like _name. + 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 undefined; + } + }); + } + // Any symbol that is not included from the JS libary is also (by definition) + // not exported on the Module object. + 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); + } + }); + } +} + +// Used by XXXXX_DEBUG settings to output debug messages. +function dbg(text) { + // TODO(sbc): Make this configurable somehow. Its not always convenient for + // logging to show up as warnings. + console.warn.apply(console, arguments); +} + +// end include: runtime_debug.js +// === Body === + + +// end include: preamble.js + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = `Program terminated with exit(${status})`; + this.status = status; + } + + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + // Pass the module as the first argument. + callbacks.shift()(Module); + } + } + + + /** + * @param {number} ptr + * @param {string} type + */ + 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': abort('to do getValue(i64) use WASM_BIGINT'); + 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 ptrToString(ptr) { + assert(typeof ptr === 'number'); + return '0x' + ptr.toString(16).padStart(8, '0'); + } + + + /** + * @param {number} ptr + * @param {number} value + * @param {string} type + */ + 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': abort('to do setValue(i64) use WASM_BIGINT'); + 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); + } + } + + var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; + + /** + * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given + * array that contains uint8 values, returns a copy of that string as a + * Javascript String object. + * heapOrArray is either a regular array, or a JavaScript typed array view. + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ + function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. Also, use the length info to avoid running tiny + // strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, + // so that undefined means Infinity) + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ''; + // If building with TextDecoder, we have already computed the string length + // above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heapOrArray[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + if ((u0 & 0xF8) != 0xF0) 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 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + return str; + } + + + /** + * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the + * emscripten HEAP, returns a copy of that string as a Javascript String object. + * + * @param {number} ptr + * @param {number=} maxBytesToRead - An optional length that specifies the + * maximum number of bytes to read. You can omit this parameter to scan the + * string until the first 0 byte. If maxBytesToRead is passed, and the string + * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the + * string will cut short at that byte index (i.e. maxBytesToRead will not + * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing + * frequent uses of UTF8ToString() with and without maxBytesToRead may throw + * JS JIT optimizations off, so it is worth to consider consistently using one + * @return {string} + */ + function UTF8ToString(ptr, maxBytesToRead) { + assert(typeof ptr == 'number'); + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; + } + 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 setErrNo(value) { + HEAP32[((___errno_location())>>2)] = value; + return value; + } + + var SYSCALLS = {varargs:undefined,get:function() { + assert(SYSCALLS.varargs != undefined); + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }}; + function ___syscall_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + + return 0; + } + + function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + + return 0; + } + + function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + + abort('it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM'); + } + + var char_0 = 48; + + var char_9 = 57; + function makeLegalFunctionName(name) { + if (undefined === name) { + return '_unknown'; + } + name = name.replace(/[^a-zA-Z0-9_]/g, '$'); + var f = name.charCodeAt(0); + if (f >= char_0 && f <= char_9) { + return `_${name}`; + } + return name; + } + function createNamedFunction(name, body) { + name = makeLegalFunctionName(name); + // Use an abject with a computed property name to create a new function with + // a name specified at runtime, but without using `new Function` or `eval`. + return { + [name]: function() { + return body.apply(this, arguments); + } + }[name]; + } + + /** @constructor */ + function HandleAllocator() { + // Reserve slot 0 so that 0 is always an invalid handle + this.allocated = [undefined]; + this.freelist = []; + this.get = function(id) { + assert(this.allocated[id] !== undefined, `invalid handle: ${id}`); + return this.allocated[id]; + }; + this.has = function(id) { + return this.allocated[id] !== undefined; + }; + this.allocate = function(handle) { + var id = this.freelist.pop() || this.allocated.length; + this.allocated[id] = handle; + return id; + }; + this.free = function(id) { + assert(this.allocated[id] !== undefined); + // Set the slot to `undefined` rather than using `delete` here since + // apparently arrays with holes in them can be less efficient. + this.allocated[id] = undefined; + this.freelist.push(id); + }; + } + var emval_handles = new HandleAllocator();; + + function extendError(baseErrorType, errorName) { + var errorClass = createNamedFunction(errorName, function(message) { + this.name = errorName; + this.message = message; + + var stack = (new Error(message)).stack; + if (stack !== undefined) { + this.stack = this.toString() + '\n' + + stack.replace(/^Error(:[^\n]*)?\n/, ''); + } + }); + errorClass.prototype = Object.create(baseErrorType.prototype); + errorClass.prototype.constructor = errorClass; + errorClass.prototype.toString = function() { + if (this.message === undefined) { + return this.name; + } else { + return `${this.name}: ${this.message}`; + } + }; + + return errorClass; + } + var BindingError = undefined; + function throwBindingError(message) { + throw new BindingError(message); + } + + function count_emval_handles() { + var count = 0; + for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) { + if (emval_handles.allocated[i] !== undefined) { + ++count; + } + } + return count; + } + + function init_emval() { + // reserve some special values. These never get de-allocated. + // The HandleAllocator takes care of reserving zero. + emval_handles.allocated.push( + {value: undefined}, + {value: null}, + {value: true}, + {value: false}, + ); + emval_handles.reserved = emval_handles.allocated.length + Module['count_emval_handles'] = count_emval_handles; + } + var Emval = {toValue:(handle) => { + if (!handle) { + throwBindingError('Cannot use deleted val. handle = ' + handle); + } + return emval_handles.get(handle).value; + },toHandle:(value) => { + switch (value) { + case undefined: return 1; + case null: return 2; + case true: return 3; + case false: return 4; + default:{ + return emval_handles.allocate({refcount: 1, value: value}); + } + } + }}; + + var PureVirtualError = undefined; + + function embind_init_charCodes() { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i); + } + embind_charCodes = codes; + } + var embind_charCodes = undefined; + function readLatin1String(ptr) { + var ret = ""; + var c = ptr; + while (HEAPU8[c]) { + ret += embind_charCodes[HEAPU8[c++]]; + } + return ret; + } + + function getInheritedInstanceCount() { + return Object.keys(registeredInstances).length; + } + + function getLiveInheritedInstances() { + var rv = []; + for (var k in registeredInstances) { + if (registeredInstances.hasOwnProperty(k)) { + rv.push(registeredInstances[k]); + } + } + return rv; + } + + var deletionQueue = []; + function flushPendingDeletes() { + while (deletionQueue.length) { + var obj = deletionQueue.pop(); + obj.$$.deleteScheduled = false; + obj['delete'](); + } + } + + var delayFunction = undefined; + + + function setDelayFunction(fn) { + delayFunction = fn; + if (deletionQueue.length && delayFunction) { + delayFunction(flushPendingDeletes); + } + } + function init_embind() { + Module['getInheritedInstanceCount'] = getInheritedInstanceCount; + Module['getLiveInheritedInstances'] = getLiveInheritedInstances; + Module['flushPendingDeletes'] = flushPendingDeletes; + Module['setDelayFunction'] = setDelayFunction; + } + var registeredInstances = {}; + + function getBasestPointer(class_, ptr) { + if (ptr === undefined) { + throwBindingError('ptr should not be undefined'); + } + while (class_.baseClass) { + ptr = class_.upcast(ptr); + class_ = class_.baseClass; + } + return ptr; + } + + function registerInheritedInstance(class_, ptr, instance) { + ptr = getBasestPointer(class_, ptr); + if (registeredInstances.hasOwnProperty(ptr)) { + throwBindingError(`Tried to register registered instance: ${ptr}`); + } else { + registeredInstances[ptr] = instance; + } + } + + var registeredTypes = {}; + + + + function getTypeName(type) { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv; + } + + function requireRegisteredType(rawType, humanName) { + var impl = registeredTypes[rawType]; + if (undefined === impl) { + throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); + } + return impl; + } + + + + + function unregisterInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + if (registeredInstances.hasOwnProperty(ptr)) { + delete registeredInstances[ptr]; + } else { + throwBindingError(`Tried to unregister unregistered instance: ${ptr}`); + } + } + + function detachFinalizer(handle) {} + + var finalizationRegistry = false; + + + function runDestructor($$) { + if ($$.smartPtr) { + $$.smartPtrType.rawDestructor($$.smartPtr); + } else { + $$.ptrType.registeredClass.rawDestructor($$.ptr); + } + } + function releaseClassHandle($$) { + $$.count.value -= 1; + var toDelete = 0 === $$.count.value; + if (toDelete) { + runDestructor($$); + } + } + + function downcastPointer(ptr, ptrClass, desiredClass) { + if (ptrClass === desiredClass) { + return ptr; + } + if (undefined === desiredClass.baseClass) { + return null; // no conversion + } + + var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); + if (rv === null) { + return null; + } + return desiredClass.downcast(rv); + } + + var registeredPointers = {}; + + + function getInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + return registeredInstances[ptr]; + } + + var InternalError = undefined; + function throwInternalError(message) { + throw new InternalError(message); + } + + function makeClassHandle(prototype, record) { + if (!record.ptrType || !record.ptr) { + throwInternalError('makeClassHandle requires ptr and ptrType'); + } + var hasSmartPtrType = !!record.smartPtrType; + var hasSmartPtr = !!record.smartPtr; + if (hasSmartPtrType !== hasSmartPtr) { + throwInternalError('Both smartPtrType and smartPtr must be specified'); + } + record.count = { value: 1 }; + return attachFinalizer(Object.create(prototype, { + $$: { + value: record, + }, + })); + } + function RegisteredPointer_fromWireType(ptr) { + // ptr is a raw pointer (or a raw smartpointer) + + // rawPointer is a maybe-null raw pointer + var rawPointer = this.getPointee(ptr); + if (!rawPointer) { + this.destructor(ptr); + return null; + } + + var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); + if (undefined !== registeredInstance) { + // JS object has been neutered, time to repopulate it + if (0 === registeredInstance.$$.count.value) { + registeredInstance.$$.ptr = rawPointer; + registeredInstance.$$.smartPtr = ptr; + return registeredInstance['clone'](); + } else { + // else, just increment reference count on existing object + // it already has a reference to the smart pointer + var rv = registeredInstance['clone'](); + this.destructor(ptr); + return rv; + } + } + + function makeDefaultHandle() { + if (this.isSmartPointer) { + return makeClassHandle(this.registeredClass.instancePrototype, { + ptrType: this.pointeeType, + ptr: rawPointer, + smartPtrType: this, + smartPtr: ptr, + }); + } else { + return makeClassHandle(this.registeredClass.instancePrototype, { + ptrType: this, + ptr: ptr, + }); + } + } + + var actualType = this.registeredClass.getActualType(rawPointer); + var registeredPointerRecord = registeredPointers[actualType]; + if (!registeredPointerRecord) { + return makeDefaultHandle.call(this); + } + + var toType; + if (this.isConst) { + toType = registeredPointerRecord.constPointerType; + } else { + toType = registeredPointerRecord.pointerType; + } + var dp = downcastPointer( + rawPointer, + this.registeredClass, + toType.registeredClass); + if (dp === null) { + return makeDefaultHandle.call(this); + } + if (this.isSmartPointer) { + return makeClassHandle(toType.registeredClass.instancePrototype, { + ptrType: toType, + ptr: dp, + smartPtrType: this, + smartPtr: ptr, + }); + } else { + return makeClassHandle(toType.registeredClass.instancePrototype, { + ptrType: toType, + ptr: dp, + }); + } + } + function attachFinalizer(handle) { + if ('undefined' === typeof FinalizationRegistry) { + attachFinalizer = (handle) => handle; + return handle; + } + // If the running environment has a FinalizationRegistry (see + // https://github.com/tc39/proposal-weakrefs), then attach finalizers + // for class handles. We check for the presence of FinalizationRegistry + // at run-time, not build-time. + finalizationRegistry = new FinalizationRegistry((info) => { + console.warn(info.leakWarning.stack.replace(/^Error: /, '')); + releaseClassHandle(info.$$); + }); + attachFinalizer = (handle) => { + var $$ = handle.$$; + var hasSmartPtr = !!$$.smartPtr; + if (hasSmartPtr) { + // We should not call the destructor on raw pointers in case other code expects the pointee to live + var info = { $$: $$ }; + // Create a warning as an Error instance in advance so that we can store + // the current stacktrace and point to it when / if a leak is detected. + // This is more useful than the empty stacktrace of `FinalizationRegistry` + // callback. + var cls = $$.ptrType.registeredClass; + info.leakWarning = new Error(`Embind found a leaked C++ instance ${cls.name} <${ptrToString($$.ptr)}>.\n` + + "We'll free it automatically in this case, but this functionality is not reliable across various environments.\n" + + "Make sure to invoke .delete() manually once you're done with the instance instead.\n" + + "Originally allocated"); // `.stack` will add "at ..." after this sentence + if ('captureStackTrace' in Error) { + Error.captureStackTrace(info.leakWarning, RegisteredPointer_fromWireType); + } + finalizationRegistry.register(handle, info, handle); + } + return handle; + }; + detachFinalizer = (handle) => finalizationRegistry.unregister(handle); + return attachFinalizer(handle); + } + function __embind_create_inheriting_constructor(constructorName, wrapperType, properties) { + constructorName = readLatin1String(constructorName); + wrapperType = requireRegisteredType(wrapperType, 'wrapper'); + properties = Emval.toValue(properties); + + var arraySlice = [].slice; + + var registeredClass = wrapperType.registeredClass; + var wrapperPrototype = registeredClass.instancePrototype; + var baseClass = registeredClass.baseClass; + var baseClassPrototype = baseClass.instancePrototype; + var baseConstructor = registeredClass.baseClass.constructor; + var ctor = createNamedFunction(constructorName, function() { + registeredClass.baseClass.pureVirtualFunctions.forEach(function(name) { + if (this[name] === baseClassPrototype[name]) { + throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`); + } + }.bind(this)); + + Object.defineProperty(this, '__parent', { + value: wrapperPrototype + }); + this["__construct"].apply(this, arraySlice.call(arguments)); + }); + + // It's a little nasty that we're modifying the wrapper prototype here. + + wrapperPrototype["__construct"] = function __construct() { + if (this === wrapperPrototype) { + throwBindingError("Pass correct 'this' to __construct"); + } + + var inner = baseConstructor["implement"].apply( + undefined, + [this].concat(arraySlice.call(arguments))); + detachFinalizer(inner); + var $$ = inner.$$; + inner["notifyOnDestruction"](); + $$.preservePointerOnDelete = true; + Object.defineProperties(this, { $$: { + value: $$ + }}); + attachFinalizer(this); + registerInheritedInstance(registeredClass, $$.ptr, this); + }; + + wrapperPrototype["__destruct"] = function __destruct() { + if (this === wrapperPrototype) { + throwBindingError("Pass correct 'this' to __destruct"); + } + + detachFinalizer(this); + unregisterInheritedInstance(registeredClass, this.$$.ptr); + }; + + ctor.prototype = Object.create(wrapperPrototype); + for (var p in properties) { + ctor.prototype[p] = properties[p]; + } + return Emval.toHandle(ctor); + } + + var structRegistrations = {}; + + function runDestructors(destructors) { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr); + } + } + + function simpleReadValueFromPointer(pointer) { + return this['fromWireType'](HEAP32[((pointer)>>2)]); + } + + var awaitingDependencies = {}; + + + var typeDependencies = {}; + + function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { + myTypes.forEach(function(type) { + typeDependencies[type] = dependentTypes; + }); + + function onComplete(typeConverters) { + var myTypeConverters = getTypeConverters(typeConverters); + if (myTypeConverters.length !== myTypes.length) { + throwInternalError('Mismatched type converter count'); + } + for (var i = 0; i < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]); + } + } + + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach((dt, i) => { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt]; + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = []; + } + awaitingDependencies[dt].push(() => { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters); + } + }); + } + }); + if (0 === unregisteredTypes.length) { + onComplete(typeConverters); + } + } + function __embind_finalize_value_object(structType) { + var reg = structRegistrations[structType]; + delete structRegistrations[structType]; + + var rawConstructor = reg.rawConstructor; + var rawDestructor = reg.rawDestructor; + var fieldRecords = reg.fields; + var fieldTypes = fieldRecords.map((field) => field.getterReturnType). + concat(fieldRecords.map((field) => field.setterArgumentType)); + whenDependentTypesAreResolved([structType], fieldTypes, (fieldTypes) => { + var fields = {}; + fieldRecords.forEach((field, i) => { + var fieldName = field.fieldName; + var getterReturnType = fieldTypes[i]; + var getter = field.getter; + var getterContext = field.getterContext; + var setterArgumentType = fieldTypes[i + fieldRecords.length]; + var setter = field.setter; + var setterContext = field.setterContext; + fields[fieldName] = { + read: (ptr) => { + return getterReturnType['fromWireType']( + getter(getterContext, ptr)); + }, + write: (ptr, o) => { + var destructors = []; + setter(setterContext, ptr, setterArgumentType['toWireType'](destructors, o)); + runDestructors(destructors); + } + }; + }); + + return [{ + name: reg.name, + 'fromWireType': function(ptr) { + var rv = {}; + for (var i in fields) { + rv[i] = fields[i].read(ptr); + } + rawDestructor(ptr); + return rv; + }, + 'toWireType': function(destructors, o) { + // todo: Here we have an opportunity for -O3 level "unsafe" optimizations: + // assume all fields are present without checking. + for (var fieldName in fields) { + if (!(fieldName in o)) { + throw new TypeError(`Missing field: "${fieldName}"`); + } + } + var ptr = rawConstructor(); + for (fieldName in fields) { + fields[fieldName].write(ptr, o[fieldName]); + } + if (destructors !== null) { + destructors.push(rawDestructor, ptr); + } + return ptr; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: rawDestructor, + }]; + }); + } + + function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) {} + + function getShiftFromSize(size) { + switch (size) { + case 1: return 0; + case 2: return 1; + case 4: return 2; + case 8: return 3; + default: + throw new TypeError(`Unknown type size: ${size}`); + } + } + + + + + + + /** @param {Object=} options */ + function registerType(rawType, registeredInstance, options = {}) { + if (!('argPackAdvance' in registeredInstance)) { + throw new TypeError('registerType registeredInstance requires argPackAdvance'); + } + + var name = registeredInstance.name; + if (!rawType) { + throwBindingError(`type "${name}" must have a positive integer typeid pointer`); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError(`Cannot register type '${name}' twice`); + } + } + + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach((cb) => cb()); + } + } + function __embind_register_bool(rawType, name, size, trueValue, falseValue) { + var shift = getShiftFromSize(size); + + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(wt) { + // ambiguous emscripten ABI: sometimes return values are + // true or false, and sometimes integers (0 or 1) + return !!wt; + }, + 'toWireType': function(destructors, o) { + return o ? trueValue : falseValue; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': function(pointer) { + // TODO: if heap is fixed (like in asm.js) this could be executed outside + var heap; + if (size === 1) { + heap = HEAP8; + } else if (size === 2) { + heap = HEAP16; + } else if (size === 4) { + heap = HEAP32; + } else { + throw new TypeError("Unknown boolean type size: " + name); + } + return this['fromWireType'](heap[pointer >> shift]); + }, + destructorFunction: null, // This type does not need a destructor + }); + } + + + function ClassHandle_isAliasOf(other) { + if (!(this instanceof ClassHandle)) { + return false; + } + if (!(other instanceof ClassHandle)) { + return false; + } + + var leftClass = this.$$.ptrType.registeredClass; + var left = this.$$.ptr; + var rightClass = other.$$.ptrType.registeredClass; + var right = other.$$.ptr; + + while (leftClass.baseClass) { + left = leftClass.upcast(left); + leftClass = leftClass.baseClass; + } + + while (rightClass.baseClass) { + right = rightClass.upcast(right); + rightClass = rightClass.baseClass; + } + + return leftClass === rightClass && left === right; + } + + function shallowCopyInternalPointer(o) { + return { + count: o.count, + deleteScheduled: o.deleteScheduled, + preservePointerOnDelete: o.preservePointerOnDelete, + ptr: o.ptr, + ptrType: o.ptrType, + smartPtr: o.smartPtr, + smartPtrType: o.smartPtrType, + }; + } + + function throwInstanceAlreadyDeleted(obj) { + function getInstanceTypeName(handle) { + return handle.$$.ptrType.registeredClass.name; + } + throwBindingError(getInstanceTypeName(obj) + ' instance already deleted'); + } + + function ClassHandle_clone() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + + if (this.$$.preservePointerOnDelete) { + this.$$.count.value += 1; + return this; + } else { + var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { + $$: { + value: shallowCopyInternalPointer(this.$$), + } + })); + + clone.$$.count.value += 1; + clone.$$.deleteScheduled = false; + return clone; + } + } + + + + + function ClassHandle_delete() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError('Object already scheduled for deletion'); + } + + detachFinalizer(this); + releaseClassHandle(this.$$); + + if (!this.$$.preservePointerOnDelete) { + this.$$.smartPtr = undefined; + this.$$.ptr = undefined; + } + } + + function ClassHandle_isDeleted() { + return !this.$$.ptr; + } + + + + function ClassHandle_deleteLater() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError('Object already scheduled for deletion'); + } + deletionQueue.push(this); + if (deletionQueue.length === 1 && delayFunction) { + delayFunction(flushPendingDeletes); + } + this.$$.deleteScheduled = true; + return this; + } + function init_ClassHandle() { + ClassHandle.prototype['isAliasOf'] = ClassHandle_isAliasOf; + ClassHandle.prototype['clone'] = ClassHandle_clone; + ClassHandle.prototype['delete'] = ClassHandle_delete; + ClassHandle.prototype['isDeleted'] = ClassHandle_isDeleted; + ClassHandle.prototype['deleteLater'] = ClassHandle_deleteLater; + } + function ClassHandle() { + } + + + + function ensureOverloadTable(proto, methodName, humanName) { + if (undefined === proto[methodName].overloadTable) { + var prevFunc = proto[methodName]; + // Inject an overload resolver function that routes to the appropriate overload based on the number of arguments. + proto[methodName] = function() { + // TODO This check can be removed in -O3 level "unsafe" optimizations. + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`); + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; + // Move the previous function into the overload table. + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + } + + /** @param {number=} numArguments */ + function exposePublicSymbol(name, value, numArguments) { + if (Module.hasOwnProperty(name)) { + if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) { + throwBindingError(`Cannot register public name '${name}' twice`); + } + + // We are exposing a function with the same name as an existing function. Create an overload table and a function selector + // that routes between the two. + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`); + } + // Add the new function into the overload table. + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + if (undefined !== numArguments) { + Module[name].numArguments = numArguments; + } + } + } + + + + /** @constructor */ + function RegisteredClass(name, + constructor, + instancePrototype, + rawDestructor, + baseClass, + getActualType, + upcast, + downcast) { + this.name = name; + this.constructor = constructor; + this.instancePrototype = instancePrototype; + this.rawDestructor = rawDestructor; + this.baseClass = baseClass; + this.getActualType = getActualType; + this.upcast = upcast; + this.downcast = downcast; + this.pureVirtualFunctions = []; + } + + + function upcastPointer(ptr, ptrClass, desiredClass) { + while (ptrClass !== desiredClass) { + if (!ptrClass.upcast) { + throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`); + } + ptr = ptrClass.upcast(ptr); + ptrClass = ptrClass.baseClass; + } + return ptr; + } + function constNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + + + function genericPointerToWireType(destructors, handle) { + var ptr; + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + + if (this.isSmartPointer) { + ptr = this.rawConstructor(); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + return ptr; + } else { + return 0; + } + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (!this.isConst && handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + + if (this.isSmartPointer) { + // TODO: this is not strictly true + // We could support BY_EMVAL conversions from raw pointers to smart pointers + // because the smart pointer can hold a reference to the handle + if (undefined === handle.$$.smartPtr) { + throwBindingError('Passing raw pointer to smart pointer is illegal'); + } + + switch (this.sharingPolicy) { + case 0: // NONE + // no upcasting + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`); + } + break; + + case 1: // INTRUSIVE + ptr = handle.$$.smartPtr; + break; + + case 2: // BY_EMVAL + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + var clonedHandle = handle['clone'](); + ptr = this.rawShare( + ptr, + Emval.toHandle(function() { + clonedHandle['delete'](); + }) + ); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + } + break; + + default: + throwBindingError('Unsupporting sharing policy'); + } + } + return ptr; + } + + + function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + + + function RegisteredPointer_getPointee(ptr) { + if (this.rawGetPointee) { + ptr = this.rawGetPointee(ptr); + } + return ptr; + } + + function RegisteredPointer_destructor(ptr) { + if (this.rawDestructor) { + this.rawDestructor(ptr); + } + } + + function RegisteredPointer_deleteObject(handle) { + if (handle !== null) { + handle['delete'](); + } + } + + function init_RegisteredPointer() { + RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; + RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; + RegisteredPointer.prototype['argPackAdvance'] = 8; + RegisteredPointer.prototype['readValueFromPointer'] = simpleReadValueFromPointer; + RegisteredPointer.prototype['deleteObject'] = RegisteredPointer_deleteObject; + RegisteredPointer.prototype['fromWireType'] = RegisteredPointer_fromWireType; + } + /** @constructor + @param {*=} pointeeType, + @param {*=} sharingPolicy, + @param {*=} rawGetPointee, + @param {*=} rawConstructor, + @param {*=} rawShare, + @param {*=} rawDestructor, + */ + function RegisteredPointer( + name, + registeredClass, + isReference, + isConst, + + // smart pointer properties + isSmartPointer, + pointeeType, + sharingPolicy, + rawGetPointee, + rawConstructor, + rawShare, + rawDestructor + ) { + this.name = name; + this.registeredClass = registeredClass; + this.isReference = isReference; + this.isConst = isConst; + + // smart pointer properties + this.isSmartPointer = isSmartPointer; + this.pointeeType = pointeeType; + this.sharingPolicy = sharingPolicy; + this.rawGetPointee = rawGetPointee; + this.rawConstructor = rawConstructor; + this.rawShare = rawShare; + this.rawDestructor = rawDestructor; + + if (!isSmartPointer && registeredClass.baseClass === undefined) { + if (isConst) { + this['toWireType'] = constNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } else { + this['toWireType'] = nonConstNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } + } else { + this['toWireType'] = genericPointerToWireType; + // Here we must leave this.destructorFunction undefined, since whether genericPointerToWireType returns + // a pointer that needs to be freed up is runtime-dependent, and cannot be evaluated at registration time. + // TODO: Create an alternative mechanism that allows removing the use of var destructors = []; array in + // craftInvokerFunction altogether. + } + } + + /** @param {number=} numArguments */ + function replacePublicSymbol(name, value, numArguments) { + if (!Module.hasOwnProperty(name)) { + throwInternalError('Replacing nonexistant public symbol'); + } + // If there's an overload table for this symbol, replace the symbol in the overload table instead. + if (undefined !== Module[name].overloadTable && undefined !== numArguments) { + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + Module[name].argCount = numArguments; + } + } + + + + function dynCallLegacy(sig, ptr, args) { + assert(('dynCall_' + sig) in Module, `bad function pointer type - dynCall function not found for sig '${sig}'`); + if (args && args.length) { + // j (64-bit integer) must be passed in as two numbers [low 32, high 32]. + assert(args.length === sig.substring(1).replace(/j/g, '--').length); + } else { + assert(sig.length == 1); + } + var f = Module['dynCall_' + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); + } + + 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; + } + + /** @param {Object=} args */ + function dynCall(sig, ptr, args) { + // Without WASM_BIGINT support we cannot directly call function with i64 as + // part of thier signature, so we rely the dynCall functions generated by + // wasm-emscripten-finalize + if (sig.includes('j')) { + return dynCallLegacy(sig, ptr, args); + } + assert(getWasmTableEntry(ptr), `missing table entry in dynCall: ${ptr}`); + var rtn = getWasmTableEntry(ptr).apply(null, args); + return rtn; + + } + + function getDynCaller(sig, ptr) { + assert(sig.includes('j') || sig.includes('p'), 'getDynCaller should only be called with i64 sigs') + var argCache = []; + return function() { + argCache.length = 0; + Object.assign(argCache, arguments); + return dynCall(sig, ptr, argCache); + }; + } + + + function embind__requireFunction(signature, rawFunction) { + signature = readLatin1String(signature); + + function makeDynCaller() { + if (signature.includes('j')) { + return getDynCaller(signature, rawFunction); + } + return getWasmTableEntry(rawFunction); + } + + var fp = makeDynCaller(); + if (typeof fp != "function") { + throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`); + } + return fp; + } + + + + var UnboundTypeError = undefined; + + function throwUnboundTypeError(message, types) { + var unboundTypes = []; + var seen = {}; + function visit(type) { + if (seen[type]) { + return; + } + if (registeredTypes[type]) { + return; + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return; + } + unboundTypes.push(type); + seen[type] = true; + } + types.forEach(visit); + + throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([', '])); + } + + function __embind_register_class(rawType, + rawPointerType, + rawConstPointerType, + baseClassRawType, + getActualTypeSignature, + getActualType, + upcastSignature, + upcast, + downcastSignature, + downcast, + name, + destructorSignature, + rawDestructor) { + name = readLatin1String(name); + getActualType = embind__requireFunction(getActualTypeSignature, getActualType); + if (upcast) { + upcast = embind__requireFunction(upcastSignature, upcast); + } + if (downcast) { + downcast = embind__requireFunction(downcastSignature, downcast); + } + rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); + var legalFunctionName = makeLegalFunctionName(name); + + exposePublicSymbol(legalFunctionName, function() { + // this code cannot run if baseClassRawType is zero + throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]); + }); + + whenDependentTypesAreResolved( + [rawType, rawPointerType, rawConstPointerType], + baseClassRawType ? [baseClassRawType] : [], + function(base) { + base = base[0]; + + var baseClass; + var basePrototype; + if (baseClassRawType) { + baseClass = base.registeredClass; + basePrototype = baseClass.instancePrototype; + } else { + basePrototype = ClassHandle.prototype; + } + + var constructor = createNamedFunction(legalFunctionName, function() { + if (Object.getPrototypeOf(this) !== instancePrototype) { + throw new BindingError("Use 'new' to construct " + name); + } + if (undefined === registeredClass.constructor_body) { + throw new BindingError(name + " has no accessible constructor"); + } + var body = registeredClass.constructor_body[arguments.length]; + if (undefined === body) { + throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`); + } + return body.apply(this, arguments); + }); + + var instancePrototype = Object.create(basePrototype, { + constructor: { value: constructor }, + }); + + constructor.prototype = instancePrototype; + + var registeredClass = new RegisteredClass(name, + constructor, + instancePrototype, + rawDestructor, + baseClass, + getActualType, + upcast, + downcast); + + if (registeredClass.baseClass) { + // Keep track of class hierarchy. Used to allow sub-classes to inherit class functions. + if (registeredClass.baseClass.__derivedClasses === undefined) { + registeredClass.baseClass.__derivedClasses = []; + } + + registeredClass.baseClass.__derivedClasses.push(registeredClass); + } + + var referenceConverter = new RegisteredPointer(name, + registeredClass, + true, + false, + false); + + var pointerConverter = new RegisteredPointer(name + '*', + registeredClass, + false, + false, + false); + + var constPointerConverter = new RegisteredPointer(name + ' const*', + registeredClass, + false, + true, + false); + + registeredPointers[rawType] = { + pointerType: pointerConverter, + constPointerType: constPointerConverter + }; + + replacePublicSymbol(legalFunctionName, constructor); + + return [referenceConverter, pointerConverter, constPointerConverter]; + } + ); + } + + + + function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, /** boolean= */ isAsync) { + // humanName: a human-readable string name for the function to be generated. + // argTypes: An array that contains the embind type objects for all types in the function signature. + // argTypes[0] is the type object for the function return value. + // argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method. + // argTypes[2...] are the actual function parameters. + // classType: The embind type object for the class to be bound, or null if this is not a method of a class. + // cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code. + // cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling. + // isAsync: Optional. If true, returns an async function. Async bindings are only supported with JSPI. + var argCount = argTypes.length; + + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); + } + + assert(!isAsync, 'Async bindings are only supported with JSPI.'); + + var isClassMethodFunc = (argTypes[1] !== null && classType !== null); + + // Free functions with signature "void function()" do not need an invoker that marshalls between wire types. + // TODO: This omits argument count check - enable only at -O3 or similar. + // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) { + // return FUNCTION_TABLE[fn]; + // } + + // Determine if we need to use a dynamic stack to store the destructors for the function parameters. + // TODO: Remove this completely once all function invokers are being dynamically generated. + var needsDestructorStack = false; + + for (var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. + if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack + needsDestructorStack = true; + break; + } + } + + var returns = (argTypes[0].name !== "void"); + + var expectedArgCount = argCount - 2; + var argsWired = new Array(expectedArgCount); + var invokerFuncArgs = []; + var destructors = []; + return function() { + if (arguments.length !== expectedArgCount) { + throwBindingError(`function ${humanName} called with ${arguments.length} arguments, expected ${expectedArgCount} args!`); + } + destructors.length = 0; + var thisWired; + invokerFuncArgs.length = isClassMethodFunc ? 2 : 1; + invokerFuncArgs[0] = cppTargetFunc; + if (isClassMethodFunc) { + thisWired = argTypes[1]['toWireType'](destructors, this); + invokerFuncArgs[1] = thisWired; + } + for (var i = 0; i < expectedArgCount; ++i) { + argsWired[i] = argTypes[i + 2]['toWireType'](destructors, arguments[i]); + invokerFuncArgs.push(argsWired[i]); + } + + var rv = cppInvokerFunc.apply(null, invokerFuncArgs); + + function onDone(rv) { + if (needsDestructorStack) { + runDestructors(destructors); + } else { + for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; i++) { + var param = i === 1 ? thisWired : argsWired[i - 2]; + if (argTypes[i].destructorFunction !== null) { + argTypes[i].destructorFunction(param); + } + } + } + + if (returns) { + return argTypes[0]['fromWireType'](rv); + } + } + + return onDone(rv); + }; + } + + + function heap32VectorToArray(count, firstElement) { + var array = []; + for (var i = 0; i < count; i++) { + // TODO(https://github.com/emscripten-core/emscripten/issues/17310): + // Find a way to hoist the `>> 2` or `>> 3` out of this loop. + array.push(HEAPU32[(((firstElement)+(i * 4))>>2)]); + } + return array; + } + + + + + function __embind_register_class_class_function(rawClassType, + methodName, + argCount, + rawArgTypesAddr, + invokerSignature, + rawInvoker, + fn, + isAsync) { + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${methodName}`; + + function unboundTypesHandler() { + throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); + } + + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + + var proto = classType.registeredClass.constructor; + if (undefined === proto[methodName]) { + // This is the first function to be registered with this name. + unboundTypesHandler.argCount = argCount-1; + proto[methodName] = unboundTypesHandler; + } else { + // There was an existing function with the same name registered. Set up + // a function overload routing table. + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount-1] = unboundTypesHandler; + } + + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + // Replace the initial unbound-types-handler stub with the proper + // function. If multiple overloads are registered, the function handlers + // go into an overload table. + var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); + var func = craftInvokerFunction(humanName, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync); + if (undefined === proto[methodName].overloadTable) { + func.argCount = argCount-1; + proto[methodName] = func; + } else { + proto[methodName].overloadTable[argCount-1] = func; + } + + if (classType.registeredClass.__derivedClasses) { + for (const derivedClass of classType.registeredClass.__derivedClasses) { + if (!derivedClass.constructor.hasOwnProperty(methodName)) { + // TODO: Add support for overloads + derivedClass.constructor[methodName] = func; + } + } + } + + return []; + }); + return []; + }); + } + + + + + + + + function __embind_register_class_constructor( + rawClassType, + argCount, + rawArgTypesAddr, + invokerSignature, + invoker, + rawConstructor + ) { + assert(argCount > 0); + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + invoker = embind__requireFunction(invokerSignature, invoker); + var args = [rawConstructor]; + var destructors = []; + + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `constructor ${classType.name}`; + + if (undefined === classType.registeredClass.constructor_body) { + classType.registeredClass.constructor_body = []; + } + if (undefined !== classType.registeredClass.constructor_body[argCount - 1]) { + throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`); + } + classType.registeredClass.constructor_body[argCount - 1] = () => { + throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`, rawArgTypes); + }; + + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + // Insert empty slot for context type (argTypes[1]). + argTypes.splice(1, 0, null); + classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor); + return []; + }); + return []; + }); + } + + + + + + + function __embind_register_class_function(rawClassType, + methodName, + argCount, + rawArgTypesAddr, // [ReturnType, ThisType, Args...] + invokerSignature, + rawInvoker, + context, + isPureVirtual, + isAsync) { + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${methodName}`; + + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + + if (isPureVirtual) { + classType.registeredClass.pureVirtualFunctions.push(methodName); + } + + function unboundTypesHandler() { + throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); + } + + var proto = classType.registeredClass.instancePrototype; + var method = proto[methodName]; + if (undefined === method || (undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2)) { + // This is the first overload to be registered, OR we are replacing a + // function in the base class with a function in the derived class. + unboundTypesHandler.argCount = argCount - 2; + unboundTypesHandler.className = classType.name; + proto[methodName] = unboundTypesHandler; + } else { + // There was an existing function with the same name registered. Set up + // a function overload routing table. + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; + } + + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync); + + // Replace the initial unbound-handler-stub function with the appropriate member function, now that all types + // are resolved. If multiple overloads are registered for this function, the function goes into an overload table. + if (undefined === proto[methodName].overloadTable) { + // Set argCount in case an overload is registered later + memberFunction.argCount = argCount - 2; + proto[methodName] = memberFunction; + } else { + proto[methodName].overloadTable[argCount - 2] = memberFunction; + } + + return []; + }); + return []; + }); + } + + + + + + + + + function validateThis(this_, classType, humanName) { + if (!(this_ instanceof Object)) { + throwBindingError(`${humanName} with invalid "this": ${this_}`); + } + if (!(this_ instanceof classType.registeredClass.constructor)) { + throwBindingError(`${humanName} incompatible with "this" of type ${this_.constructor.name}`); + } + if (!this_.$$.ptr) { + throwBindingError(`cannot call emscripten binding method ${humanName} on deleted object`); + } + + // todo: kill this + return upcastPointer(this_.$$.ptr, + this_.$$.ptrType.registeredClass, + classType.registeredClass); + } + function __embind_register_class_property(classType, + fieldName, + getterReturnType, + getterSignature, + getter, + getterContext, + setterArgumentType, + setterSignature, + setter, + setterContext) { + fieldName = readLatin1String(fieldName); + getter = embind__requireFunction(getterSignature, getter); + + whenDependentTypesAreResolved([], [classType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${fieldName}`; + var desc = { + get: function() { + throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`, [getterReturnType, setterArgumentType]); + }, + enumerable: true, + configurable: true + }; + if (setter) { + desc.set = () => { + throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`, [getterReturnType, setterArgumentType]); + }; + } else { + desc.set = (v) => { + throwBindingError(humanName + ' is a read-only property'); + }; + } + + Object.defineProperty(classType.registeredClass.instancePrototype, fieldName, desc); + + whenDependentTypesAreResolved( + [], + (setter ? [getterReturnType, setterArgumentType] : [getterReturnType]), + function(types) { + var getterReturnType = types[0]; + var desc = { + get: function() { + var ptr = validateThis(this, classType, humanName + ' getter'); + return getterReturnType['fromWireType'](getter(getterContext, ptr)); + }, + enumerable: true + }; + + if (setter) { + setter = embind__requireFunction(setterSignature, setter); + var setterArgumentType = types[1]; + desc.set = function(v) { + var ptr = validateThis(this, classType, humanName + ' setter'); + var destructors = []; + setter(setterContext, ptr, setterArgumentType['toWireType'](destructors, v)); + runDestructors(destructors); + }; + } + + Object.defineProperty(classType.registeredClass.instancePrototype, fieldName, desc); + return []; + }); + + return []; + }); + } + + + function __embind_register_constant(name, type, value) { + name = readLatin1String(name); + whenDependentTypesAreResolved([], [type], function(type) { + type = type[0]; + Module[name] = type['fromWireType'](value); + return []; + }); + } + + function __emval_decref(handle) { + if (handle >= emval_handles.reserved && 0 === --emval_handles.get(handle).refcount) { + emval_handles.free(handle); + } + } + + + + + function __embind_register_emval(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(handle) { + var rv = Emval.toValue(handle); + __emval_decref(handle); + return rv; + }, + 'toWireType': function(destructors, value) { + return Emval.toHandle(value); + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: null, // This type does not need a destructor + + // TODO: do we need a deleteObject here? write a test where + // emval is passed into JS via an interface + }); + } + + + + function enumReadValueFromPointer(name, shift, signed) { + switch (shift) { + case 0: return function(pointer) { + var heap = signed ? HEAP8 : HEAPU8; + return this['fromWireType'](heap[pointer]); + }; + case 1: return function(pointer) { + var heap = signed ? HEAP16 : HEAPU16; + return this['fromWireType'](heap[pointer >> 1]); + }; + case 2: return function(pointer) { + var heap = signed ? HEAP32 : HEAPU32; + return this['fromWireType'](heap[pointer >> 2]); + }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + + + function __embind_register_enum(rawType, name, size, isSigned) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + + function ctor() {} + ctor.values = {}; + + registerType(rawType, { + name: name, + constructor: ctor, + 'fromWireType': function(c) { + return this.constructor.values[c]; + }, + 'toWireType': function(destructors, c) { + return c.value; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': enumReadValueFromPointer(name, shift, isSigned), + destructorFunction: null, + }); + exposePublicSymbol(name, ctor); + } + + + + function __embind_register_enum_value(rawEnumType, name, enumValue) { + var enumType = requireRegisteredType(rawEnumType, 'enum'); + name = readLatin1String(name); + + var Enum = enumType.constructor; + + var Value = Object.create(enumType.constructor.prototype, { + value: {value: enumValue}, + constructor: {value: createNamedFunction(`${enumType.name}_${name}`, function() {})}, + }); + Enum.values[enumValue] = Value; + Enum[name] = Value; + } + + function embindRepr(v) { + if (v === null) { + return 'null'; + } + var t = typeof v; + if (t === 'object' || t === 'array' || t === 'function') { + return v.toString(); + } else { + return '' + v; + } + } + + function floatReadValueFromPointer(name, shift) { + switch (shift) { + case 2: return function(pointer) { + return this['fromWireType'](HEAPF32[pointer >> 2]); + }; + case 3: return function(pointer) { + return this['fromWireType'](HEAPF64[pointer >> 3]); + }; + default: + throw new TypeError("Unknown float type: " + name); + } + } + + + + function __embind_register_float(rawType, name, size) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + return value; + }, + 'toWireType': function(destructors, value) { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`); + } + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': floatReadValueFromPointer(name, shift), + destructorFunction: null, // This type does not need a destructor + }); + } + + + + + + + + + function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) { + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + + rawInvoker = embind__requireFunction(signature, rawInvoker); + + exposePublicSymbol(name, function() { + throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes); + }, argCount - 1); + + whenDependentTypesAreResolved([], argTypes, function(argTypes) { + var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync), argCount - 1); + return []; + }); + } + + + + function integerReadValueFromPointer(name, shift, signed) { + // integers are quite common, so generate very specialized functions + switch (shift) { + case 0: return signed ? + function readS8FromPointer(pointer) { return HEAP8[pointer]; } : + function readU8FromPointer(pointer) { return HEAPU8[pointer]; }; + case 1: return signed ? + function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : + function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; }; + case 2: return signed ? + function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : + function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + + + function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { + name = readLatin1String(name); + // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come + // out as 'i32 -1'. Always treat those as max u32. + if (maxRange === -1) { + maxRange = 4294967295; + } + + var shift = getShiftFromSize(size); + + var fromWireType = (value) => value; + + if (minRange === 0) { + var bitshift = 32 - 8*size; + fromWireType = (value) => (value << bitshift) >>> bitshift; + } + + var isUnsignedType = (name.includes('unsigned')); + var checkAssertions = (value, toTypeName) => { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`); + } + if (value < minRange || value > maxRange) { + throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`); + } + } + var toWireType; + if (isUnsignedType) { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value >>> 0; + } + } else { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + } + } + registerType(primitiveType, { + name: name, + 'fromWireType': fromWireType, + 'toWireType': toWireType, + 'argPackAdvance': 8, + 'readValueFromPointer': integerReadValueFromPointer(name, shift, minRange !== 0), + destructorFunction: null, // This type does not need a destructor + }); + } + + + function __embind_register_memory_view(rawType, dataTypeIndex, name) { + var typeMapping = [ + Int8Array, + Uint8Array, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array, + ]; + + var TA = typeMapping[dataTypeIndex]; + + function decodeMemoryView(handle) { + handle = handle >> 2; + var heap = HEAPU32; + var size = heap[handle]; // in elements + var data = heap[handle + 1]; // byte offset into emscripten heap + return new TA(heap.buffer, data, size); + } + + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': decodeMemoryView, + 'argPackAdvance': 8, + 'readValueFromPointer': decodeMemoryView, + }, { + ignoreDuplicateRegistrations: true, + }); + } + + + + + + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + assert(typeof str === 'string'); + // Parameter maxBytesToWrite is not optional. Negative values, 0, null, + // undefined and false each don't write out any bytes. + if (!(maxBytesToWrite > 0)) + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description + // and https://www.ietf.org/rfc/rfc2279.txt + // and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); + } + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 0xC0 | (u >> 6); + heap[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 0xE0 | (u >> 12); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + if (u > 0x10FFFF) 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++] = 0xF0 | (u >> 18); + heap[outIdx++] = 0x80 | ((u >> 12) & 63); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); + } + + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var c = str.charCodeAt(i); // possibly a lead surrogate + if (c <= 0x7F) { + len++; + } else if (c <= 0x7FF) { + len += 2; + } else if (c >= 0xD800 && c <= 0xDFFF) { + len += 4; ++i; + } else { + len += 3; + } + } + return len; + } + + + + function __embind_register_std_string(rawType, name) { + name = readLatin1String(name); + var stdStringIsUTF8 + //process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string + = (name === "std::string"); + + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + var length = HEAPU32[((value)>>2)]; + var payload = value + 4; + + var str; + if (stdStringIsUTF8) { + var decodeStartPtr = payload; + // Looping here to support possible embedded '0' bytes + for (var i = 0; i <= length; ++i) { + var currentBytePtr = payload + i; + if (i == length || HEAPU8[currentBytePtr] == 0) { + var maxRead = currentBytePtr - decodeStartPtr; + var stringSegment = UTF8ToString(decodeStartPtr, maxRead); + if (str === undefined) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + 1; + } + } + } else { + var a = new Array(length); + for (var i = 0; i < length; ++i) { + a[i] = String.fromCharCode(HEAPU8[payload + i]); + } + str = a.join(''); + } + + _free(value); + + return str; + }, + 'toWireType': function(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + + var length; + var valueIsOfTypeString = (typeof value == 'string'); + + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError('Cannot pass non-string to std::string'); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + length = lengthBytesUTF8(value); + } else { + length = value.length; + } + + // assumes 4-byte alignment + var base = _malloc(4 + length + 1); + var ptr = base + 4; + HEAPU32[((base)>>2)] = length; + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr, length + 1); + } else { + if (valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); + } + HEAPU8[ptr + i] = charCode; + } + } else { + for (var i = 0; i < length; ++i) { + HEAPU8[ptr + i] = value[i]; + } + } + } + + if (destructors !== null) { + destructors.push(_free, base); + } + return base; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: function(ptr) { _free(ptr); }, + }); + } + + + + + var UTF16Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf-16le') : undefined;; + function UTF16ToString(ptr, maxBytesToRead) { + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. + // Also, use the length info to avoid running tiny strings through + // TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; + endPtr = idx << 1; + + if (endPtr - ptr > 32 && UTF16Decoder) + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + + // Fallback: decode without UTF16Decoder + var str = ''; + + // If maxBytesToRead is not passed explicitly, it will be undefined, and the + // for-loop's condition will always evaluate to true. The loop is then + // terminated on the first null char. + for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0) break; + // fromCharCode constructs a character from a UTF-16 code unit, so we can + // pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + + return str; + } + + function stringToUTF16(str, outPtr, maxBytesToWrite) { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + HEAP16[((outPtr)>>1)] = codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr)>>1)] = 0; + return outPtr - startPtr; + } + + function lengthBytesUTF16(str) { + return str.length*2; + } + + function UTF32ToString(ptr, maxBytesToRead) { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); + var i = 0; + + var str = ''; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(i >= maxBytesToRead / 4)) { + var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; + if (utf32 == 0) break; + ++i; + // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + if (utf32 >= 0x10000) { + var ch = utf32 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } else { + str += String.fromCharCode(utf32); + } + } + return str; + } + + function stringToUTF32(str, outPtr, maxBytesToWrite) { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); + } + HEAP32[((outPtr)>>2)] = codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr)>>2)] = 0; + return outPtr - startPtr; + } + + function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; + } + function __embind_register_std_wstring(rawType, charSize, name) { + name = readLatin1String(name); + var decodeString, encodeString, getHeap, lengthBytesUTF, shift; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + getHeap = () => HEAPU16; + shift = 1; + } else if (charSize === 4) { + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + getHeap = () => HEAPU32; + shift = 2; + } + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + // Code mostly taken from _embind_register_std_string fromWireType + var length = HEAPU32[value >> 2]; + var HEAP = getHeap(); + var str; + + var decodeStartPtr = value + 4; + // Looping here to support possible embedded '0' bytes + for (var i = 0; i <= length; ++i) { + var currentBytePtr = value + 4 + i * charSize; + if (i == length || HEAP[currentBytePtr >> shift] == 0) { + var maxReadBytes = currentBytePtr - decodeStartPtr; + var stringSegment = decodeString(decodeStartPtr, maxReadBytes); + if (str === undefined) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + charSize; + } + } + + _free(value); + + return str; + }, + 'toWireType': function(destructors, value) { + if (!(typeof value == 'string')) { + throwBindingError(`Cannot pass non-string to C++ string type ${name}`); + } + + // assumes 4-byte alignment + var length = lengthBytesUTF(value); + var ptr = _malloc(4 + length + charSize); + HEAPU32[ptr >> 2] = length >> shift; + + encodeString(value, ptr + 4, length + charSize); + + if (destructors !== null) { + destructors.push(_free, ptr); + } + return ptr; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: function(ptr) { _free(ptr); }, + }); + } + + + + function __embind_register_value_object( + rawType, + name, + constructorSignature, + rawConstructor, + destructorSignature, + rawDestructor + ) { + structRegistrations[rawType] = { + name: readLatin1String(name), + rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), + rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), + fields: [], + }; + } + + + + function __embind_register_value_object_field( + structType, + fieldName, + getterReturnType, + getterSignature, + getter, + getterContext, + setterArgumentType, + setterSignature, + setter, + setterContext + ) { + structRegistrations[structType].fields.push({ + fieldName: readLatin1String(fieldName), + getterReturnType: getterReturnType, + getter: embind__requireFunction(getterSignature, getter), + getterContext: getterContext, + setterArgumentType: setterArgumentType, + setter: embind__requireFunction(setterSignature, setter), + setterContext: setterContext, + }); + } + + + function __embind_register_void(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + isVoid: true, // void return values can be optimized out sometimes + name: name, + 'argPackAdvance': 0, + 'fromWireType': function() { + return undefined; + }, + 'toWireType': function(destructors, o) { + // TODO: assert if anything else is given? + return undefined; + }, + }); + } + + function emval_allocateDestructors(destructorsRef) { + var destructors = []; + HEAPU32[((destructorsRef)>>2)] = Emval.toHandle(destructors); + return destructors; + } + + var emval_symbols = {}; + + function getStringOrSymbol(address) { + var symbol = emval_symbols[address]; + if (symbol === undefined) { + return readLatin1String(address); + } + return symbol; + } + + var emval_methodCallers = []; + + function __emval_call_method(caller, handle, methodName, destructorsRef, args) { + caller = emval_methodCallers[caller]; + handle = Emval.toValue(handle); + methodName = getStringOrSymbol(methodName); + return caller(handle, methodName, emval_allocateDestructors(destructorsRef), args); + } + + + + + function __emval_call_void_method(caller, handle, methodName, args) { + caller = emval_methodCallers[caller]; + handle = Emval.toValue(handle); + methodName = getStringOrSymbol(methodName); + caller(handle, methodName, null, args); + } + + + function emval_addMethodCaller(caller) { + var id = emval_methodCallers.length; + emval_methodCallers.push(caller); + return id; + } + + function emval_lookupTypes(argCount, argTypes) { + var a = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + a[i] = requireRegisteredType(HEAPU32[(((argTypes)+(i * 4))>>2)], + "parameter " + i); + } + return a; + } + + + var emval_registeredMethods = []; + function __emval_get_method_caller(argCount, argTypes) { + var types = emval_lookupTypes(argCount, argTypes); + var retType = types[0]; + var signatureName = retType.name + "_$" + types.slice(1).map(function (t) { return t.name; }).join("_") + "$"; + var returnId = emval_registeredMethods[signatureName]; + if (returnId !== undefined) { + return returnId; + } + + var argN = new Array(argCount - 1); + var invokerFunction = (handle, name, destructors, args) => { + var offset = 0; + for (var i = 0; i < argCount - 1; ++i) { + argN[i] = types[i + 1]['readValueFromPointer'](args + offset); + offset += types[i + 1]['argPackAdvance']; + } + var rv = handle[name].apply(handle, argN); + for (var i = 0; i < argCount - 1; ++i) { + if (types[i + 1].deleteObject) { + types[i + 1].deleteObject(argN[i]); + } + } + if (!retType.isVoid) { + return retType['toWireType'](destructors, rv); + } + }; + returnId = emval_addMethodCaller(invokerFunction); + emval_registeredMethods[signatureName] = returnId; + return returnId; + } + + function __emval_incref(handle) { + if (handle > 4) { + emval_handles.get(handle).refcount += 1; + } + } + + + + function __emval_run_destructors(handle) { + var destructors = Emval.toValue(handle); + runDestructors(destructors); + __emval_decref(handle); + } + + + function __emval_take_value(type, arg) { + type = requireRegisteredType(type, '_emval_take_value'); + var v = type['readValueFromPointer'](arg); + return Emval.toHandle(v); + } + + function _abort() { + abort('native code called abort()'); + } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + + function getHeapMax() { + // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate + // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side + // for any code that deals with heap sizes, which would require special + // casing all heap size related code to treat 0 specially. + return 2147483648; + } + + function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + var pages = (size - b.byteLength + 65535) >>> 16; + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow(pages); // .grow() takes a delta compared to the previous size + updateMemoryViews(); + return 1 /*success*/; + } catch(e) { + err(`emscripten_realloc_buffer: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`); + } + // implicit 0 return to save code size (caller will cast "undefined" into 0 + // anyhow) + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + // With multithreaded builds, races can happen (another thread might increase the size + // in between), so return a failure, and let the caller retry. + assert(requestedSize > oldSize); + + // Memory resize rules: + // 1. Always increase heap size to at least the requested size, rounded up + // to next page multiple. + // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap + // geometrically: increase the heap size according to + // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most + // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). + // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap + // linearly: increase the heap size by at least + // MEMORY_GROWTH_LINEAR_STEP bytes. + // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by + // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest + // 4. If we were unable to allocate as much memory, it may be due to + // over-eager decision to excessively reserve due to (3) above. + // Hence if an allocation fails, cut down on the amount of excess + // growth, in an attempt to succeed to perform a smaller allocation. + + // A limit is set for how much we can grow. We should not exceed that + // (the wasm binary specifies it, so if we tried, we'd fail anyhow). + 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; + } + + var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + + // Loop through potential heap size increases. If we attempt a too eager + // reservation that fails, cut down on the attempted size and reserve a + // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth + // but limit overreserving (default to capping at +96MB overgrowth at most) + 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; + } + + function _fd_close(fd) { + abort('fd_close called without SYSCALLS_REQUIRE_FILESYSTEM'); + } + + function _fd_read(fd, iov, iovcnt, pnum) { + abort('fd_read called without SYSCALLS_REQUIRE_FILESYSTEM'); + } + + function convertI32PairToI53Checked(lo, hi) { + assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32 + assert(hi === (hi|0)); // hi should be a i32 + return ((hi + 0x200000) >>> 0 < 0x400001 - !!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() { + // flush anything remaining in the buffers during shutdown + _fflush(0); + if (printCharBuffers[1].length) printChar(1, 10); + if (printCharBuffers[2].length) printChar(2, 10); + } + + + function _fd_write(fd, iov, iovcnt, pnum) { + // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 + 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; + } +BindingError = Module['BindingError'] = extendError(Error, 'BindingError');; +init_emval();; +PureVirtualError = Module['PureVirtualError'] = extendError(Error, 'PureVirtualError');; +embind_init_charCodes(); +init_embind();; +InternalError = Module['InternalError'] = extendError(Error, 'InternalError');; +init_ClassHandle(); +init_RegisteredPointer(); +UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError');; +function checkIncomingModuleAPI() { + ignoredModuleProp('fetchSettings'); +} +var wasmImports = { + "__assert_fail": ___assert_fail, + "__syscall_fcntl64": ___syscall_fcntl64, + "__syscall_ioctl": ___syscall_ioctl, + "__syscall_openat": ___syscall_openat, + "_embind_create_inheriting_constructor": __embind_create_inheriting_constructor, + "_embind_finalize_value_object": __embind_finalize_value_object, + "_embind_register_bigint": __embind_register_bigint, + "_embind_register_bool": __embind_register_bool, + "_embind_register_class": __embind_register_class, + "_embind_register_class_class_function": __embind_register_class_class_function, + "_embind_register_class_constructor": __embind_register_class_constructor, + "_embind_register_class_function": __embind_register_class_function, + "_embind_register_class_property": __embind_register_class_property, + "_embind_register_constant": __embind_register_constant, + "_embind_register_emval": __embind_register_emval, + "_embind_register_enum": __embind_register_enum, + "_embind_register_enum_value": __embind_register_enum_value, + "_embind_register_float": __embind_register_float, + "_embind_register_function": __embind_register_function, + "_embind_register_integer": __embind_register_integer, + "_embind_register_memory_view": __embind_register_memory_view, + "_embind_register_std_string": __embind_register_std_string, + "_embind_register_std_wstring": __embind_register_std_wstring, + "_embind_register_value_object": __embind_register_value_object, + "_embind_register_value_object_field": __embind_register_value_object_field, + "_embind_register_void": __embind_register_void, + "_emval_call_method": __emval_call_method, + "_emval_call_void_method": __emval_call_void_method, + "_emval_decref": __emval_decref, + "_emval_get_method_caller": __emval_get_method_caller, + "_emval_incref": __emval_incref, + "_emval_run_destructors": __emval_run_destructors, + "_emval_take_value": __emval_take_value, + "abort": _abort, + "emscripten_memcpy_big": _emscripten_memcpy_big, + "emscripten_resize_heap": _emscripten_resize_heap, + "fd_close": _fd_close, + "fd_read": _fd_read, + "fd_seek": _fd_seek, + "fd_write": _fd_write +}; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = createExportWrapper("__wasm_call_ctors"); +/** @type {function(...*):?} */ +var _malloc = createExportWrapper("malloc"); +/** @type {function(...*):?} */ +var _free = createExportWrapper("free"); +/** @type {function(...*):?} */ +var ___getTypeName = createExportWrapper("__getTypeName"); +/** @type {function(...*):?} */ +var __embind_initialize_bindings = Module["__embind_initialize_bindings"] = createExportWrapper("_embind_initialize_bindings"); +/** @type {function(...*):?} */ +var ___errno_location = createExportWrapper("__errno_location"); +/** @type {function(...*):?} */ +var _fflush = Module["_fflush"] = createExportWrapper("fflush"); +/** @type {function(...*):?} */ +var _emscripten_stack_init = function() { + return (_emscripten_stack_init = Module["asm"]["emscripten_stack_init"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_free = function() { + return (_emscripten_stack_get_free = Module["asm"]["emscripten_stack_get_free"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_base = function() { + return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_end = function() { + return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackSave = createExportWrapper("stackSave"); +/** @type {function(...*):?} */ +var stackRestore = createExportWrapper("stackRestore"); +/** @type {function(...*):?} */ +var stackAlloc = createExportWrapper("stackAlloc"); +/** @type {function(...*):?} */ +var _emscripten_stack_get_current = function() { + return (_emscripten_stack_get_current = Module["asm"]["emscripten_stack_get_current"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji"); + + +// include: postamble.js +// === Auto-generated postamble setup entry stuff === + +var missingLibrarySymbols = [ + 'zeroMemory', + 'exitJS', + 'isLeapYear', + 'ydayFromDate', + 'arraySum', + 'addDays', + 'inetPton4', + 'inetNtop4', + 'inetPton6', + 'inetNtop6', + 'readSockaddr', + 'writeSockaddr', + 'getHostByName', + 'initRandomFill', + 'randomFill', + 'traverseStack', + 'getCallstack', + 'emscriptenLog', + 'convertPCtoSourceLocation', + 'readEmAsmArgs', + 'jstoi_q', + 'jstoi_s', + 'getExecutableName', + 'listenOnce', + 'autoResumeAudioContext', + 'handleException', + 'runtimeKeepalivePush', + 'runtimeKeepalivePop', + 'callUserCallback', + 'maybeExit', + 'safeSetTimeout', + 'asmjsMangle', + 'asyncLoad', + 'alignMemory', + 'mmapAlloc', + 'getNativeTypeSize', + 'STACK_SIZE', + 'STACK_ALIGN', + 'POINTER_SIZE', + 'ASSERTIONS', + 'writeI53ToI64', + 'writeI53ToI64Clamped', + 'writeI53ToI64Signaling', + 'writeI53ToU64Clamped', + 'writeI53ToU64Signaling', + 'readI53FromI64', + 'readI53FromU64', + 'convertI32PairToI53', + 'convertU32PairToI53', + 'getCFunc', + 'ccall', + 'cwrap', + 'uleb128Encode', + 'sigToWasmTypes', + 'generateFuncType', + 'convertJsFunctionToWasm', + 'getEmptyTableSlot', + 'updateTableMap', + 'getFunctionAddress', + 'addFunction', + 'removeFunction', + 'reallyNegative', + 'unSign', + 'strLen', + 'reSign', + 'formatString', + 'intArrayFromString', + 'intArrayToString', + 'AsciiToString', + 'stringToAscii', + 'stringToNewUTF8', + 'stringToUTF8OnStack', + 'writeArrayToMemory', + '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', + 'getEnvStrings', + 'checkWasiClock', + 'wasiRightsToMuslOFlags', + 'wasiOFlagsToMuslOFlags', + 'createDyncallWrapper', + 'setImmediateWrapped', + 'clearImmediateWrapped', + 'polyfillSetImmediate', + 'getPromise', + 'makePromise', + 'idsToPromises', + 'makePromiseCallback', + 'setMainLoop', + 'getSocketFromFD', + 'getSocketAddress', + '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', + 'craftEmvalAllocator', + 'emval_get_global', +]; +missingLibrarySymbols.forEach(missingLibrarySymbol) + +var unexportedSymbols = [ + 'run', + 'addOnPreRun', + 'addOnInit', + 'addOnPreMain', + 'addOnExit', + 'addOnPostRun', + 'addRunDependency', + 'removeRunDependency', + 'FS_createFolder', + 'FS_createPath', + 'FS_createDataFile', + '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', + 'ERRNO_CODES', + 'ERRNO_MESSAGES', + 'setErrNo', + 'DNS', + 'Protocols', + 'Sockets', + 'timers', + 'warnOnce', + 'UNWIND_CACHE', + 'readEmAsmArgsArray', + 'dynCallLegacy', + 'getDynCaller', + 'dynCall', + 'HandleAllocator', + 'convertI32PairToI53Checked', + 'freeTableIndexes', + 'functionsInTableMap', + 'setValue', + 'getValue', + 'PATH', + 'PATH_FS', + 'UTF8Decoder', + 'UTF8ArrayToString', + 'UTF8ToString', + 'stringToUTF8Array', + 'stringToUTF8', + 'lengthBytesUTF8', + 'UTF16Decoder', + 'UTF16ToString', + 'stringToUTF16', + 'lengthBytesUTF16', + 'UTF32ToString', + 'stringToUTF32', + 'lengthBytesUTF32', + 'JSEvents', + 'specialHTMLTargets', + 'currentFullscreenStrategy', + 'restoreOldWindowedStyle', + 'ExitStatus', + 'flush_NO_FILESYSTEM', + 'dlopenMissingError', + 'promiseMap', + 'Browser', + 'wget', + 'SYSCALLS', + 'tempFixedLengthArray', + 'miniTempWebGLFloatBuffers', + 'miniTempWebGLIntBuffers', + 'GL', + 'emscripten_webgl_power_preferences', + 'AL', + 'GLUT', + 'EGL', + 'GLEW', + 'IDBStore', + 'SDL', + 'SDL_gfx', + 'GLFW', + 'allocateUTF8', + 'allocateUTF8OnStack', + 'InternalError', + 'BindingError', + 'UnboundTypeError', + 'PureVirtualError', + 'init_embind', + 'throwInternalError', + 'throwBindingError', + 'throwUnboundTypeError', + 'ensureOverloadTable', + 'exposePublicSymbol', + 'replacePublicSymbol', + 'extendError', + 'createNamedFunction', + 'embindRepr', + 'registeredInstances', + 'getBasestPointer', + 'registerInheritedInstance', + 'unregisterInheritedInstance', + 'getInheritedInstance', + 'getInheritedInstanceCount', + 'getLiveInheritedInstances', + 'registeredTypes', + 'awaitingDependencies', + 'typeDependencies', + 'registeredPointers', + 'registerType', + 'whenDependentTypesAreResolved', + 'embind_charCodes', + 'embind_init_charCodes', + 'readLatin1String', + 'getTypeName', + 'heap32VectorToArray', + 'requireRegisteredType', + 'getShiftFromSize', + 'integerReadValueFromPointer', + 'enumReadValueFromPointer', + 'floatReadValueFromPointer', + 'simpleReadValueFromPointer', + 'runDestructors', + 'craftInvokerFunction', + 'embind__requireFunction', + 'tupleRegistrations', + 'structRegistrations', + 'genericPointerToWireType', + 'constNoSmartPtrRawPointerToWireType', + 'nonConstNoSmartPtrRawPointerToWireType', + 'init_RegisteredPointer', + 'RegisteredPointer', + 'RegisteredPointer_getPointee', + 'RegisteredPointer_destructor', + 'RegisteredPointer_deleteObject', + 'RegisteredPointer_fromWireType', + 'runDestructor', + 'releaseClassHandle', + 'finalizationRegistry', + 'detachFinalizer_deps', + 'detachFinalizer', + 'attachFinalizer', + 'makeClassHandle', + 'init_ClassHandle', + 'ClassHandle', + 'ClassHandle_isAliasOf', + 'throwInstanceAlreadyDeleted', + 'ClassHandle_clone', + 'ClassHandle_delete', + 'deletionQueue', + 'ClassHandle_isDeleted', + 'ClassHandle_deleteLater', + 'flushPendingDeletes', + 'delayFunction', + 'setDelayFunction', + 'RegisteredClass', + 'shallowCopyInternalPointer', + 'downcastPointer', + 'upcastPointer', + 'validateThis', + 'char_0', + 'char_9', + 'makeLegalFunctionName', + 'emval_handles', + 'emval_symbols', + 'init_emval', + 'count_emval_handles', + 'getStringOrSymbol', + 'Emval', + 'emval_newers', + 'emval_lookupTypes', + 'emval_allocateDestructors', + 'emval_methodCallers', + 'emval_addMethodCaller', + 'emval_registeredMethods', +]; +unexportedSymbols.forEach(unexportedRuntimeSymbol); + + + +var calledRun; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + +function stackCheckInit() { + // This is normally called automatically during __wasm_call_ctors but need to + // get these values before even running any of the ctors so we call it redundantly + // here. + _emscripten_stack_init(); + // TODO(sbc): Move writeStackCookie to native to to avoid this. + writeStackCookie(); +} + +function run() { + + if (runDependencies > 0) { + return; + } + + stackCheckInit(); + + preRun(); + + // a preRun added a dependency, run will be called later + if (runDependencies > 0) { + return; + } + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + 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() { + // Compiler settings do not allow exiting the runtime, so flushing + // the streams is not possible. but in ASSERTIONS mode we check + // if there was something to flush, and if so tell the user they + // should request that the runtime be exitable. + // Normally we would not even include flush() at all, but in ASSERTIONS + // builds we do so just for this check, and here we see if there is any + // content to flush, that is, we check if there would have been + // something a non-ASSERTIONS build would have not seen. + // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 + // mode (which has its own special function for this; otherwise, all + // the code is inside libc) + var oldOut = out; + var oldErr = err; + var has = false; + out = err = (x) => { + has = true; + } + try { // it doesn't matter if it fails + 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(); + + +// end include: postamble.js + + + return BOX2D.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = BOX2D; +else if (typeof define === 'function' && define['amd']) + define([], function() { return BOX2D; }); +else if (typeof exports === 'object') + exports["BOX2D"] = BOX2D; diff --git a/emscripten/box2d/box2d.debug.wasm.wasm b/emscripten/box2d/box2d.debug.wasm.wasm new file mode 100644 index 00000000..37fd8d20 Binary files /dev/null and b/emscripten/box2d/box2d.debug.wasm.wasm differ diff --git a/emscripten/box2d/box2d.release.asm.js b/emscripten/box2d/box2d.release.asm.js new file mode 100644 index 00000000..9e993501 --- /dev/null +++ b/emscripten/box2d/box2d.release.asm.js @@ -0,0 +1,33 @@ + +var BOX2D = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + return ( +function(BOX2D = {}) { + +var Module=typeof BOX2D!="undefined"?BOX2D:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});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 scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;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=""}{read_=url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( +// EMSCRIPTEN_START_ASM +function instantiate(Wa){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2]=0;J[a>>2]=695;Z(19048,3304,3,19092,9376,696,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=697;Z(19048,3880,4,19104,9546,698,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=699;Z(19048,3882,2,19120,9381,700,a|0,0,0);a=Xa(4);J[a>>2]=701;Z(19048,2022,3,19128,9371,702,a|0,0,0);a=Xa(4);J[a>>2]=703;Z(19048,1969,4,19152,9571,704,a|0,0,0);ka(18924,6475,9577,53,9543,52);a=Xa(4);J[a>>2]=0;b=Xa(4);J[b>>2]=0;ca(18924,1343,18492,9390,55,a|0,18492,9385,54,b|0);a=Xa(4);J[a>>2]=4;b=Xa(4);J[b>>2]=4;ca(18924,1294,18492,9390,55,a|0,18492,9385,54,b|0);ja(18924);$(19168,19176,19192,0,9398,706,9541,0,9541,0,2364,9543,705);fa(19168,1,19208,9398,708,707);a=Xa(8);J[a+4>>2]=0;J[a>>2]=709;Z(19168,3304,3,19212,9376,710,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=711;Z(19168,3880,4,19232,9546,712,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=713;Z(19168,3882,2,19248,9381,714,a|0,0,0);a=Xa(4);J[a>>2]=715;Z(19168,2022,3,19256,9371,716,a|0,0,0);a=Xa(4);J[a>>2]=717;Z(19168,1969,4,19280,9571,718,a|0,0,0);ka(19296,1440,9577,57,9543,56);a=Xa(4);J[a>>2]=0;b=Xa(4);J[b>>2]=0;ca(19296,2280,18492,9390,59,a|0,18492,9385,58,b|0);a=Xa(4);J[a>>2]=4;b=Xa(4);J[b>>2]=4;ca(19296,5147,18492,9390,59,a|0,18492,9385,58,b|0);ja(19296);ka(18932,3221,9577,61,9543,60);a=Xa(4);J[a>>2]=0;b=Xa(4);J[b>>2]=0;ca(18932,2737,18924,9381,63,a|0,18924,9376,62,b|0);a=Xa(4);J[a>>2]=8;b=Xa(4);J[b>>2]=8;ca(18932,2712,19296,9381,65,a|0,19296,9376,64,b|0);ja(18932);ka(19304,2472,9577,67,9543,66);a=Xa(4);J[a>>2]=0;b=Xa(4);J[b>>2]=0;ca(19304,2710,18492,9390,69,a|0,18492,9385,68,b|0);a=Xa(4);J[a>>2]=4;b=Xa(4);J[b>>2]=4;ca(19304,3687,18492,9390,69,a|0,18492,9385,68,b|0);a=Xa(4);J[a>>2]=8;b=Xa(4);J[b>>2]=8;ca(19304,5149,18492,9390,69,a|0,18492,9385,68,b|0);a=Xa(4);J[a>>2]=12;b=Xa(4);J[b>>2]=12;ca(19304,5230,18492,9390,69,a|0,18492,9385,68,b|0);ja(19304);ka(19312,1389,9577,71,9543,70);a=Xa(4);J[a>>2]=0;b=Xa(4);J[b>>2]=0;ca(19312,6491,18924,9381,73,a|0,18924,9376,72,b|0);a=Xa(4);J[a>>2]=8;b=Xa(4);J[b>>2]=8;ca(19312,6472,18924,9381,73,a|0,18924,9376,72,b|0);a=Xa(4);J[a>>2]=16;b=Xa(4);J[b>>2]=16;ca(19312,3027,18492,9390,75,a|0,18492,9385,74,b|0);ja(19312);ka(19320,1375,9577,77,9543,76);a=Xa(4);J[a>>2]=0;b=Xa(4);J[b>>2]=0;ca(19320,3267,18924,9381,79,a|0,18924,9376,78,b|0);a=Xa(4);J[a>>2]=8;b=Xa(4);J[b>>2]=8;ca(19320,3018,18492,9390,81,a|0,18492,9385,80,b|0);ja(19320);ka(19328,5184,9577,83,9543,82);a=Xa(4);J[a>>2]=0;b=Xa(4);J[b>>2]=0;ca(19328,2188,18492,9390,85,a|0,18492,9385,84,b|0);a=Xa(4);J[a>>2]=4;b=Xa(4);J[b>>2]=4;ca(19328,2478,18924,9381,87,a|0,18924,9376,86,b|0);a=Xa(4);J[a>>2]=12;b=Xa(4);J[b>>2]=12;ca(19328,5565,18492,9390,85,a|0,18492,9385,84,b|0);ja(19328);ka(19336,2580,9577,89,9543,88);a=Xa(4);J[a>>2]=0;b=Xa(4);J[b>>2]=0;ca(19336,2130,18408,9381,91,a|0,18408,9376,90,b|0);a=Xa(4);J[a>>2]=2;b=Xa(4);J[b>>2]=2;ca(19336,2143,18408,9381,91,a|0,18408,9376,90,b|0);a=Xa(4);J[a>>2]=4;b=Xa(4);J[b>>2]=4;ca(19336,1305,18396,9381,93,a|0,18396,9376,92,b|0);ja(19336);$(19344,19352,19368,0,9398,95,9541,0,9541,0,3274,9543,94);a=Xa(8);J[a>>2]=8;J[a+4>>2]=1;Z(19344,4277,3,19384,9371,96,a|0,0,0);$(19436,19448,19464,19344,9398,100,9398,99,9398,98,2635,9543,97);a=Xa(4);J[a>>2]=101;Z(19436,2930,2,19480,9394,102,a|0,0,0);ia(19344,1818,2,19488,9381,104,103,0);ia(19344,4844,3,19548,9371,106,105,0);$(19568,19576,19592,0,9398,108,9541,0,9541,0,3288,9543,107);a=Xa(8);J[a>>2]=8;J[a+4>>2]=1;Z(19568,4277,6,19616,10128,109,a|0,1,0);$(19672,19684,19700,19568,9398,113,9398,112,9398,111,2656,9543,110);a=Xa(4);J[a>>2]=114;Z(19672,2930,2,19716,9394,115,a|0,0,0);ia(19568,1818,2,19724,9381,117,116,0);ia(19568,4844,3,19548,9371,106,118,0);$(19796,19804,19820,0,9398,120,9541,0,9541,0,2682,9543,119);a=Xa(8);J[a>>2]=8;J[a+4>>2]=1;Z(19796,2041,3,19836,9376,121,a|0,0,0);a=Xa(8);J[a>>2]=12;J[a+4>>2]=1;Z(19796,2054,3,19836,9376,121,a|0,0,0);a=Xa(8);J[a>>2]=16;J[a+4>>2]=1;Z(19796,3897,4,19856,9546,122,a|0,0,0);a=Xa(8);J[a>>2]=20;J[a+4>>2]=1;Z(19796,3887,4,19856,9546,122,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=123;Z(19904,4293,3,19916,9376,124,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=125;Z(19904,4291,3,19916,9376,124,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=126;Z(19904,3832,3,19944,9371,127,a|0,0,0);$(19904,19928,19956,19796,9398,131,9398,130,9398,129,2612,9543,128);a=Xa(4);J[a>>2]=132;Z(19904,2930,2,19972,9394,133,a|0,0,0);ia(19796,1818,2,19980,9381,135,134,0);ia(19796,4844,3,19548,9371,106,136,0);$(20072,20080,20096,0,9398,138,9541,0,9541,0,1370,9543,137);a=Xa(8);J[a+4>>2]=0;J[a>>2]=139;Z(20072,2222,3,20112,9376,140,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=141;Z(20072,2231,2,20124,9381,142,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=143;Z(20072,2251,3,20112,9376,140,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=144;Z(20072,2240,3,20112,9376,140,a|0,0,0);a=Xa(8);J[a>>2]=8;J[a+4>>2]=1;Z(20072,3150,5,20144,10482,145,a|0,0,0);a=Xa(8);J[a>>2]=12;J[a+4>>2]=1;Z(20072,3162,5,20144,10482,145,a|0,0,0);a=Xa(8);J[a>>2]=16;J[a+4>>2]=1;Z(20072,4590,5,20176,10489,146,a|0,0,0);a=Xa(8);J[a>>2]=20;J[a+4>>2]=1;Z(20072,4601,6,20208,10496,147,a|0,0,0);a=Xa(8);J[a>>2]=24;J[a+4>>2]=1;Z(20072,1806,5,20240,10482,148,a|0,0,0);a=Xa(8);J[a>>2]=28;J[a+4>>2]=1;Z(20072,3191,3,20260,9376,149,a|0,0,0);a=Xa(8);J[a>>2]=32;J[a+4>>2]=1;Z(20072,1560,5,20176,10489,146,a|0,0,0);$(20304,20316,20332,20072,9398,153,9398,152,9398,151,2600,9543,150);a=Xa(4);J[a>>2]=154;Z(20304,2930,2,20348,9394,155,a|0,0,0);ia(20072,1818,2,20356,9381,157,156,0);ia(20072,4844,3,19548,9371,106,158,0);$(20552,20560,20576,0,9398,160,9541,0,9541,0,5673,9543,159);fa(20552,1,20592,9398,162,161);a=Xa(8);J[a+4>>2]=0;J[a>>2]=163;Z(20552,4908,2,20596,9381,164,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=165;Z(20552,2485,2,20604,9381,166,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=167;Z(20552,2109,2,20604,9381,166,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=168;Z(20552,2587,2,20612,9390,169,a|0,0,0);a=Xa(4);J[a>>2]=170;Z(20552,4462,3,20620,9376,171,a|0,0,0);a=Xa(4);J[a>>2]=172;Z(20552,2739,4,20640,9546,173,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=174;Z(20552,2213,3,20656,9371,175,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=176;Z(20552,1417,4,20672,9571,177,a|0,0,0);a=Xa(4);J[a>>2]=0;b=Xa(4);J[b>>2]=0;_(20552,4822,18924,9381,179,a|0,18924,9376,178,b|0);a=Xa(4);J[a>>2]=8;b=Xa(4);J[b>>2]=8;_(20552,4833,18924,9381,179,a|0,18924,9376,178,b|0);$(20704,20712,20728,0,9398,181,9541,0,9541,0,4854,9543,180);fa(20704,2,20744,9381,183,182);a=Xa(8);J[a+4>>2]=0;J[a>>2]=184;Z(20704,2679,3,20752,9376,185,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=186;Z(20704,1362,3,20764,9376,187,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=188;Z(20704,1365,2,20776,9394,189,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=190;Z(20704,1213,3,20784,9371,191,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=192;Z(20704,1193,3,20844,9376,193,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=194;Z(20704,1721,3,20856,9371,195,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=196;Z(20704,1672,3,20892,9376,197,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=198;Z(20704,2719,5,20912,10732,199,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=200;Z(20704,5648,4,20944,9546,201,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=202;Z(20704,1417,5,20960,10482,203,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=204;Z(20704,3637,3,20980,9376,205,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=206;Z(20704,3654,2,20992,9381,207,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=208;Z(20704,1036,3,21e3,9376,209,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=210;Z(20704,1047,2,21012,9381,211,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=212;Z(20704,2714,2,20776,9394,189,a|0,0,0);$(21020,21028,21044,0,9398,214,9541,0,9541,0,4450,9543,213);a=Xa(4);J[a>>2]=4;b=Xa(4);J[b>>2]=4;_(21020,4330,19032,9381,216,a|0,19032,9376,215,b|0);a=Xa(4);J[a>>2]=8;b=Xa(4);J[b>>2]=8;_(21020,2080,18492,9390,218,a|0,18492,9385,217,b|0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=219;Z(21020,4362,2,21060,9381,220,a|0,0,0);a=Xa(8);J[a>>2]=12;J[a+4>>2]=1;Z(21020,1546,2,21068,9381,221,a|0,0,0);a=Xa(8);J[a>>2]=16;J[a+4>>2]=1;Z(21020,1570,4,21088,9571,222,a|0,0,0);a=Xa(8);J[a>>2]=20;J[a+4>>2]=1;Z(21020,1417,6,21104,10769,223,a|0,0,0);a=Xa(8);J[a>>2]=24;J[a+4>>2]=1;Z(21020,5666,5,21136,10482,224,a|0,0,0);a=Xa(8);J[a>>2]=28;J[a+4>>2]=1;Z(21020,2201,4,21168,10791,225,a|0,0,0);a=Xa(4);J[a>>2]=226;Z(21020,2089,3,21200,9385,227,a|0,0,0);a=Xa(4);J[a>>2]=228;Z(21020,2099,2,21212,9390,229,a|0,0,0);$(11940,21220,21236,21020,9398,233,9398,232,9398,231,4434,9543,230);fa(11940,1,21252,9398,235,234);a=Xa(4);J[a>>2]=12;b=Xa(4);J[b>>2]=12;_(11940,2735,18924,9381,237,a|0,18924,9376,236,b|0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=8;Z(11940,4456,3,21256,9371,238,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=12;Z(11940,1546,2,21292,9381,239,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(11940,1570,4,21312,9571,240,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=20;Z(11940,1417,6,21328,10769,241,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=24;Z(11940,5666,5,21360,10482,242,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=28;Z(11940,2201,4,21392,10791,243,a|0,0,0);$(12008,21408,21424,21020,9398,247,9398,246,9398,245,4446,9543,244);a=Xa(8);J[a+4>>2]=1;J[a>>2]=8;Z(12008,4456,3,21440,9371,248,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=12;Z(12008,1546,2,21452,9381,249,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(12008,1570,4,21472,9571,250,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=20;Z(12008,1417,6,21488,10769,251,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=24;Z(12008,5666,5,21520,10482,252,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=28;Z(12008,2201,4,21552,10791,253,a|0,0,0);$(12080,21568,21584,21020,9398,257,9398,256,9398,255,4398,9543,254);fa(12080,1,21600,9398,259,258);a=Xa(8);J[a+4>>2]=1;J[a>>2]=8;Z(12080,4456,3,21604,9371,260,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=12;Z(12080,1546,2,21616,9381,261,a|0,0,0);a=Xa(4);J[a>>2]=262;Z(12080,2026,4,21632,9546,263,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(12080,1570,4,21648,9571,264,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=20;Z(12080,1417,6,21664,10769,265,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=24;Z(12080,5666,5,21696,10482,266,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=28;Z(12080,2201,4,21728,10791,267,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=268;Z(12080,4090,2,21744,9381,269,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=270;Z(12080,1296,4,21760,9343,271,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=272;Z(12080,4554,6,21776,10939,273,a|0,0,0);$(21800,21808,21824,0,9398,275,9541,0,9541,0,3821,9543,274);fa(21800,1,21840,9398,277,276);a=Xa(4);J[a>>2]=278;Z(21800,4380,3,21844,9376,279,a|0,0,0);a=Xa(4);J[a>>2]=280;Z(21800,4389,2,21856,9381,281,a|0,0,0);a=Xa(4);J[a>>2]=8;b=Xa(4);J[b>>2]=8;_(21800,2950,18492,9390,283,a|0,18492,9385,282,b|0);a=Xa(4);J[a>>2]=12;b=Xa(4);J[b>>2]=12;_(21800,2829,18492,9390,283,a|0,18492,9385,282,b|0);a=Xa(4);J[a>>2]=16;b=Xa(4);J[b>>2]=16;_(21800,1058,18492,9390,283,a|0,18492,9385,282,b|0);a=Xa(4);J[a>>2]=20;b=Xa(4);J[b>>2]=20;_(21800,2454,18348,9381,285,a|0,18348,9376,284,b|0);a=Xa(4);J[a>>2]=22;b=Xa(4);J[b>>2]=22;_(21800,2573,19336,9381,287,a|0,19336,9376,286,b|0);$(21864,21872,21888,0,9398,289,9541,0,9541,0,4322,9543,288);a=Xa(8);J[a+4>>2]=0;J[a>>2]=290;Z(21864,4362,2,21904,9381,291,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=292;Z(21864,4389,2,21912,9381,293,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=294;Z(21864,2444,3,21920,9376,295,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=296;Z(21864,2463,2,21932,9381,297,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=298;Z(21864,5193,3,21940,9376,299,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=300;Z(21864,5207,2,21952,9381,301,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=302;Z(21864,2571,2,21960,9394,303,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=304;Z(21864,1205,2,21968,9381,305,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=306;Z(21864,1570,3,21976,9371,307,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=308;Z(21864,1417,5,22e3,11031,309,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=310;Z(21864,5181,3,22020,9376,311,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=312;Z(21864,1066,3,22032,9385,313,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=314;Z(21864,1077,2,22044,9390,315,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=316;Z(21864,3006,2,22044,9390,315,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=317;Z(21864,2987,3,22032,9385,313,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=318;Z(21864,2894,2,22044,9390,315,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=319;Z(21864,2872,3,22032,9385,313,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=320;Z(21864,5658,3,22052,9371,321,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=322;Z(21864,2714,3,22064,9376,323,a|0,0,0);$(20820,22076,20828,0,9398,325,9541,0,9541,0,3693,9543,324);fa(20820,1,22092,9398,327,326);a=Xa(4);J[a>>2]=0;b=Xa(4);J[b>>2]=0;_(20820,4332,19040,9381,329,a|0,19040,9376,328,b|0);a=Xa(4);J[a>>2]=4;b=Xa(4);J[b>>2]=4;_(20820,2909,18924,9381,331,a|0,18924,9376,330,b|0);a=Xa(4);J[a>>2]=12;b=Xa(4);J[b>>2]=12;_(20820,4470,18492,9390,333,a|0,18492,9385,332,b|0);a=Xa(4);J[a>>2]=16;b=Xa(4);J[b>>2]=16;_(20820,1142,18924,9381,331,a|0,18924,9376,330,b|0);a=Xa(4);J[a>>2]=24;b=Xa(4);J[b>>2]=24;_(20820,1088,18492,9390,333,a|0,18492,9385,332,b|0);a=Xa(4);J[a>>2]=28;b=Xa(4);J[b>>2]=28;_(20820,3589,18492,9390,333,a|0,18492,9385,332,b|0);a=Xa(4);J[a>>2]=32;b=Xa(4);J[b>>2]=32;_(20820,3538,18492,9390,333,a|0,18492,9385,332,b|0);a=Xa(4);J[a>>2]=36;b=Xa(4);J[b>>2]=36;_(20820,2724,18348,9381,335,a|0,18348,9376,334,b|0);a=Xa(4);J[a>>2]=37;b=Xa(4);J[b>>2]=37;_(20820,4669,18348,9381,335,a|0,18348,9376,334,b|0);a=Xa(4);J[a>>2]=38;b=Xa(4);J[b>>2]=38;_(20820,3039,18348,9381,335,a|0,18348,9376,334,b|0);a=Xa(4);J[a>>2]=39;b=Xa(4);J[b>>2]=39;_(20820,1973,18348,9381,335,a|0,18348,9376,334,b|0);a=Xa(4);J[a>>2]=48;b=Xa(4);J[b>>2]=48;_(20820,4624,18492,9390,333,a|0,18492,9385,332,b|0);$(20796,20804,22096,0,9398,337,9541,0,9541,0,1265,9543,336);a=Xa(8);J[a+4>>2]=0;J[a>>2]=338;Z(20796,4316,3,22112,9371,339,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=340;Z(20796,4411,4,22128,11060,341,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=342;Z(20796,4262,3,22144,9376,343,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=344;Z(20796,3205,4,22160,10791,345,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=346;Z(20796,3218,2,22176,9381,347,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=348;Z(20796,2918,2,22184,9381,349,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=350;Z(20796,4490,2,22192,9390,351,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=352;Z(20796,2556,2,22184,9381,349,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=353;Z(20796,2541,2,22184,9381,349,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=354;Z(20796,1157,3,22200,9376,355,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=356;Z(20796,1175,2,22184,9381,349,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=357;Z(20796,1104,3,22212,9385,358,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=359;Z(20796,1123,2,22192,9390,351,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=360;Z(20796,4699,5,22224,10482,361,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=362;Z(20796,2522,4,22256,9546,363,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=364;Z(20796,3906,4,22272,11066,365,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=366;Z(20796,4182,5,22224,10482,361,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=367;Z(20796,2495,4,22256,9546,363,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=368;Z(20796,4162,4,22272,11066,365,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=369;Z(20796,2193,2,22192,9390,351,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=370;Z(20796,5221,2,22192,9390,351,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=371;Z(20796,5181,3,22288,9376,372,a|0,0,0);a=Xa(4);J[a>>2]=373;Z(20796,5169,3,22300,9376,374,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=375;Z(20796,5155,2,22312,9394,376,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=377;Z(20796,1626,3,22320,9371,378,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=379;Z(20796,2349,3,22320,9371,378,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=380;Z(20796,1580,3,22320,9371,378,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=381;Z(20796,2334,3,22320,9371,378,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=382;Z(20796,1640,3,22320,9371,378,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=383;Z(20796,1594,3,22320,9371,378,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=384;Z(20796,3620,2,22192,9390,351,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=385;Z(20796,3603,3,22212,9385,358,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=386;Z(20796,3571,2,22192,9390,351,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=387;Z(20796,3553,3,22212,9385,358,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=388;Z(20796,4653,2,22192,9390,351,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=389;Z(20796,4637,3,22212,9385,358,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=390;Z(20796,4346,3,22332,9376,391,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=392;Z(20796,4362,2,22344,9381,393,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=394;Z(20796,1980,3,22352,9376,395,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=396;Z(20796,1990,2,22364,9381,397,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=398;Z(20796,4916,3,22352,9376,395,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=399;Z(20796,4935,2,22364,9381,397,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=400;Z(20796,4675,3,22352,9376,395,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=401;Z(20796,4684,2,22364,9381,397,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=402;Z(20796,5012,3,22352,9376,395,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=403;Z(20796,5023,2,22364,9381,397,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=404;Z(20796,3053,3,22352,9376,395,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=405;Z(20796,3070,2,22364,9381,397,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=406;Z(20796,1402,2,22372,9381,407,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=408;Z(20796,4851,2,22380,9381,409,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=410;Z(20796,2714,2,22312,9394,376,a|0,0,0);$(20868,22388,20876,0,9398,412,9541,0,9541,0,3812,9543,411);fa(20868,1,22404,9398,414,413);a=Xa(4);J[a>>2]=0;b=Xa(4);J[b>>2]=0;_(20868,4332,22408,9381,416,a|0,22408,9376,415,b|0);a=Xa(4);J[a>>2]=417;Z(20868,5678,3,22416,9376,418,a|0,0,0);a=Xa(4);J[a>>2]=419;Z(20868,5687,2,22428,9381,420,a|0,0,0);a=Xa(4);J[a>>2]=421;Z(20868,5571,3,22416,9376,418,a|0,0,0);a=Xa(4);J[a>>2]=422;Z(20868,5580,2,22428,9381,420,a|0,0,0);a=Xa(4);J[a>>2]=16;b=Xa(4);J[b>>2]=16;_(20868,4953,18348,9381,424,a|0,18348,9376,423,b|0);$(12896,18896,22436,0,9398,426,9541,0,9541,0,1787,9543,425);a=Xa(8);J[a+4>>2]=0;J[a>>2]=427;Z(12896,4362,2,22452,9381,428,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=429;Z(12896,5687,2,22460,9381,430,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=431;Z(12896,5580,2,22460,9381,430,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=0;Z(12896,5721,2,22468,9381,432,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=4;Z(12896,5589,2,22468,9381,432,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=8;Z(12896,4805,3,22476,11111,433,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=12;Z(12896,4020,3,22488,11116,434,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=435;Z(12896,4970,2,22500,9381,436,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(12896,2714,2,22508,9394,437,a|0,0,0);$(22516,22528,22544,20868,9398,441,9398,440,9398,439,3773,9543,438);fa(22516,1,22560,9398,443,442);a=Xa(4);J[a>>2]=20;b=Xa(4);J[b>>2]=20;_(22516,5732,18924,9381,445,a|0,18924,9376,444,b|0);a=Xa(4);J[a>>2]=28;b=Xa(4);J[b>>2]=28;_(22516,5600,18924,9381,445,a|0,18924,9376,444,b|0);a=Xa(4);J[a>>2]=36;b=Xa(4);J[b>>2]=36;_(22516,3314,18492,9390,447,a|0,18492,9385,446,b|0);a=Xa(4);J[a>>2]=40;b=Xa(4);J[b>>2]=40;_(22516,2152,18492,9390,447,a|0,18492,9385,446,b|0);a=Xa(4);J[a>>2]=44;b=Xa(4);J[b>>2]=44;_(22516,3508,18492,9390,447,a|0,18492,9385,446,b|0);$(12524,22564,22580,12896,9398,451,9398,450,9398,449,1754,9543,448);a=Xa(8);J[a+4>>2]=0;J[a>>2]=452;Z(12524,5745,2,22596,9381,453,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=454;Z(12524,5613,2,22596,9381,453,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=455;Z(12524,3357,3,22604,9385,456,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=457;Z(12524,3367,2,22616,9390,458,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=459;Z(12524,2162,3,22604,9385,456,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=460;Z(12524,2175,2,22616,9390,458,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=461;Z(12524,3516,3,22604,9385,456,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=462;Z(12524,3527,2,22616,9390,458,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(12524,2714,2,22624,9394,463,a|0,0,0);$(22632,22644,22660,20868,9398,467,9398,466,9398,465,3701,9543,464);fa(22632,1,22676,9398,469,468);a=Xa(4);J[a>>2]=20;b=Xa(4);J[b>>2]=20;_(22632,1928,18924,9381,471,a|0,18924,9376,470,b|0);a=Xa(4);J[a>>2]=28;b=Xa(4);J[b>>2]=28;_(22632,1880,18492,9390,473,a|0,18492,9385,472,b|0);a=Xa(4);J[a>>2]=32;b=Xa(4);J[b>>2]=32;_(22632,4710,18492,9390,473,a|0,18492,9385,472,b|0);a=Xa(4);J[a>>2]=36;b=Xa(4);J[b>>2]=36;_(22632,3918,18492,9390,473,a|0,18492,9385,472,b|0);a=Xa(4);J[a>>2]=40;b=Xa(4);J[b>>2]=40;_(22632,2387,18492,9390,473,a|0,18492,9385,472,b|0);$(13020,22680,22696,12896,9398,477,9398,476,9398,475,1685,9543,474);a=Xa(8);J[a+4>>2]=0;J[a>>2]=478;Z(13020,1941,3,22712,9376,479,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=480;Z(13020,1957,2,22724,9381,481,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=482;Z(13020,1894,3,22732,9385,483,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=484;Z(13020,1911,2,22744,9390,485,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=486;Z(13020,4719,3,22732,9385,483,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=487;Z(13020,4731,2,22744,9390,485,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=488;Z(13020,3928,3,22732,9385,483,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=489;Z(13020,3941,2,22744,9390,485,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=490;Z(13020,2404,3,22732,9385,483,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=491;Z(13020,2424,2,22744,9390,485,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(13020,2714,2,22752,9394,492,a|0,0,0);$(22760,22772,22788,20868,9398,496,9398,495,9398,494,3746,9543,493);fa(22760,1,22804,9398,498,497);a=Xa(4);J[a>>2]=20;b=Xa(4);J[b>>2]=20;_(22760,1999,18924,9381,500,a|0,18924,9376,499,b|0);a=Xa(4);J[a>>2]=28;b=Xa(4);J[b>>2]=28;_(22760,4710,18492,9390,502,a|0,18492,9385,501,b|0);a=Xa(4);J[a>>2]=32;b=Xa(4);J[b>>2]=32;_(22760,1024,18492,9390,502,a|0,18492,9385,501,b|0);a=Xa(4);J[a>>2]=36;b=Xa(4);J[b>>2]=36;_(22760,2750,18492,9390,502,a|0,18492,9385,501,b|0);$(13104,22808,22824,12896,9398,506,9398,505,9398,504,1733,9543,503);a=Xa(8);J[a+4>>2]=0;J[a>>2]=507;Z(13104,2006,3,22840,9376,508,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=509;Z(13104,2016,2,22852,9381,510,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=511;Z(13104,4719,3,22860,9385,512,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=513;Z(13104,4731,2,22872,9390,514,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=515;Z(13104,1270,3,22860,9385,512,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=516;Z(13104,1283,2,22872,9390,514,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=517;Z(13104,2763,3,22860,9385,512,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=518;Z(13104,2779,2,22872,9390,514,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(13104,2714,2,22880,9394,519,a|0,0,0);$(22888,22900,22916,20868,9398,523,9398,522,9398,521,3803,9543,520);fa(22888,1,22932,9398,525,524);a=Xa(4);J[a>>2]=20;b=Xa(4);J[b>>2]=20;_(22888,5732,18924,9381,527,a|0,18924,9376,526,b|0);a=Xa(4);J[a>>2]=28;b=Xa(4);J[b>>2]=28;_(22888,5600,18924,9381,527,a|0,18924,9376,526,b|0);a=Xa(4);J[a>>2]=36;b=Xa(4);J[b>>2]=36;_(22888,5696,18924,9381,527,a|0,18924,9376,526,b|0);a=Xa(4);J[a>>2]=44;b=Xa(4);J[b>>2]=44;_(22888,4521,18492,9390,529,a|0,18492,9385,528,b|0);a=Xa(4);J[a>>2]=48;b=Xa(4);J[b>>2]=48;_(22888,1856,18348,9381,531,a|0,18348,9376,530,b|0);a=Xa(4);J[a>>2]=52;b=Xa(4);J[b>>2]=52;_(22888,3106,18492,9390,529,a|0,18492,9385,528,b|0);a=Xa(4);J[a>>2]=56;b=Xa(4);J[b>>2]=56;_(22888,3123,18492,9390,529,a|0,18492,9385,528,b|0);a=Xa(4);J[a>>2]=60;b=Xa(4);J[b>>2]=60;_(22888,2310,18348,9381,531,a|0,18348,9376,530,b|0);a=Xa(4);J[a>>2]=68;b=Xa(4);J[b>>2]=68;_(22888,5108,18492,9390,529,a|0,18492,9385,528,b|0);a=Xa(4);J[a>>2]=64;b=Xa(4);J[b>>2]=64;_(22888,4743,18492,9390,529,a|0,18492,9385,528,b|0);$(13304,22936,22952,12896,9398,535,9398,534,9398,533,1778,9543,532);a=Xa(8);J[a+4>>2]=0;J[a>>2]=536;Z(13304,5745,2,22968,9381,537,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=538;Z(13304,5613,2,22968,9381,537,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=539;Z(13304,5707,2,22968,9381,537,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=540;Z(13304,4536,2,22976,9390,541,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=542;Z(13304,3086,2,22976,9390,541,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=543;Z(13304,5048,2,22976,9390,541,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=544;Z(13304,4990,2,22984,9381,545,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=546;Z(13304,1868,3,22992,9376,547,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=548;Z(13304,1828,2,22976,9390,541,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=549;Z(13304,1842,2,22976,9390,541,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=550;Z(13304,2120,4,23008,9343,551,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=552;Z(13304,5033,2,22984,9381,545,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=553;Z(13304,2322,3,22992,9376,547,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=554;Z(13304,5119,3,23024,9385,555,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=556;Z(13304,5133,2,22976,9390,541,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=557;Z(13304,4757,3,23024,9385,555,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=558;Z(13304,4774,2,22976,9390,541,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=559;Z(13304,4791,3,23036,11116,560,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(13304,2714,2,23048,9394,561,a|0,0,0);$(23056,23068,23084,20868,9398,565,9398,564,9398,563,3729,9543,562);fa(23056,1,23100,9398,567,566);a=Xa(4);J[a>>2]=20;b=Xa(4);J[b>>2]=20;_(23056,5732,18924,9381,569,a|0,18924,9376,568,b|0);a=Xa(4);J[a>>2]=28;b=Xa(4);J[b>>2]=28;_(23056,5600,18924,9381,569,a|0,18924,9376,568,b|0);a=Xa(4);J[a>>2]=36;b=Xa(4);J[b>>2]=36;_(23056,4521,18492,9390,571,a|0,18492,9385,570,b|0);a=Xa(4);J[a>>2]=40;b=Xa(4);J[b>>2]=40;_(23056,1856,18348,9381,573,a|0,18348,9376,572,b|0);a=Xa(4);J[a>>2]=44;b=Xa(4);J[b>>2]=44;_(23056,4499,18492,9390,571,a|0,18492,9385,570,b|0);a=Xa(4);J[a>>2]=48;b=Xa(4);J[b>>2]=48;_(23056,4510,18492,9390,571,a|0,18492,9385,570,b|0);a=Xa(4);J[a>>2]=52;b=Xa(4);J[b>>2]=52;_(23056,2310,18348,9381,573,a|0,18348,9376,572,b|0);a=Xa(4);J[a>>2]=56;b=Xa(4);J[b>>2]=56;_(23056,5108,18492,9390,571,a|0,18492,9385,570,b|0);a=Xa(4);J[a>>2]=60;b=Xa(4);J[b>>2]=60;_(23056,3954,18492,9390,571,a|0,18492,9385,570,b|0);$(13476,23104,23120,12896,9398,577,9398,576,9398,575,1707,9543,574);a=Xa(8);J[a+4>>2]=0;J[a>>2]=578;Z(13476,5745,2,23136,9381,579,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=580;Z(13476,5613,2,23136,9381,579,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=581;Z(13476,4536,2,23144,9390,582,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=583;Z(13476,4476,2,23144,9390,582,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=584;Z(13476,5048,2,23144,9390,582,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=585;Z(13476,4990,2,23152,9381,586,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=587;Z(13476,1868,3,23160,9376,588,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=589;Z(13476,1828,2,23144,9390,582,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=590;Z(13476,1842,2,23144,9390,582,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=591;Z(13476,2120,4,23184,9343,592,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=593;Z(13476,5033,2,23152,9381,586,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=594;Z(13476,2322,3,23160,9376,588,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=595;Z(13476,5119,3,23200,9385,596,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=597;Z(13476,5133,2,23144,9390,582,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=598;Z(13476,3969,3,23200,9385,596,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=599;Z(13476,3987,2,23144,9390,582,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=600;Z(13476,4005,3,23212,11116,601,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(13476,2714,2,23224,9394,602,a|0,0,0);$(23232,23244,23260,20868,9398,606,9398,605,9398,604,3760,9543,603);fa(23232,1,23276,9398,608,607);a=Xa(4);J[a>>2]=20;b=Xa(4);J[b>>2]=20;_(23232,5732,18924,9381,610,a|0,18924,9376,609,b|0);a=Xa(4);J[a>>2]=28;b=Xa(4);J[b>>2]=28;_(23232,5600,18924,9381,610,a|0,18924,9376,609,b|0);a=Xa(4);J[a>>2]=36;b=Xa(4);J[b>>2]=36;_(23232,3321,18492,9390,612,a|0,18492,9385,611,b|0);$(13560,23280,23296,12896,9398,616,9398,615,9398,614,1744,9543,613);a=Xa(8);J[a+4>>2]=0;J[a>>2]=617;Z(13560,5745,2,23312,9381,618,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=619;Z(13560,5613,2,23312,9381,618,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=8;Z(13560,4805,3,23320,11111,620,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=12;Z(13560,4020,3,23332,11116,621,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=622;Z(13560,3331,3,23344,9385,623,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=624;Z(13560,3344,2,23356,9390,625,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=626;Z(13560,3367,2,23356,9390,625,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(13560,2714,2,23364,9394,627,a|0,0,0);$(23372,23384,23400,20868,9398,631,9398,630,9398,629,3790,9543,628);fa(23372,1,23416,9398,633,632);a=Xa(4);J[a>>2]=20;b=Xa(4);J[b>>2]=20;_(23372,5732,18924,9381,635,a|0,18924,9376,634,b|0);a=Xa(4);J[a>>2]=28;b=Xa(4);J[b>>2]=28;_(23372,5600,18924,9381,635,a|0,18924,9376,634,b|0);a=Xa(4);J[a>>2]=36;b=Xa(4);J[b>>2]=36;_(23372,4521,18492,9390,637,a|0,18492,9385,636,b|0);a=Xa(4);J[a>>2]=40;b=Xa(4);J[b>>2]=40;_(23372,2152,18492,9390,637,a|0,18492,9385,636,b|0);a=Xa(4);J[a>>2]=44;b=Xa(4);J[b>>2]=44;_(23372,3508,18492,9390,637,a|0,18492,9385,636,b|0);$(13644,23420,23436,12896,9398,641,9398,640,9398,639,1768,9543,638);a=Xa(8);J[a+4>>2]=0;J[a>>2]=642;Z(13644,5745,2,23452,9381,643,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=644;Z(13644,5613,2,23452,9381,643,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=645;Z(13644,4536,2,23460,9390,646,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=647;Z(13644,2162,3,23468,9385,648,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=649;Z(13644,2175,2,23460,9390,646,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=650;Z(13644,3516,3,23468,9385,648,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=651;Z(13644,3527,2,23460,9390,646,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(13644,2714,2,23480,9394,652,a|0,0,0);$(23488,23500,23516,20868,9398,656,9398,655,9398,654,3715,9543,653);fa(23488,1,23532,9398,658,657);a=Xa(4);J[a>>2]=20;b=Xa(4);J[b>>2]=20;_(23488,5732,18924,9381,660,a|0,18924,9376,659,b|0);a=Xa(4);J[a>>2]=28;b=Xa(4);J[b>>2]=28;_(23488,5600,18924,9381,660,a|0,18924,9376,659,b|0);a=Xa(4);J[a>>2]=36;b=Xa(4);J[b>>2]=36;_(23488,5696,18924,9381,660,a|0,18924,9376,659,b|0);a=Xa(4);J[a>>2]=44;b=Xa(4);J[b>>2]=44;_(23488,1856,18348,9381,662,a|0,18348,9376,661,b|0);a=Xa(4);J[a>>2]=48;b=Xa(4);J[b>>2]=48;_(23488,3106,18492,9390,664,a|0,18492,9385,663,b|0);a=Xa(4);J[a>>2]=52;b=Xa(4);J[b>>2]=52;_(23488,3123,18492,9390,664,a|0,18492,9385,663,b|0);a=Xa(4);J[a>>2]=56;b=Xa(4);J[b>>2]=56;_(23488,2310,18348,9381,662,a|0,18348,9376,661,b|0);a=Xa(4);J[a>>2]=60;b=Xa(4);J[b>>2]=60;_(23488,3954,18492,9390,664,a|0,18492,9385,663,b|0);a=Xa(4);J[a>>2]=64;b=Xa(4);J[b>>2]=64;_(23488,5108,18492,9390,664,a|0,18492,9385,663,b|0);a=Xa(4);J[a>>2]=68;b=Xa(4);J[b>>2]=68;_(23488,2152,18492,9390,664,a|0,18492,9385,663,b|0);a=Xa(4);J[a>>2]=72;b=Xa(4);J[b>>2]=72;_(23488,3508,18492,9390,664,a|0,18492,9385,663,b|0);$(13728,23536,23552,12896,9398,668,9398,667,9398,666,1696,9543,665);a=Xa(8);J[a+4>>2]=0;J[a>>2]=669;Z(13728,5745,2,23568,9381,670,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=671;Z(13728,5613,2,23568,9381,670,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=672;Z(13728,5707,2,23568,9381,670,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=673;Z(13728,3086,2,23576,9390,674,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=675;Z(13728,5033,2,23584,9381,676,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=677;Z(13728,2322,3,23592,9376,678,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=679;Z(13728,5119,3,23604,9385,680,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=681;Z(13728,5133,2,23576,9390,674,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=682;Z(13728,3969,3,23604,9385,680,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=683;Z(13728,3987,2,23576,9390,674,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=684;Z(13728,4005,3,23616,11116,685,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=686;Z(13728,2162,3,23604,9385,680,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=687;Z(13728,2175,2,23576,9390,674,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=688;Z(13728,3516,3,23604,9385,680,a|0,0,0);a=Xa(8);J[a+4>>2]=0;J[a>>2]=689;Z(13728,3527,2,23576,9390,674,a|0,0,0);a=Xa(8);J[a+4>>2]=1;J[a>>2]=16;Z(13728,2714,2,23628,9394,690,a|0,0,0)}function Gf(a,b,c,d){a=a|0;b=Q(b);c=c|0;d=d|0;var e=0,f=Q(0),g=0,h=0,i=0,j=0,k=Q(0),l=0,m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=0,E=Q(0),F=0,G=Q(0),M=Q(0),O=Q(0),R=Q(0),S=0,T=Q(0),U=Q(0),W=Q(0),X=Q(0),Z=Q(0),_=0,$=0,aa=Q(0),ba=Q(0),ca=Q(0),da=0,ea=0,fa=Q(0),ga=0,ha=Q(0),ia=Q(0),ja=0,ka=Q(0),la=Q(0),ma=Q(0),na=Q(0),oa=Q(0),pa=Q(0),qa=Q(0),ra=Q(0),sa=0,ta=Q(0),ua=Q(0),va=Q(0),wa=Q(0),xa=Q(0),ya=Q(0),za=Q(0),Aa=Q(0);D=La-32|0;La=D;if(K[a+102988|0]){fc(a+102868|0);H[a+102988|0]=0}H[a+102989|0]=1;J[D+20>>2]=d;J[D+16>>2]=c;N[D+4>>2]=b;o=b>Q(0);N[D+8>>2]=o?Q(Q(1)/b):Q(0);N[D+12>>2]=N[a+102984>>2]*b;H[D+24|0]=K[a+102991|0];h=a+102868|0;c=J[h+60>>2];if(c){while(1){d=c;t=J[d+60>>2];F=J[d+56>>2];e=J[d+52>>2];g=J[e+8>>2];j=J[d+48>>2];l=J[j+8>>2];a:{b:{c:{c=J[d+4>>2];d:{if(c&8){i=J[h+68>>2];if(i){if(!(Na[J[J[i>>2]+8>>2]](i,j,e)|0)){break d}c=J[d+4>>2]}J[d+4>>2]=c&-9}c=0;if(!((K[l+4|0]&2?J[l>>2]!=0:c)|(K[g+4|0]&2?J[g>>2]!=0:0))){break b}c=P(J[(J[e+24>>2]+P(t,28)|0)+24>>2],40);e=J[h+4>>2];c=c+e|0;e=e+P(J[(J[j+24>>2]+P(F,28)|0)+24>>2],40)|0;if(Q(N[c>>2]-N[e+8>>2])>Q(0)|Q(N[c+4>>2]-N[e+12>>2])>Q(0)|Q(N[e>>2]-N[c+8>>2])>Q(0)){break d}if(!(Q(N[e+4>>2]-N[c+12>>2])>Q(0))){break c}}c=J[d+12>>2];Rb(h,d);break a}vc(d,J[h+72>>2])}c=J[d+12>>2]}if(c){continue}break}}N[a+103e3>>2]=0;if(!(!K[a+102994|0]|!o)){o=La-96|0;La=o;J[a+103016>>2]=0;c=a+103008|0;J[c>>2]=0;J[c+4>>2]=0;$=a+68|0;e=dd(o+44|0,J[a+102956>>2],J[a+102932>>2],J[a+102960>>2],$,J[a+102940>>2]);d=J[a+102948>>2];if(d){while(1){I[d+4>>1]=L[d+4>>1]&65534;d=J[d+96>>2];if(d){continue}break}}d=J[a+102928>>2];if(d){while(1){J[d+4>>2]=J[d+4>>2]&-2;d=J[d+12>>2];if(d){continue}break}}d=J[a+102952>>2];if(d){while(1){H[d+60|0]=0;d=J[d+12>>2];if(d){continue}break}}F=Fb($,J[a+102956>>2]<<2);t=J[a+102948>>2];if(t){_=a+102964|0;while(1){c=L[t+4>>1];e:{if(!J[t>>2]|(c&35)!=34){break e}J[F>>2]=t;h=1;I[t+4>>1]=c|1;i=0;j=0;g=0;while(1){h=h-1|0;c=J[F+(h<<2)>>2];J[c+8>>2]=i;J[J[e+8>>2]+(i<<2)>>2]=c;f:{if(!J[c>>2]){break f}I[c+4>>1]=L[c+4>>1]|2;d=J[c+112>>2];if(d){while(1){l=J[d+4>>2];u=J[l+4>>2];g:{if((u&7)!=6|K[J[l+48>>2]+38|0]|K[J[l+52>>2]+38|0]){break g}J[J[e+12>>2]+(j<<2)>>2]=l;J[l+4>>2]=u|1;j=j+1|0;l=J[d>>2];u=L[l+4>>1];if(u&1){break g}J[F+(h<<2)>>2]=l;I[l+4>>1]=u|1;h=h+1|0}d=J[d+12>>2];if(d){continue}break}}d=J[c+108>>2];if(!d){break f}while(1){u=J[d+4>>2];h:{if(K[u+60|0]){break h}c=J[d>>2];l=L[c+4>>1];if(!(l&32)){break h}J[J[e+16>>2]+(g<<2)>>2]=u;H[J[d+4>>2]+60|0]=1;g=g+1|0;if(l&1){break h}J[F+(h<<2)>>2]=c;I[c+4>>1]=l|1;h=h+1|0}d=J[d+12>>2];if(d){continue}break}}i=i+1|0;if((h|0)>0){continue}break}J[e+36>>2]=j;J[e+28>>2]=i;J[e+32>>2]=g;ja=K[a+102972|0];g=0;h=0;j=La-160|0;La=j;m=N[D+4>>2];if(J[e+28>>2]>0){while(1){d=J[J[e+8>>2]+(g<<2)>>2];x=N[d+56>>2];N[d+52>>2]=x;l=J[d+48>>2];c=J[d+44>>2];J[d+36>>2]=c;J[d+40>>2]=l;b=N[d+72>>2];k=N[d+64>>2];f=N[d+68>>2];if(J[d>>2]==2){n=Q(m*N[d+120>>2]);q=Q(N[d+140>>2]*N[d+116>>2]);G=Q(Q(1)/Q(Q(m*N[d+132>>2])+Q(1)));f=Q(Q(f+Q(n*Q(Q(q*N[_+4>>2])+N[d+80>>2])))*G);k=Q(Q(k+Q(n*Q(Q(N[_>>2]*q)+N[d+76>>2])))*G);b=Q(Q(Q(Q(m*N[d+128>>2])*N[d+84>>2])+b)*Q(Q(1)/Q(Q(m*N[d+136>>2])+Q(1))))}d=P(g,12);i=d+J[e+20>>2]|0;J[i>>2]=c;J[i+4>>2]=l;N[(d+J[e+20>>2]|0)+8>>2]=x;c=d+J[e+24>>2]|0;N[c+4>>2]=f;N[c>>2]=k;N[(d+J[e+24>>2]|0)+8>>2]=b;g=g+1|0;if((g|0)>2]){continue}break}}c=J[D+24>>2];J[j+120>>2]=J[D+20>>2];J[j+124>>2]=c;c=J[D+16>>2];J[j+112>>2]=J[D+12>>2];J[j+116>>2]=c;c=J[D+8>>2];J[j+104>>2]=J[D+4>>2];J[j+108>>2]=c;c=J[e+20>>2];J[j+128>>2]=c;d=J[e+24>>2];J[j+132>>2]=d;g=J[D+24>>2];J[j+72>>2]=J[D+20>>2];J[j+76>>2]=g;l=J[D+16>>2];g=j- -64|0;J[g>>2]=J[D+12>>2];J[g+4>>2]=l;g=J[D+8>>2];J[j+56>>2]=J[D+4>>2];J[j+60>>2]=g;J[j+80>>2]=J[e+12>>2];g=J[e+36>>2];J[j+92>>2]=d;J[j+88>>2]=c;J[j+84>>2]=g;J[j+96>>2]=J[e>>2];l=id(j+4|0,j+56|0);gd(l);if(J[l+48>>2]>0?K[D+24|0]:0){g=J[l+28>>2];while(1){c=J[l+40>>2]+P(h,156)|0;u=P(J[c+116>>2],12);d=u+g|0;b=N[d+8>>2];k=N[d+4>>2];f=N[d>>2];B=P(J[c+112>>2],12);g=B+g|0;n=N[g+8>>2];q=N[g+4>>2];p=N[g>>2];C=J[c+148>>2];if((C|0)>0){A=N[c+72>>2];M=N[c+132>>2];r=N[c+124>>2];v=N[c+120>>2];z=N[c+76>>2];w=Q(-N[c+128>>2]);i=0;while(1){d=c+P(i,36)|0;G=N[d+16>>2];R=N[d+20>>2];x=Q(Q(z*G)-Q(A*R));G=Q(Q(A*G)+Q(z*R));b=Q(Q(M*Q(Q(N[d+8>>2]*x)-Q(G*N[d+12>>2])))+b);n=Q(Q(w*Q(Q(N[d>>2]*x)-Q(G*N[d+4>>2])))+n);k=Q(k+Q(r*x));f=Q(f+Q(r*G));q=Q(q-Q(v*x));p=Q(p-Q(v*G));i=i+1|0;if((C|0)!=(i|0)){continue}break}}N[g+4>>2]=q;N[g>>2]=p;c=J[l+28>>2];N[(c+B|0)+8>>2]=n;c=c+u|0;N[c+4>>2]=k;N[c>>2]=f;g=J[l+28>>2];N[(u+g|0)+8>>2]=b;h=h+1|0;if((h|0)>2]){continue}break}}if(J[e+32>>2]>0){d=0;while(1){c=J[J[e+16>>2]+(d<<2)>>2];Na[J[J[c>>2]+36>>2]](c,j+104|0);d=d+1|0;if((d|0)>2]){continue}break}}N[o+24>>2]=0;if(J[D+16>>2]>0){c=0;while(1){d=0;if(J[e+32>>2]>0){while(1){h=J[J[e+16>>2]+(d<<2)>>2];Na[J[J[h>>2]+40>>2]](h,j+104|0);d=d+1|0;if((d|0)>2]){continue}break}}fd(l);c=c+1|0;if((c|0)>2]){continue}break}}c=0;B=J[l+48>>2];if((B|0)>0){C=J[l+44>>2];ga=J[l+40>>2];while(1){g=ga+P(c,156)|0;i=J[g+148>>2];i:{if((i|0)<=0){break i}u=J[C+(J[g+152>>2]<<2)>>2]- -64|0;d=0;if((i|0)!=1){da=i&-2;h=0;while(1){S=u+P(d,20)|0;ea=g+P(d,36)|0;N[S+8>>2]=N[ea+16>>2];N[S+12>>2]=N[ea+20>>2];S=d|1;ea=u+P(S,20)|0;S=g+P(S,36)|0;N[ea+8>>2]=N[S+16>>2];N[ea+12>>2]=N[S+20>>2];d=d+2|0;h=h+2|0;if((da|0)!=(h|0)){continue}break}}if(!(i&1)){break i}h=u+P(d,20)|0;d=g+P(d,36)|0;N[h+8>>2]=N[d+16>>2];N[h+12>>2]=N[d+20>>2]}c=c+1|0;if((B|0)!=(c|0)){continue}break}}N[o+28>>2]=0;h=1;if(J[e+28>>2]>0){g=J[e+24>>2];c=0;while(1){d=P(c,12);i=d+g|0;b=N[i>>2];f=Q(m*b);w=Q(f*f);k=N[i+4>>2];f=Q(m*k);f=Q(w+Q(f*f));if(f>Q(4)){f=Q(Q(2)/Q(Y(f)));k=Q(k*f);b=Q(b*f)}g=d+J[e+20>>2]|0;n=N[g+8>>2];q=N[g+4>>2];G=N[g>>2];f=N[i+8>>2];x=Q(m*f);if(Q(x*x)>Q(2.4674012660980225)){f=Q(f*Q(Q(1.5707963705062866)/(x>Q(0)?x:Q(-x))))}N[g+4>>2]=q+Q(m*k);N[g>>2]=G+Q(m*b);N[(d+J[e+20>>2]|0)+8>>2]=Q(m*f)+n;g=d+J[e+24>>2]|0;N[g+4>>2]=k;N[g>>2]=b;g=J[e+24>>2];N[(d+g|0)+8>>2]=f;c=c+1|0;if((c|0)>2]){continue}break}}if(J[D+20>>2]>0){c=0;while(1){G=Q(0);i=0;d=La+-64|0;La=d;if(J[l+48>>2]>0){h=J[l+24>>2];while(1){g=J[l+36>>2]+P(i,88)|0;u=P(J[g+36>>2],12);B=u+h|0;b=N[B+8>>2];k=N[B+4>>2];f=N[B>>2];B=P(J[g+32>>2],12);C=B+h|0;n=N[C+8>>2];q=N[C+4>>2];p=N[C>>2];C=J[g+84>>2];if((C|0)>0){r=N[g+68>>2];v=N[g+56>>2];z=N[g+48>>2];M=N[g+60>>2];w=N[g+52>>2];R=N[g+40>>2];O=N[g+44>>2];fa=Q(R+O);T=N[g+64>>2];y=Q(-T);h=0;while(1){x=_a(n);N[d+60>>2]=x;A=Za(n);N[d+56>>2]=A;s=_a(b);N[d+44>>2]=s;U=Za(b);N[d+40>>2]=U;N[d+52>>2]=q-Q(Q(A*z)+Q(w*x));N[d+48>>2]=p-Q(Q(x*z)-Q(w*A));N[d+36>>2]=k-Q(Q(U*v)+Q(M*s));N[d+32>>2]=f-Q(Q(s*v)-Q(M*U));ed(d+8|0,g,d+48|0,d+32|0,h);A=Q(0);x=N[d+24>>2];ga=x>G;s=N[d+20>>2];W=Q(s-k);X=Q(-W);Z=Q(s-q);aa=Q(-Z);ca=N[d+16>>2];ha=Q(ca-f);s=N[d+12>>2];U=N[d+8>>2];W=Q(Q(ha*s)-Q(U*W));E=Q(Q(r*W)*W);W=Q(ca-p);Z=Q(Q(W*s)-Q(U*Z));Z=Q(E+Q(Q(Q(T*Z)*Z)+fa));if(Z>Q(0)){A=Q(Q(x+Q(.004999999888241291))*Q(.20000000298023224));A=A>2]}h=h+B|0;N[h+4>>2]=q;N[h>>2]=p;h=J[l+24>>2];N[(h+B|0)+8>>2]=n;h=h+u|0;N[h+4>>2]=k;N[h>>2]=f;h=J[l+24>>2];N[(u+h|0)+8>>2]=b;i=i+1|0;if((i|0)>2]){continue}break}}La=d- -64|0;g=1;d=0;if(J[e+32>>2]>0){while(1){h=J[J[e+16>>2]+(d<<2)>>2];g=Na[J[J[h>>2]+44>>2]](h,j+104|0)&g;d=d+1|0;if((d|0)>2]){continue}break}}d=G>=Q(-.014999999664723873)&g;if(!d){c=c+1|0;if((c|0)>2]){continue}}break}h=!d}if(J[e+28>>2]>0){g=0;while(1){u=P(g,12);d=u+J[e+20>>2]|0;n=N[d>>2];c=J[d>>2];w=N[d+4>>2];d=J[d+4>>2];i=J[J[e+8>>2]+(g<<2)>>2];J[i+44>>2]=c;J[i+48>>2]=d;b=N[(u+J[e+20>>2]|0)+8>>2];N[i+56>>2]=b;c=u+J[e+24>>2]|0;B=J[c+4>>2];J[i+64>>2]=J[c>>2];J[i+68>>2]=B;k=N[(u+J[e+24>>2]|0)+8>>2];f=_a(b);N[i+24>>2]=f;b=Za(b);N[i+20>>2]=b;N[i+72>>2]=k;k=N[i+28>>2];x=N[i+32>>2];N[i+16>>2]=w-Q(Q(b*k)+Q(f*x));N[i+12>>2]=n-Q(Q(f*k)-Q(x*b));g=g+1|0;if((g|0)>2]){continue}break}}N[o+32>>2]=0;if(!(!J[e+4>>2]|J[e+36>>2]<=0)){B=J[l+40>>2];g=0;while(1){C=J[J[e+12>>2]+(g<<2)>>2];u=B+P(g,156)|0;i=J[u+148>>2];J[j+156>>2]=i;j:{if((i|0)<=0){break j}d=0;if((i|0)!=1){ga=i&-2;c=0;while(1){da=d<<2;S=j+140|0;ea=u+P(d,36)|0;N[da+S>>2]=N[ea+16>>2];sa=j+148|0;N[da+sa>>2]=N[ea+20>>2];ea=S;da=d|1;S=da<<2;da=u+P(da,36)|0;N[ea+S>>2]=N[da+16>>2];N[S+sa>>2]=N[da+20>>2];d=d+2|0;c=c+2|0;if((ga|0)!=(c|0)){continue}break}}if(!(i&1)){break j}c=(j+140|0)+(d<<2)|0;d=u+P(d,36)|0;N[c>>2]=N[d+16>>2];N[c+8>>2]=N[d+20>>2]}c=J[e+4>>2];Na[J[J[c>>2]+20>>2]](c,C,j+140|0);g=g+1|0;if((g|0)>2]){continue}break}}k:{if(!ja){break k}g=J[e+28>>2];if((g|0)<=0){break k}i=J[e+8>>2];b=Q(34028234663852886e22);d=0;while(1){c=J[i+(d<<2)>>2];l:{if(!J[c>>2]){break l}m:{n:{if(!(K[c+4|0]&4)){break n}f=N[c+72>>2];if(Q(f*f)>Q(.001218469929881394)){break n}f=N[c+64>>2];k=Q(f*f);f=N[c+68>>2];if(!(Q(k+Q(f*f))>Q(9999999747378752e-20))){break m}}J[c+144>>2]=0;b=Q(0);break l}f=Q(m+N[c+144>>2]);N[c+144>>2]=f;b=b=Q(.5))|h){break k}c=J[e+28>>2];if((c|0)<=0){break k}g=0;while(1){d=J[J[e+8>>2]+(g<<2)>>2];if(J[d>>2]){J[d+144>>2]=0;J[d+64>>2]=0;J[d+68>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;I[d+4>>1]=L[d+4>>1]&65533;c=J[e+28>>2]}g=g+1|0;if((c|0)>(g|0)){continue}break}}hd(l);La=j+160|0;N[a+103008>>2]=N[o+24>>2]+N[a+103008>>2];N[a+103012>>2]=N[o+28>>2]+N[a+103012>>2];N[a+103016>>2]=N[o+32>>2]+N[a+103016>>2];c=J[e+28>>2];if((c|0)<=0){break e}h=J[e+8>>2];d=0;if((c|0)!=1){j=c&-2;i=0;while(1){l=d<<2;g=J[l+h>>2];if(!J[g>>2]){I[g+4>>1]=L[g+4>>1]&65534}g=J[h+(l|4)>>2];if(!J[g>>2]){I[g+4>>1]=L[g+4>>1]&65534}d=d+2|0;i=i+2|0;if((j|0)!=(i|0)){continue}break}}if(!(c&1)){break e}c=J[h+(d<<2)>>2];if(J[c>>2]){break e}I[c+4>>1]=L[c+4>>1]&65534}t=J[t+96>>2];if(t){continue}break}}Eb($,F);d=J[a+102948>>2];if(d){while(1){if(!(!(H[d+4|0]&1)|!J[d>>2])){Md(d)}d=J[d+96>>2];if(d){continue}break}}fc(a+102868|0);N[a+103020>>2]=0;cd(e);La=o+96|0;N[a+103004>>2]=0;b=N[D+4>>2]}if(!(!K[a+102992|0]|!(b>Q(0)))){g=La-272|0;La=g;l=dd(g+220|0,64,32,0,a+68|0,J[a+102940>>2]);o:{if(!K[a+102994|0]){break o}j=J[a+102948>>2];if(j){while(1){J[j+60>>2]=0;I[j+4>>1]=L[j+4>>1]&65534;j=J[j+96>>2];if(j){continue}break}}j=J[a+102928>>2];if(!j){break o}while(1){J[j+128>>2]=0;J[j+132>>2]=1065353216;J[j+4>>2]=J[j+4>>2]&-34;j=J[j+12>>2];if(j){continue}break}}ja=a+102868|0;ga=g+116|0;while(1){p:{h=0;A=Q(1);q:{j=J[a+102928>>2];r:{if(!j){break r}while(1){c=J[j+4>>2];s:{if(!(c&4)|J[j+128>>2]>8){break s}t:{if(c&32){f=N[j+132>>2];break t}i=J[j+48>>2];if(K[i+38|0]){break s}o=J[j+52>>2];if(K[o+38|0]){break s}d=J[o+8>>2];c=J[d>>2];e=J[i+8>>2];t=L[e+4>>1];F=J[e>>2];u=L[d+4>>1];if(!(t>>>1&(F|0)!=0|u>>>1&(c|0)!=0)){break s}if(!(u&8|(t&8|(F|0)!=2))){if((c|0)==2){break s}}b=N[d+60>>2];f=N[e+60>>2];u:{if(b>f){N[e+60>>2]=b;k=N[e+40>>2];f=Q(Q(b-f)/Q(Q(1)-f));N[e+40>>2]=k+Q(f*Q(N[e+48>>2]-k));k=N[e+36>>2];N[e+36>>2]=k+Q(f*Q(N[e+44>>2]-k));k=f;f=N[e+52>>2];N[e+52>>2]=Q(k*Q(N[e+56>>2]-f))+f;break u}if(b>2]=f;k=N[d+40>>2];b=Q(Q(f-b)/Q(Q(1)-b));N[d+40>>2]=k+Q(b*Q(N[d+48>>2]-k));k=N[d+36>>2];N[d+36>>2]=k+Q(b*Q(N[d+44>>2]-k));k=b;b=N[d+52>>2];N[d+52>>2]=Q(k*Q(N[d+56>>2]-b))+b}b=f}t=J[j+60>>2];F=J[j+56>>2];J[g+140>>2]=0;J[g+132>>2]=0;J[g+136>>2]=0;J[g+112>>2]=0;J[g+104>>2]=0;J[g+108>>2]=0;c=g+88|0;gc(c,J[i+12>>2],F);gc(ga,J[o+12>>2],t);J[g+176>>2]=J[e+60>>2];i=J[e+56>>2];J[g+168>>2]=J[e+52>>2];J[g+172>>2]=i;i=J[e+48>>2];J[g+160>>2]=J[e+44>>2];J[g+164>>2]=i;i=J[e+40>>2];J[g+152>>2]=J[e+36>>2];J[g+156>>2]=i;i=J[e+32>>2];J[g+144>>2]=J[e+28>>2];J[g+148>>2]=i;J[g+212>>2]=J[d+60>>2];e=J[d+56>>2];J[g+204>>2]=J[d+52>>2];J[g+208>>2]=e;e=J[d+48>>2];J[g+196>>2]=J[d+44>>2];J[g+200>>2]=e;e=J[d+40>>2];J[g+188>>2]=J[d+36>>2];J[g+192>>2]=e;e=J[d+32>>2];J[g+180>>2]=J[d+28>>2];J[g+184>>2]=e;J[g+216>>2]=1065353216;i=0;G=Q(0);e=La-320|0;La=e;J[6195]=J[6195]+1;J[g+48>>2]=0;x=N[c+128>>2];N[g+52>>2]=x;J[e+312>>2]=J[c+88>>2];d=J[c+84>>2];J[e+304>>2]=J[c+80>>2];J[e+308>>2]=d;d=J[c+76>>2];J[e+296>>2]=J[c+72>>2];J[e+300>>2]=d;d=c- -64|0;o=J[d+4>>2];J[e+288>>2]=J[d>>2];J[e+292>>2]=o;d=J[c+60>>2];J[e+280>>2]=J[c+56>>2];J[e+284>>2]=d;J[e+272>>2]=J[c+124>>2];d=J[c+120>>2];J[e+264>>2]=J[c+116>>2];J[e+268>>2]=d;d=J[c+112>>2];J[e+256>>2]=J[c+108>>2];J[e+260>>2]=d;d=J[c+104>>2];J[e+248>>2]=J[c+100>>2];J[e+252>>2]=d;d=J[c+96>>2];J[e+240>>2]=J[c+92>>2];J[e+244>>2]=d;k=N[e+304>>2];f=Q(Q(V(Q(k/Q(6.2831854820251465))))*Q(6.2831854820251465));n=Q(k-f);N[e+304>>2]=n;m=N[e+264>>2];k=Q(Q(V(Q(m/Q(6.2831854820251465))))*Q(6.2831854820251465));p=Q(m-k);N[e+264>>2]=p;r=Q(N[e+268>>2]-k);N[e+268>>2]=r;q=Q(N[e+308>>2]-f);N[e+308>>2]=q;f=N[c+52>>2];k=N[c+24>>2];I[e+232>>1]=0;J[e+160>>2]=J[c+24>>2];d=J[c+20>>2];J[e+152>>2]=J[c+16>>2];J[e+156>>2]=d;d=J[c+12>>2];J[e+144>>2]=J[c+8>>2];J[e+148>>2]=d;d=J[c+4>>2];J[e+136>>2]=J[c>>2];J[e+140>>2]=d;d=J[c+40>>2];J[e+172>>2]=J[c+36>>2];J[e+176>>2]=d;d=J[c+48>>2];J[e+180>>2]=J[c+44>>2];J[e+184>>2]=d;J[e+188>>2]=J[c+52>>2];d=J[c+32>>2];J[e+164>>2]=J[c+28>>2];J[e+168>>2]=d;H[e+224|0]=0;f=Q(Q(k+f)+Q(-.014999999664723873));U=f>2]=f;m=Za(m);N[e+216>>2]=m;q=Q(Q(k*Q(q-n))+n);n=_a(q);N[e+204>>2]=n;q=Za(q);N[e+200>>2]=q;p=N[e+252>>2];w=Q(p+Q(k*Q(N[e+260>>2]-p)));p=N[e+240>>2];r=N[e+244>>2];N[e+212>>2]=w-Q(Q(m*p)+Q(f*r));v=N[e+248>>2];N[e+208>>2]=Q(v+Q(k*Q(N[e+256>>2]-v)))-Q(Q(f*p)-Q(r*m));f=N[e+292>>2];w=Q(f+Q(k*Q(N[e+300>>2]-f)));f=N[e+280>>2];m=N[e+284>>2];N[e+196>>2]=w-Q(Q(q*f)+Q(n*m));p=N[e+288>>2];N[e+192>>2]=Q(p+Q(k*Q(N[e+296>>2]-p)))-Q(Q(n*f)-Q(m*q));Ud(e+112|0,e+228|0,e+136|0);f=N[e+128>>2];if(f<=Q(0)){d=2;break w}if(f>2]=da;J[d>>2]=c;o=L[e+232>>1];J[d+40>>2]=J[e+312>>2];t=J[e+308>>2];J[d+32>>2]=J[e+304>>2];J[d+36>>2]=t;t=J[e+300>>2];J[d+24>>2]=J[e+296>>2];J[d+28>>2]=t;t=J[e+292>>2];J[d+16>>2]=J[e+288>>2];J[d+20>>2]=t;t=J[e+284>>2];J[d+8>>2]=J[e+280>>2];J[d+12>>2]=t;t=J[e+244>>2];J[d+44>>2]=J[e+240>>2];J[d+48>>2]=t;t=J[e+252>>2];J[d+52>>2]=J[e+248>>2];J[d+56>>2]=t;t=J[e+260>>2];J[d+60>>2]=J[e+256>>2];J[d+64>>2]=t;t=J[e+268>>2];J[d+68>>2]=J[e+264>>2];J[d+72>>2]=t;J[d+76>>2]=J[e+272>>2];f=N[d+48>>2];m=N[d+68>>2];q=Q(Q(k*Q(N[d+72>>2]-m))+m);m=_a(q);n=N[d+44>>2];p=Za(q);q=N[d+56>>2];M=Q(Q(q+Q(Q(N[d- -64>>2]-q)*k))-Q(Q(p*n)+Q(f*m)));q=N[d+52>>2];w=Q(Q(q+Q(Q(N[d+60>>2]-q)*k))-Q(Q(m*n)-Q(f*p)));f=N[d+12>>2];n=N[d+32>>2];r=Q(Q(k*Q(N[d+36>>2]-n))+n);q=_a(r);n=N[d+8>>2];r=Za(r);v=N[d+20>>2];R=Q(Q(v+Q(Q(N[d+28>>2]-v)*k))-Q(Q(r*n)+Q(f*q)));v=N[d+16>>2];O=Q(Q(v+Q(Q(N[d+24>>2]-v)*k))-Q(Q(q*n)-Q(f*r)));v=Q(-p);z=Q(-r);x:{if((o|0)==1){J[d+80>>2]=0;o=J[c+44>>2]+(K[e+237|0]<<3)|0;n=N[o>>2];f=Q(p*n);p=N[o+4>>2];s=Q(M+Q(f+Q(m*p)));f=r;o=J[c+16>>2]+(K[e+234|0]<<3)|0;r=N[o>>2];M=N[o+4>>2];f=Q(s-Q(R+Q(Q(f*r)+Q(q*M))));N[d+96>>2]=f;m=Q(Q(w+Q(Q(m*n)+Q(p*v)))-Q(O+Q(Q(q*r)+Q(M*z))));N[d+92>>2]=m;n=Q(Y(Q(Q(m*m)+Q(f*f))));if(n>2]=w*f;N[d+92>>2]=m*f;break x}y:{if(K[e+234|0]==K[e+235|0]){J[d+80>>2]=2;o=J[c+44>>2];t=o+(K[e+238|0]<<3)|0;s=N[t>>2];o=o+(K[e+237|0]<<3)|0;T=N[o>>2];W=N[t+4>>2];X=N[o+4>>2];f=Q(W-X);N[d+92>>2]=f;y=Q(s-T);n=Q(-y);N[d+96>>2]=n;y=Q(Y(Q(Q(f*f)+Q(y*y))));if(!(y>2]=n;f=Q(f*y);N[d+92>>2]=f}y=Q(Q(X+W)*Q(.5));N[d+88>>2]=y;s=Q(Q(T+s)*Q(.5));N[d+84>>2]=s;E=O;o=J[c+16>>2]+(K[e+234|0]<<3)|0;O=N[o>>2];T=N[o+4>>2];if(!(Q(Q(Q(Q(E+Q(Q(q*O)+Q(T*z)))-Q(w+Q(Q(m*s)+Q(y*v))))*Q(Q(m*f)+Q(n*v)))+Q(Q(Q(p*f)+Q(m*n))*Q(Q(R+Q(Q(r*O)+Q(q*T)))-Q(M+Q(Q(p*s)+Q(m*y))))))>2]=1;o=J[c+16>>2];t=o+(K[e+235|0]<<3)|0;s=N[t>>2];o=o+(K[e+234|0]<<3)|0;T=N[o>>2];W=N[t+4>>2];X=N[o+4>>2];f=Q(W-X);N[d+92>>2]=f;y=Q(s-T);n=Q(-y);N[d+96>>2]=n;y=Q(Y(Q(Q(f*f)+Q(y*y))));if(!(y>2]=n;f=Q(f*y);N[d+92>>2]=f}y=Q(Q(X+W)*Q(.5));N[d+88>>2]=y;s=Q(Q(T+s)*Q(.5));N[d+84>>2]=s;E=w;o=J[c+44>>2]+(K[e+237|0]<<3)|0;w=N[o>>2];T=N[o+4>>2];if(!(Q(Q(Q(Q(E+Q(Q(m*w)+Q(T*v)))-Q(O+Q(Q(q*s)+Q(y*z))))*Q(Q(q*f)+Q(n*z)))+Q(Q(Q(r*f)+Q(q*n))*Q(Q(M+Q(Q(p*w)+Q(m*T)))-Q(R+Q(Q(r*s)+Q(q*y))))))>2]=-n;N[d+92>>2]=-f}$=0;t=4;z:{f=x;R=ad(d,e+8|0,e+4|0,f);A:{if(!(fata)){T=N[e+60>>2];ka=N[e+80>>2];ua=Q(N[e+84>>2]-ka);n=Q(Q(k*ua)+ka);m=_a(n);y=N[e+56>>2];q=Za(n);la=N[e+68>>2];va=Q(N[e+76>>2]-la);M=Q(Q(la+Q(k*va))-Q(Q(q*y)+Q(T*m)));ma=N[e+64>>2];wa=Q(N[e+72>>2]-ma);w=Q(Q(ma+Q(k*wa))-Q(Q(m*y)-Q(T*q)));W=N[e+24>>2];na=N[e+44>>2];xa=Q(N[e+48>>2]-na);p=Q(Q(k*xa)+na);n=_a(p);X=N[e+20>>2];p=Za(p);oa=N[e+32>>2];ya=Q(N[e+40>>2]-oa);O=Q(Q(oa+Q(k*ya))-Q(Q(p*X)+Q(W*n)));pa=N[e+28>>2];za=Q(N[e+36>>2]-pa);s=Q(Q(pa+Q(k*za))-Q(Q(n*X)-Q(W*p)));r=Q(-q);v=Q(-p);z=Q(0);o=J[e+4>>2];F=J[e+8>>2];C:{D:{E:{F:{S=J[e+92>>2];switch(S|0){case 2:break D;case 1:break E;case 0:break F;default:break C}}E=w;d=J[J[e+16>>2]+16>>2]+(o<<3)|0;z=N[d>>2];w=N[d+4>>2];ba=Q(E+Q(Q(m*z)+Q(w*r)));E=s;d=J[J[e+12>>2]+16>>2]+(F<<3)|0;r=N[d>>2];s=N[d+4>>2];z=Q(Q(Q(ba-Q(E+Q(Q(n*r)+Q(s*v))))*N[e+104>>2])+Q(N[e+108>>2]*Q(Q(M+Q(Q(q*z)+Q(m*w)))-Q(O+Q(Q(p*r)+Q(n*s))))));break C}E=w;d=J[J[e+16>>2]+16>>2]+(o<<3)|0;z=N[d>>2];w=N[d+4>>2];ba=Q(E+Q(Q(m*z)+Q(w*r)));E=s;r=N[e+96>>2];s=N[e+100>>2];Z=N[e+104>>2];aa=N[e+108>>2];z=Q(Q(Q(ba-Q(E+Q(Q(n*r)+Q(s*v))))*Q(Q(n*Z)+Q(aa*v)))+Q(Q(Q(p*Z)+Q(n*aa))*Q(Q(M+Q(Q(q*z)+Q(m*w)))-Q(O+Q(Q(p*r)+Q(n*s))))));break C}E=s;d=J[J[e+12>>2]+16>>2]+(F<<3)|0;z=N[d>>2];s=N[d+4>>2];ba=Q(E+Q(Q(n*z)+Q(s*v)));E=w;v=N[e+96>>2];w=N[e+100>>2];Z=N[e+104>>2];aa=N[e+108>>2];z=Q(Q(Q(ba-Q(E+Q(Q(m*v)+Q(w*r))))*Q(Q(m*Z)+Q(aa*r)))+Q(Q(Q(q*Z)+Q(m*aa))*Q(Q(O+Q(Q(p*z)+Q(n*s)))-Q(M+Q(Q(q*v)+Q(m*w))))))}if(z>2];C=J[e+12>>2];Z=N[e+100>>2];aa=N[e+96>>2];O=N[e+108>>2];s=N[e+104>>2];n=k;q=f;G:{while(1){_=_+1|0;J[6198]=_;m=d&1?Q(n+Q(Q(Q(U-z)*Q(q-n))/Q(R-z))):Q(Q(n+q)*Q(.5));r=Q(Q(m*ua)+ka);p=_a(r);M=Za(r);qa=Q(Q(la+Q(va*m))-Q(Q(M*y)+Q(T*p)));E=Q(Q(ma+Q(wa*m))-Q(Q(p*y)-Q(T*M)));r=Q(Q(m*xa)+na);v=_a(r);w=Za(r);ra=Q(Q(oa+Q(ya*m))-Q(Q(w*X)+Q(W*v)));ba=Q(Q(pa+Q(za*m))-Q(Q(v*X)-Q(W*w)));ca=Q(-M);ha=Q(-w);r=Q(0);H:{I:{switch(S|0){case 0:ia=E;u=J[B+16>>2]+(o<<3)|0;r=N[u>>2];E=N[u+4>>2];Aa=Q(ia+Q(Q(p*r)+Q(E*ca)));ia=ba;u=J[C+16>>2]+(F<<3)|0;ca=N[u>>2];ba=N[u+4>>2];r=Q(Q(Q(Aa-Q(ia+Q(Q(v*ca)+Q(ba*ha))))*s)+Q(O*Q(Q(qa+Q(Q(M*r)+Q(p*E)))-Q(ra+Q(Q(w*ca)+Q(v*ba))))));break H;case 1:ia=E;u=J[B+16>>2]+(o<<3)|0;r=N[u>>2];E=N[u+4>>2];r=Q(Q(Q(Q(ia+Q(Q(p*r)+Q(E*ca)))-Q(ba+Q(Q(v*aa)+Q(Z*ha))))*Q(Q(v*s)+Q(O*ha)))+Q(Q(Q(w*s)+Q(v*O))*Q(Q(qa+Q(Q(M*r)+Q(p*E)))-Q(ra+Q(Q(w*aa)+Q(v*Z))))));break H;case 2:break I;default:break H}}ia=ba;u=J[C+16>>2]+(F<<3)|0;r=N[u>>2];ba=N[u+4>>2];r=Q(Q(Q(Q(ia+Q(Q(v*r)+Q(ba*ha)))-Q(E+Q(Q(p*aa)+Q(Z*ca))))*Q(Q(p*s)+Q(O*ca)))+Q(Q(Q(M*s)+Q(p*O))*Q(Q(ra+Q(Q(w*r)+Q(v*ba)))-Q(qa+Q(Q(M*aa)+Q(p*Z))))))}d=d+1|0;p=Q(r-U);if((p>Q(0)?p:Q(-p))U;q=u?q:m;n=u?m:n;z=u?r:z;R=u?R:r;if((d|0)!=50){continue}break}d=50}o=J[6199];J[6199]=(d|0)<(o|0)?o:d;$=$+1|0;if(($|0)!=8){break B}f=k}J[6196]=J[6196]+1;i=i+1|0;if((i|0)!=20){break z}N[g+52>>2]=f;J[g+48>>2]=1;i=20;break v}R=ad(e+12|0,e+8|0,e+4|0,f);if(!(fa>2]=k;J[g+48>>2]=t;J[6196]=J[6196]+1;i=i+1|0;break v}r=N[e+268>>2];p=N[e+264>>2];q=N[e+308>>2];n=N[e+304>>2];k=f;continue}break}N[g+52>>2]=G;J[g+48>>2]=d}c=J[6197];J[6197]=(c|0)>(i|0)?c:i;N[6193]=N[6193]+Q(0);f=N[6194];N[6194]=f>Q(0)?f:Q(0);La=e+320|0;f=Q(1);if(J[g+48>>2]==3){b=Q(Q(Q(Q(1)-b)*N[g+52>>2])+b);f=b>2]=f;J[j+4>>2]=J[j+4>>2]|32}c=f>2];if(j){continue}break}if(!h){break r}if(!(A>Q(.9999988079071045))){break q}}H[a+102994|0]=1;break p}e=J[J[h+52>>2]+8>>2];i=J[J[h+48>>2]+8>>2];d=i;J[g+120>>2]=J[d+60>>2];c=J[d+56>>2];J[g+112>>2]=J[d+52>>2];J[g+116>>2]=c;c=J[d+48>>2];J[g+104>>2]=J[d+44>>2];J[g+108>>2]=c;c=J[d+40>>2];J[g+96>>2]=J[d+36>>2];J[g+100>>2]=c;c=J[d+32>>2];J[g+88>>2]=J[d+28>>2];J[g+92>>2]=c;J[g+80>>2]=J[e+60>>2];c=J[e+56>>2];J[g+72>>2]=J[e+52>>2];J[g+76>>2]=c;o=J[e+48>>2];j=g- -64|0;c=j;J[c>>2]=J[e+44>>2];J[c+4>>2]=o;c=J[e+40>>2];J[g+56>>2]=J[e+36>>2];J[g+60>>2]=c;c=J[e+32>>2];J[g+48>>2]=J[e+28>>2];J[g+52>>2]=c;f=N[d+36>>2];b=N[d+60>>2];b=Q(Q(A-b)/Q(Q(1)-b));N[d+36>>2]=f+Q(b*Q(N[d+44>>2]-f));f=N[d+40>>2];N[d+40>>2]=f+Q(b*Q(N[d+48>>2]-f));N[d+60>>2]=A;f=b;b=N[d+52>>2];b=Q(Q(f*Q(N[d+56>>2]-b))+b);N[d+56>>2]=b;N[d+52>>2]=b;f=_a(b);N[d+24>>2]=f;b=Za(b);N[d+20>>2]=b;w=N[d+40>>2];o=J[d+40>>2];x=N[d+36>>2];J[d+44>>2]=J[d+36>>2];J[d+48>>2]=o;k=N[d+28>>2];m=N[d+32>>2];N[d+16>>2]=w-Q(Q(b*k)+Q(f*m));N[d+12>>2]=x-Q(Q(f*k)-Q(m*b));f=N[e+40>>2];b=N[e+60>>2];b=Q(Q(A-b)/Q(Q(1)-b));N[e+40>>2]=f+Q(b*Q(N[e+48>>2]-f));f=N[e+36>>2];N[e+36>>2]=f+Q(b*Q(N[e+44>>2]-f));N[e+60>>2]=A;f=b;b=N[e+52>>2];b=Q(Q(f*Q(N[e+56>>2]-b))+b);N[e+56>>2]=b;N[e+52>>2]=b;f=_a(b);N[e+24>>2]=f;b=Za(b);N[e+20>>2]=b;s=N[e+40>>2];d=J[e+40>>2];k=N[e+36>>2];J[e+44>>2]=J[e+36>>2];J[e+48>>2]=d;w=k;k=N[e+28>>2];m=N[e+32>>2];N[e+12>>2]=w-Q(Q(f*k)-Q(b*m));N[e+16>>2]=s-Q(Q(b*k)+Q(f*m));vc(h,J[a+102940>>2]);J[h+128>>2]=J[h+128>>2]+1;d=J[h+4>>2];J:{if((d&6)!=6){J[h+4>>2]=d&-37;J[i+60>>2]=J[g+120>>2];c=J[g+116>>2];J[i+52>>2]=J[g+112>>2];J[i+56>>2]=c;c=J[g+108>>2];J[i+44>>2]=J[g+104>>2];J[i+48>>2]=c;c=J[g+100>>2];J[i+36>>2]=J[g+96>>2];J[i+40>>2]=c;c=J[g+92>>2];J[i+28>>2]=J[g+88>>2];J[i+32>>2]=c;J[e+60>>2]=J[g+80>>2];c=J[g+76>>2];J[e+52>>2]=J[g+72>>2];J[e+56>>2]=c;c=J[j+4>>2];J[e+44>>2]=J[j>>2];J[e+48>>2]=c;c=J[g+60>>2];J[e+36>>2]=J[g+56>>2];J[e+40>>2]=c;c=J[g+52>>2];J[e+28>>2]=J[g+48>>2];J[e+32>>2]=c;f=N[i+56>>2];b=_a(f);N[i+24>>2]=b;f=Za(f);N[i+20>>2]=f;k=N[i+28>>2];m=N[i+32>>2];N[i+16>>2]=N[i+48>>2]-Q(Q(f*k)+Q(b*m));N[i+12>>2]=N[i+44>>2]-Q(Q(b*k)-Q(m*f));f=N[e+56>>2];b=Za(f);N[e+20>>2]=b;f=_a(f);N[e+24>>2]=f;k=N[e+28>>2];m=N[e+32>>2];N[e+16>>2]=N[e+48>>2]-Q(Q(b*k)+Q(f*m));N[e+12>>2]=N[e+44>>2]-Q(Q(f*k)-Q(m*b));c=9;break J}if(J[i>>2]){J[i+144>>2]=0;I[i+4>>1]=L[i+4>>1]|2}if(J[e>>2]){J[e+144>>2]=0;I[e+4>>1]=L[e+4>>1]|2}j=0;J[l+32>>2]=0;J[i+8>>2]=0;J[J[l+8>>2]>>2]=i;c=1;J[e+8>>2]=1;J[J[l+8>>2]+4>>2]=e;J[l+28>>2]=2;J[l+36>>2]=1;J[J[l+12>>2]>>2]=h;I[i+4>>1]=L[i+4>>1]|1;I[e+4>>1]=L[e+4>>1]|1;J[h+4>>2]=d&-34|1;J[g+44>>2]=e;J[g+40>>2]=i;while(1){t=J[(g+40|0)+(j<<2)>>2];K:{if(J[t>>2]!=2){break K}j=J[t+112>>2];if(!j){break K}while(1){if(J[l+28>>2]==J[l+40>>2]|J[l+36>>2]==J[l+44>>2]){break K}o=J[j+4>>2];L:{if(H[o+4|0]&1){break L}h=J[j>>2];if(!(K[t+4|0]&8|J[h>>2]!=2|K[h+4|0]&8)|(K[J[o+48>>2]+38|0]|K[J[o+52>>2]+38|0])){break L}J[g+32>>2]=J[h+60>>2];d=J[h+56>>2];J[g+24>>2]=J[h+52>>2];J[g+28>>2]=d;d=J[h+48>>2];J[g+16>>2]=J[h+44>>2];J[g+20>>2]=d;d=J[h+40>>2];J[g+8>>2]=J[h+36>>2];J[g+12>>2]=d;d=J[h+32>>2];J[g>>2]=J[h+28>>2];J[g+4>>2]=d;if(!(H[h+4|0]&1)){f=N[h+40>>2];b=N[h+60>>2];b=Q(Q(A-b)/Q(Q(1)-b));N[h+40>>2]=f+Q(b*Q(N[h+48>>2]-f));f=N[h+36>>2];N[h+36>>2]=f+Q(b*Q(N[h+44>>2]-f));N[h+60>>2]=A;f=b;b=N[h+52>>2];b=Q(Q(f*Q(N[h+56>>2]-b))+b);N[h+56>>2]=b;N[h+52>>2]=b;f=_a(b);N[h+24>>2]=f;b=Za(b);N[h+20>>2]=b;s=N[h+40>>2];F=J[h+40>>2];k=N[h+36>>2];J[h+44>>2]=J[h+36>>2];J[h+48>>2]=F;w=k;k=N[h+28>>2];m=N[h+32>>2];N[h+12>>2]=w-Q(Q(f*k)-Q(b*m));N[h+16>>2]=s-Q(Q(b*k)+Q(f*m))}vc(o,J[a+102940>>2]);d=J[o+4>>2];if(!(d&4)){d=J[g+4>>2];J[h+28>>2]=J[g>>2];J[h+32>>2]=d;J[h+60>>2]=J[g+32>>2];d=J[g+28>>2];J[h+52>>2]=J[g+24>>2];J[h+56>>2]=d;d=J[g+20>>2];J[h+44>>2]=J[g+16>>2];J[h+48>>2]=d;d=J[g+12>>2];J[h+36>>2]=J[g+8>>2];J[h+40>>2]=d;f=N[h+56>>2];b=_a(f);N[h+24>>2]=b;f=Za(f);N[h+20>>2]=f;k=N[h+28>>2];m=N[h+32>>2];N[h+16>>2]=N[h+48>>2]-Q(Q(f*k)+Q(b*m));N[h+12>>2]=N[h+44>>2]-Q(Q(b*k)-Q(m*f));break L}if(!(d&2)){d=J[g+4>>2];J[h+28>>2]=J[g>>2];J[h+32>>2]=d;J[h+60>>2]=J[g+32>>2];d=J[g+28>>2];J[h+52>>2]=J[g+24>>2];J[h+56>>2]=d;d=J[g+20>>2];J[h+44>>2]=J[g+16>>2];J[h+48>>2]=d;d=J[g+12>>2];J[h+36>>2]=J[g+8>>2];J[h+40>>2]=d;f=N[h+56>>2];b=_a(f);N[h+24>>2]=b;f=Za(f);N[h+20>>2]=f;k=N[h+28>>2];m=N[h+32>>2];N[h+16>>2]=N[h+48>>2]-Q(Q(f*k)+Q(b*m));N[h+12>>2]=N[h+44>>2]-Q(Q(b*k)-Q(m*f));break L}J[o+4>>2]=d|1;d=J[l+36>>2];J[l+36>>2]=d+1;J[J[l+12>>2]+(d<<2)>>2]=o;d=L[h+4>>1];if(d&1){break L}I[h+4>>1]=d|1;if(J[h>>2]){J[h+144>>2]=0;I[h+4>>1]=d|3}d=J[l+28>>2];J[h+8>>2]=d;J[J[l+8>>2]+(d<<2)>>2]=h;J[l+28>>2]=d+1}j=J[j+12>>2];if(j){continue}break}}j=1;d=c;c=0;if(d){continue}break}b=N[D+4>>2];J[g+16>>2]=20;J[g+8>>2]=1065353216;b=Q(b*Q(Q(1)-A));N[g>>2]=b;N[g+4>>2]=Q(1)/b;c=J[D+16>>2];h=0;H[g+20|0]=0;J[g+12>>2]=c;F=J[i+8>>2];u=J[e+8>>2];j=0;e=La-128|0;La=e;M:{if(J[l+28>>2]<=0){d=J[l+24>>2];break M}while(1){c=J[J[l+8>>2]+(j<<2)>>2];o=J[c+48>>2];i=P(j,12);d=i+J[l+20>>2]|0;J[d>>2]=J[c+44>>2];J[d+4>>2]=o;N[(i+J[l+20>>2]|0)+8>>2]=N[c+56>>2];o=J[c+68>>2];d=i+J[l+24>>2]|0;J[d>>2]=J[c+64>>2];J[d+4>>2]=o;d=J[l+24>>2];N[(i+d|0)+8>>2]=N[c+72>>2];j=j+1|0;if((j|0)>2]){continue}break}}J[e+88>>2]=J[l+12>>2];J[e+92>>2]=J[l+36>>2];J[e+104>>2]=J[l>>2];c=J[g+12>>2];J[e+72>>2]=J[g+8>>2];J[e+76>>2]=c;c=J[g+20>>2];J[e+80>>2]=J[g+16>>2];J[e+84>>2]=c;c=J[g+4>>2];J[e+64>>2]=J[g>>2];J[e+68>>2]=c;c=J[l+20>>2];J[e+100>>2]=d;J[e+96>>2]=c;o=id(e+12|0,e- -64|0);j=0;N:{if(J[g+16>>2]<=0){break N}while(1){f=Q(0);t=0;d=La+-64|0;La=d;if(J[o+48>>2]>0){while(1){i=J[o+36>>2]+P(t,88)|0;$=J[i+36>>2];_=J[i+32>>2];O:{if((_|0)!=(F|0)){A=Q(0);m=Q(0);if((u|0)!=(_|0)){break O}}A=N[i+64>>2];m=N[i+40>>2]}B=J[i+84>>2];P:{if((F|0)!=($|0)){n=Q(0);x=Q(0);if((u|0)!=($|0)){break P}}n=N[i+68>>2];x=N[i+44>>2]}c=J[o+24>>2];$=P($,12);C=c+$|0;b=N[C+8>>2];k=N[C+4>>2];r=N[C>>2];_=P(_,12);C=_+c|0;q=N[C+8>>2];p=N[C+4>>2];G=N[C>>2];if((B|0)>0){M=N[i+56>>2];w=N[i+48>>2];R=N[i+60>>2];O=N[i+52>>2];fa=Q(m+x);T=Q(-A);c=0;while(1){v=_a(q);N[d+60>>2]=v;z=Za(q);N[d+56>>2]=z;s=_a(b);N[d+44>>2]=s;U=Za(b);N[d+40>>2]=U;N[d+52>>2]=p-Q(Q(z*w)+Q(O*v));N[d+48>>2]=G-Q(Q(v*w)-Q(O*z));N[d+36>>2]=k-Q(Q(U*M)+Q(R*s));N[d+32>>2]=r-Q(Q(s*M)-Q(R*U));ed(d+8|0,i,d+48|0,d+32|0,c);v=Q(0);z=N[d+24>>2];C=z>f;s=N[d+20>>2];y=Q(s-k);W=Q(-y);X=Q(s-p);Z=Q(-X);aa=N[d+16>>2];ca=Q(aa-r);s=N[d+12>>2];U=N[d+8>>2];y=Q(Q(ca*s)-Q(U*y));E=Q(Q(n*y)*y);y=Q(aa-G);X=Q(Q(y*s)-Q(U*X));X=Q(E+Q(Q(Q(A*X)*X)+fa));if(X>Q(0)){v=Q(Q(z+Q(.004999999888241291))*Q(.75));v=v>2]}c=c+_|0;N[c+4>>2]=p;N[c>>2]=G;c=J[o+24>>2];N[(c+_|0)+8>>2]=q;c=c+$|0;N[c+4>>2]=k;N[c>>2]=r;N[($+J[o+24>>2]|0)+8>>2]=b;t=t+1|0;if((t|0)>2]){continue}break}}La=d- -64|0;if(f>=Q(-.007499999832361937)){break N}j=j+1|0;if((j|0)>2]){continue}break}}j=P(F,12);i=j+J[l+20>>2]|0;t=J[i+4>>2];c=F<<2;d=J[c+J[l+8>>2]>>2];J[d+36>>2]=J[i>>2];J[d+40>>2]=t;i=c;c=J[l+8>>2];d=J[l+20>>2];N[J[i+c>>2]+52>>2]=N[(d+j|0)+8>>2];i=d;d=P(u,12);i=i+d|0;t=J[i+4>>2];j=c;c=u<<2;j=J[j+c>>2];J[j+36>>2]=J[i>>2];J[j+40>>2]=t;N[J[c+J[l+8>>2]>>2]+52>>2]=N[(d+J[l+20>>2]|0)+8>>2];gd(o);j=0;if(J[g+12>>2]>0){while(1){fd(o);j=j+1|0;if((j|0)>2]){continue}break}}i=0;if(J[l+28>>2]>0){b=N[g>>2];while(1){c=P(i,12);j=c+J[l+24>>2]|0;n=N[j>>2];f=Q(b*n);k=Q(f*f);p=N[j+4>>2];f=Q(b*p);f=Q(k+Q(f*f));if(f>Q(4)){f=Q(Q(2)/Q(Y(f)));p=Q(p*f);n=Q(n*f)}d=c+J[l+20>>2]|0;x=N[d+8>>2];k=N[d+4>>2];m=N[d>>2];q=N[j+8>>2];f=Q(b*q);if(Q(f*f)>Q(2.4674012660980225)){q=Q(q*Q(Q(1.5707963705062866)/(f>Q(0)?f:Q(-f))))}k=Q(k+Q(b*p));N[d+4>>2]=k;m=Q(m+Q(b*n));N[d>>2]=m;f=Q(Q(b*q)+x);N[(c+J[l+20>>2]|0)+8>>2]=f;d=c+J[l+24>>2]|0;N[d+4>>2]=p;N[d>>2]=n;N[(c+J[l+24>>2]|0)+8>>2]=q;c=J[J[l+8>>2]+(i<<2)>>2];N[c+72>>2]=q;N[c+64>>2]=n;N[c+68>>2]=p;N[c+56>>2]=f;N[c+48>>2]=k;N[c+44>>2]=m;x=_a(f);N[c+24>>2]=x;f=Za(f);N[c+20>>2]=f;w=k;k=N[c+28>>2];n=N[c+32>>2];N[c+16>>2]=w-Q(Q(f*k)+Q(x*n));N[c+12>>2]=m-Q(Q(x*k)-Q(n*f));i=i+1|0;if((i|0)>2]){continue}break}}if(!(!J[l+4>>2]|J[l+36>>2]<=0)){F=J[o+40>>2];c=0;while(1){u=J[J[l+12>>2]+(c<<2)>>2];t=F+P(c,156)|0;d=J[t+148>>2];J[e+124>>2]=d;Q:{if((d|0)<=0){break Q}j=0;if((d|0)!=1){$=d&-2;i=0;while(1){_=j<<2;B=e+108|0;C=t+P(j,36)|0;N[_+B>>2]=N[C+16>>2];S=_;_=e+116|0;N[S+_>>2]=N[C+20>>2];S=B;B=j|1;C=B<<2;B=t+P(B,36)|0;N[S+C>>2]=N[B+16>>2];N[C+_>>2]=N[B+20>>2];j=j+2|0;i=i+2|0;if(($|0)!=(i|0)){continue}break}}if(!(d&1)){break Q}d=(e+108|0)+(j<<2)|0;j=t+P(j,36)|0;N[d>>2]=N[j+16>>2];N[d+8>>2]=N[j+20>>2]}d=J[l+4>>2];Na[J[J[d>>2]+20>>2]](d,u,e+108|0);c=c+1|0;if((c|0)>2]){continue}break}}hd(o);La=e+128|0;if(J[l+28>>2]>0){while(1){c=J[J[l+8>>2]+(h<<2)>>2];I[c+4>>1]=L[c+4>>1]&65534;R:{if(J[c>>2]!=2){break R}Md(c);j=J[c+112>>2];if(!j){break R}while(1){c=J[j+4>>2];J[c+4>>2]=J[c+4>>2]&-34;j=J[j+12>>2];if(j){continue}break}}h=h+1|0;if((h|0)>2]){continue}break}}fc(ja);c=0;if(!K[a+102993|0]){break J}H[a+102994|0]=0;c=8}if((c|0)!=8){continue}}break}cd(l);La=g+272|0;N[a+103024>>2]=0;b=N[D+4>>2]}if(b>Q(0)){N[a+102984>>2]=N[D+8>>2]}S:{if(!K[a+102990|0]){break S}d=J[a+102948>>2];if(!d){break S}while(1){J[d+84>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;d=J[d+96>>2];if(d){continue}break}}H[a+102989|0]=0;N[a+102996>>2]=0;La=D+32|0}function fb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=La-16|0;La=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(a>>>0<=244){g=J[6515];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+26100|0;d=J[a+26108>>2];a=J[d+8>>2];o:{if((b|0)==(a|0)){m=26060,n=ml(c)&g,J[m>>2]=n;break o}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[6517];if(k>>>0>=h>>>0){break n}if(b){a=2<>2];a=J[e+8>>2];p:{if((b|0)==(a|0)){g=ml(d)&g;J[6515]=g;break p}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+26100|0;f=J[6520];a=1<<(k>>>3);q:{if(!(a&g)){J[6515]=a|g;a=b;break q}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[6520]=c;J[6517]=d;break a}j=J[6516];if(!j){break n}c=J[(jl(0-j&j)<<2)+26364>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){r:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break r}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break m}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break n}a=a+11|0;h=a&-8;j=J[6516];if(!j){break n}f=0-h|0;g=0;s:{if(h>>>0<256){break s}g=31;if(h>>>0>16777215){break s}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+26364>>2];t:{u:{v:{if(!b){a=0;break v}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){w:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break w}d=b;f=e;if(e){break w}f=0;a=b;break u}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break t}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[6517]-h>>>0<=f>>>0){break n}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break l}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[6517];if(a>>>0>=h>>>0){d=J[6520];b=a-h|0;x:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break x}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[6517]=b;J[6520]=c;a=d+8|0;break a}i=J[6518];if(i>>>0>h>>>0){b=i-h|0;J[6518]=b;c=J[6521];a=c+h|0;J[6521]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[6633]){c=J[6635]}else{J[6636]=-1;J[6637]=-1;J[6634]=4096;J[6635]=4096;J[6633]=l+12&-16^1431655768;J[6638]=0;J[6626]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[6625];if(d){c=J[6623];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}y:{if(!(K[26504]&4)){z:{A:{B:{C:{d=J[6521];if(d){a=26508;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break C}a=J[a+8>>2];if(a){continue}break}}c=Jb(0);if((c|0)==-1){break z}g=b;d=J[6634];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break z}d=J[6625];if(d){a=J[6623];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break z}}a=Jb(g);if((c|0)!=(a|0)){break B}break y}g=f&e-i;c=Jb(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break A}a=c}if((a|0)==-1){break z}if(h+48>>>0<=g>>>0){c=a;break y}c=J[6635];c=c+(j-g|0)&0-c;if((Jb(c)|0)==-1){break z}g=c+g|0;c=a;break y}if((c|0)!=-1){break y}}J[6626]=J[6626]|4}c=Jb(b);a=Jb(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break i}g=a-c|0;if(g>>>0<=h+40>>>0){break i}}a=J[6623]+g|0;J[6623]=a;if(a>>>0>M[6624]){J[6624]=a}D:{e=J[6521];if(e){a=26508;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break D}a=J[a+8>>2];if(a){continue}break}break k}a=J[6519];if(!(a>>>0<=c>>>0?a:0)){J[6519]=c}a=0;J[6628]=g;J[6627]=c;J[6523]=-1;J[6524]=J[6633];J[6630]=0;while(1){d=a<<3;b=d+26100|0;J[d+26108>>2]=b;J[d+26112>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[6518]=b;a=a+c|0;J[6521]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[6522]=J[6637];break j}if(J[a+12>>2]&8|(c>>>0<=e>>>0|d>>>0>e>>>0)){break k}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[6521]=c;b=J[6518]+g|0;a=b-a|0;J[6518]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[6522]=J[6637];break j}d=0;break b}c=0;break c}if(M[6519]>c>>>0){J[6519]=c}b=c+g|0;a=26508;E:{F:{G:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break G}break}if(!(K[a+12|0]&8)){break F}}a=26508;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break E}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[6521]=i;a=J[6518]+a|0;J[6518]=a;J[i+4>>2]=a|1;break d}if(J[6520]==(g|0)){J[6520]=i;a=J[6517]+a|0;J[6517]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break d}f=J[g+4>>2];if((f&3)!=1){break e}e=f&-8;if(f>>>0<=255){c=J[g+12>>2];b=J[g+8>>2];if((c|0)==(b|0)){m=26060,n=J[6515]&ml(f>>>3|0),J[m>>2]=n;break f}J[b+12>>2]=c;J[c+8>>2]=b;break f}h=J[g+24>>2];c=J[g+12>>2];if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break g}b=g+20|0;f=J[b>>2];if(!f){f=J[g+16>>2];if(!f){break h}b=g+16|0}while(1){d=b;c=f;b=c+20|0;f=J[b>>2];if(f){continue}b=c+16|0;f=J[c+16>>2];if(f){continue}break}J[d>>2]=0;break g}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[6518]=b;a=a+c|0;J[6521]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[6522]=J[6637];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;J[d+4>>2]=27;a=J[6630];J[d+16>>2]=J[6629];J[d+20>>2]=a;a=J[6628];J[d+8>>2]=J[6627];J[d+12>>2]=a;J[6629]=d+8;J[6628]=g;J[6627]=c;J[6630]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break j}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+26100|0;c=J[6515];a=1<<(f>>>3);H:{if(!(c&a)){J[6515]=a|c;a=b;break H}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break j}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+26364|0;I:{d=J[6516];c=1<>2]=e;break J}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break I}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break j}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[6518];if(a>>>0<=h>>>0){break i}b=a-h|0;J[6518]=b;c=J[6521];a=c+h|0;J[6521]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[6204]=48;a=0;break a}c=0}if(!h){break f}d=J[g+28>>2];b=(d<<2)+26364|0;K:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break K}m=26064,n=J[6516]&ml(d),J[m>>2]=n;break f}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break f}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break f}J[c+20>>2]=b;J[b+24>>2]=c}a=a+e|0;g=e+g|0;f=J[g+4>>2]}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+26100|0;c=J[6515];a=1<<(a>>>3);L:{if(!(c&a)){J[6515]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break d}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+26364|0;M:{d=J[6516];c=1<>2]=i;break N}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break M}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break d}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}O:{if(!g){break O}b=J[d+28>>2];a=(b<<2)+26364|0;P:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break P}j=ml(b)&j;J[6516]=j;break O}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break O}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break O}J[c+20>>2]=a;J[a+24>>2]=c}Q:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break Q}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+26100|0;c=J[6515];a=1<<(f>>>3);R:{if(!(c&a)){J[6515]=a|c;a=b;break R}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break Q}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+26364|0;S:{c=1<>2]=e;break T}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break Q}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}U:{if(!i){break U}b=J[c+28>>2];a=(b<<2)+26364|0;V:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break V}m=26064,n=ml(b)&j,J[m>>2]=n;break U}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break U}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break U}J[d+20>>2]=a;J[a+24>>2]=d}W:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break W}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+26100|0;e=J[6520];a=1<<(k>>>3);X:{if(!(a&g)){J[6515]=a|g;a=b;break X}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[6520]=d;J[6517]=f}a=c+8|0}La=l+16|0;return a|0}function Ud(a,b,c){var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=0,o=0,p=0,q=0,r=0,s=0,t=Q(0),u=0,v=Q(0),w=0,x=0,y=0,z=Q(0),A=Q(0),B=Q(0),C=0,D=0,E=Q(0),F=Q(0),G=Q(0),M=Q(0),O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=0,V=Q(0),W=0,X=Q(0),Z=Q(0),_=Q(0),$=Q(0);d=La-176|0;La=d;J[5978]=J[5978]+1;r=c- -64|0;w=J[r+4>>2];J[d+168>>2]=J[r>>2];J[d+172>>2]=w;r=J[c+60>>2];J[d+160>>2]=J[c+56>>2];J[d+164>>2]=r;r=J[c+84>>2];J[d+152>>2]=J[c+80>>2];J[d+156>>2]=r;r=J[c+76>>2];J[d+144>>2]=J[c+72>>2];J[d+148>>2]=r;r=c;w=b;c=d+32|0;b=L[b+4>>1];J[c+108>>2]=b;a:{b:{if(!b){break b}while(1){b=c+P(o,36)|0;l=o+w|0;p=K[l+6|0];J[b+28>>2]=p;l=K[l+9|0];J[b+32>>2]=l;l=J[r+44>>2]+(l<<3)|0;e=N[l>>2];f=N[l+4>>2];m=N[d+160>>2];j=N[d+168>>2];l=J[r+16>>2]+(p<<3)|0;g=N[l>>2];h=N[l+4>>2];i=N[d+172>>2];k=Q(Q(Q(j*g)+Q(h*i))+N[d+164>>2]);N[b+4>>2]=k;g=Q(m+Q(Q(i*g)-Q(h*j)));N[b>>2]=g;h=N[d+144>>2];i=N[d+148>>2];m=N[d+152>>2];j=N[d+156>>2];J[b+24>>2]=0;i=Q(i+Q(Q(m*e)+Q(f*j)));N[b+12>>2]=i;e=Q(h+Q(Q(j*e)-Q(f*m)));N[b+8>>2]=e;N[b+20>>2]=i-k;N[b+16>>2]=e-g;o=o+1|0;b=J[c+108>>2];if((o|0)<(b|0)){continue}break}if((b|0)>1){f=N[w>>2];e=Q(0);c:{d:{switch(b-2|0){case 0:e=Q(N[c+16>>2]-N[c+52>>2]);j=Q(e*e);e=Q(N[c+20>>2]-N[c+56>>2]);e=Q(Y(Q(j+Q(e*e))));break c;case 1:break d;default:break c}}e=N[c+16>>2];m=N[c+20>>2];e=Q(Q(Q(N[c+52>>2]-e)*Q(N[c+92>>2]-m))-Q(Q(N[c+88>>2]-e)*Q(N[c+56>>2]-m)))}if(!(Q(f+f)e|e>2]=0;break b}if(b){break a}}J[c+28>>2]=0;J[c+32>>2]=0;b=J[r+44>>2];e=N[b>>2];f=N[b+4>>2];m=N[d+160>>2];j=N[d+168>>2];b=J[r+16>>2];g=N[b>>2];h=N[b+4>>2];i=N[d+172>>2];k=Q(Q(Q(j*g)+Q(h*i))+N[d+164>>2]);N[c+4>>2]=k;g=Q(m+Q(Q(i*g)-Q(h*j)));N[c>>2]=g;m=N[d+156>>2];h=N[d+144>>2];i=N[d+148>>2];j=N[d+152>>2];J[c+108>>2]=1;J[c+24>>2]=1065353216;i=Q(i+Q(Q(j*e)+Q(f*m)));N[c+12>>2]=i;e=Q(h+Q(Q(m*e)-Q(f*j)));N[c+8>>2]=e;N[c+20>>2]=i-k;N[c+16>>2]=e-g}v=N[d+156>>2];E=N[d+172>>2];m=N[3050];j=N[3049];C=J[5979];M=N[d+152>>2];V=Q(-M);F=N[d+168>>2];X=Q(-F);c=J[d+140>>2];Z=N[d+148>>2];_=N[d+144>>2];$=N[d+164>>2];O=N[d+160>>2];e:{f:{g:{h:{i:{j:{k:{l:{while(1){W=(c|0)<=0;m:{if(W){break m}b=0;if((c|0)!=1){l=c&-2;o=0;while(1){p=b<<2;n=d+20|0;s=d+32|0;q=s+P(b,36)|0;J[p+n>>2]=J[q+28>>2];x=p;p=d+8|0;J[x+p>>2]=J[q+32>>2];x=n;n=b|1;q=n<<2;n=s+P(n,36)|0;J[x+q>>2]=J[n+28>>2];J[p+q>>2]=J[n+32>>2];b=b+2|0;o=o+2|0;if((l|0)!=(o|0)){continue}break}}if(!(c&1)){break m}o=b<<2;b=(d+32|0)+P(b,36)|0;J[o+(d+20|0)>>2]=J[b+28>>2];J[o+(d+8|0)>>2]=J[b+32>>2]}n:{o:{p:{q:{r:{s:{t:{u:{b=c;switch(b-2|0){case 1:break t;case 0:break u;default:break s}}k=N[d+84>>2];g=N[d+48>>2];e=Q(k-g);t=N[d+88>>2];h=N[d+52>>2];f=Q(t-h);i=Q(Q(g*e)+Q(h*f));if(i>=Q(0)){J[d+140>>2]=1;J[d+56>>2]=1065353216;break o}k=Q(Q(k*e)+Q(t*f));if(!(k<=Q(0))){break r}J[d+140>>2]=1;J[d+92>>2]=1065353216;b=J[d+80>>2];J[d+40>>2]=J[d+76>>2];J[d+44>>2]=b;b=J[d+88>>2];J[d+48>>2]=J[d+84>>2];J[d+52>>2]=b;b=J[d+96>>2];J[d+56>>2]=J[d+92>>2];J[d+60>>2]=b;J[d- -64>>2]=J[d+100>>2];b=J[d+72>>2];J[d+32>>2]=J[d+68>>2];J[d+36>>2]=b;break o}e=N[d+120>>2];f=N[d+48>>2];z=Q(e-f);g=N[d+124>>2];h=N[d+52>>2];B=Q(g-h);i=N[d+84>>2];A=Q(i-f);k=N[d+88>>2];R=Q(k-h);G=Q(Q(f*A)+Q(h*R));t=Q(Q(f*z)+Q(h*B));v:{if(!(!(G>=Q(0))|!(t>=Q(0)))){J[d+140>>2]=1;J[d+56>>2]=1065353216;break v}S=Q(Q(A*B)-Q(z*R));T=Q(Q(Q(f*k)-Q(i*h))*S);A=Q(Q(i*A)+Q(k*R));if(!(!(T<=Q(0))|(!(A>Q(0))|!(G>2]=2;e=Q(Q(1)/Q(A-G));N[d+92>>2]=e*Q(-G);N[d+56>>2]=A*e;break v}z=Q(Q(e*z)+Q(g*B));B=Q(S*Q(Q(e*h)-Q(f*g)));if(!(!(tQ(0))))){J[d+140>>2]=2;e=Q(Q(1)/Q(z-t));N[d+128>>2]=e*Q(-t);N[d+56>>2]=z*e;J[d+100>>2]=J[d+136>>2];b=J[d+132>>2];J[d+92>>2]=J[d+128>>2];J[d+96>>2]=b;b=J[d+124>>2];J[d+84>>2]=J[d+120>>2];J[d+88>>2]=b;b=J[d+116>>2];J[d+76>>2]=J[d+112>>2];J[d+80>>2]=b;b=J[d+108>>2];J[d+68>>2]=J[d+104>>2];J[d+72>>2]=b;break v}h=Q(e-i);t=Q(g-k);f=Q(Q(i*h)+Q(k*t));if(!(!(A<=Q(0))|!(f>=Q(0)))){J[d+140>>2]=1;J[d+92>>2]=1065353216;b=J[d+72>>2];J[d+32>>2]=J[d+68>>2];J[d+36>>2]=b;b=J[d+80>>2];J[d+40>>2]=J[d+76>>2];J[d+44>>2]=b;b=J[d+88>>2];J[d+48>>2]=J[d+84>>2];J[d+52>>2]=b;b=J[d+96>>2];J[d+56>>2]=J[d+92>>2];J[d+60>>2]=b;J[d+64>>2]=J[d+100>>2];break v}w:{h=Q(Q(e*h)+Q(g*t));if(!(!(z<=Q(0))|!(h<=Q(0)))){J[d+140>>2]=1;J[d+128>>2]=1065353216;break w}e=Q(Q(Q(i*g)-Q(e*k))*S);if(!(!(fQ(0))))){J[d+140>>2]=2;e=Q(Q(1)/Q(h-f));N[d+128>>2]=e*Q(-f);N[d+92>>2]=h*e;break w}J[d+140>>2]=3;f=Q(Q(1)/Q(T+Q(e+B)));N[d+128>>2]=T*f;N[d+92>>2]=B*f;N[d+56>>2]=e*f;break v}b=J[d+108>>2];J[d+32>>2]=J[d+104>>2];J[d+36>>2]=b;b=J[d+116>>2];J[d+40>>2]=J[d+112>>2];J[d+44>>2]=b;b=J[d+124>>2];J[d+48>>2]=J[d+120>>2];J[d+52>>2]=b;b=J[d+132>>2];J[d+56>>2]=J[d+128>>2];J[d+60>>2]=b;J[d+64>>2]=J[d+136>>2]}b=J[d+140>>2]}f=j;e=m;x:{switch(b-1|0){case 0:break o;case 2:break p;case 1:break x;default:break n}}h=N[d+52>>2];f=Q(N[d+88>>2]-h);g=N[d+48>>2];e=Q(N[d+84>>2]-g);break q}J[d+140>>2]=2;t=Q(Q(1)/Q(k-i));N[d+92>>2]=t*Q(-i);N[d+56>>2]=k*t}y:{if(Q(Q(g*f)-Q(e*h))>Q(0)){f=Q(-f);break y}e=Q(-e)}b=2;break n}b=J[5980];J[5980]=(b|0)>(u|0)?b:u;b=u;break j}e=Q(-N[d+52>>2]);f=Q(-N[d+48>>2]);b=1}if(Q(Q(f*f)+Q(e*e))>2];p=0;o=0;s=J[r+20>>2];z:{if((s|0)<2){break z}h=Q(Q(E*Q(-f))-Q(F*e));i=Q(Q(F*f)-Q(E*e));g=Q(Q(N[n>>2]*h)+Q(i*N[n+4>>2]));b=1;q=s-1|0;U=q&1;if((s|0)!=2){x=q&-2;s=0;while(1){q=n+(b<<3)|0;k=Q(Q(N[q>>2]*h)+Q(i*N[q+4>>2]));q=k>g;D=b+1|0;y=n+(D<<3)|0;t=Q(Q(N[y>>2]*h)+Q(i*N[y+4>>2]));g=q?k:g;y=t>g;g=y?t:g;o=y?D:q?b:o;b=b+2|0;s=s+2|0;if((x|0)!=(s|0)){continue}break}}if(!U){break z}x=b;b=n+(b<<3)|0;o=Q(Q(N[b>>2]*h)+Q(i*N[b+4>>2]))>g?x:o}J[l+28>>2]=o;b=n+(o<<3)|0;g=N[b>>2];h=N[b+4>>2];i=Q(Q(Q(F*g)+Q(E*h))+$);N[l+4>>2]=i;k=Q(O+Q(Q(E*g)+Q(h*X)));N[l>>2]=k;n=J[r+44>>2];s=J[r+48>>2];A:{if((s|0)<2){break A}h=Q(Q(v*f)+Q(e*M));e=Q(Q(V*f)+Q(e*v));g=Q(Q(N[n>>2]*h)+Q(e*N[n+4>>2]));b=1;q=s-1|0;U=q&1;if((s|0)!=2){x=q&-2;s=0;while(1){q=n+(b<<3)|0;f=Q(Q(N[q>>2]*h)+Q(e*N[q+4>>2]));q=f>g;D=b+1|0;y=n+(D<<3)|0;t=Q(Q(N[y>>2]*h)+Q(e*N[y+4>>2]));f=q?f:g;y=t>f;g=y?t:f;p=y?D:q?b:p;b=b+2|0;s=s+2|0;if((x|0)!=(s|0)){continue}break}}if(!U){break A}x=b;b=n+(b<<3)|0;p=Q(Q(N[b>>2]*h)+Q(e*N[b+4>>2]))>g?x:p}J[l+32>>2]=p;b=n+(p<<3)|0;e=N[b>>2];f=N[b+4>>2];g=Q(Q(Q(M*e)+Q(v*f))+Z);N[l+12>>2]=g;e=Q(_+Q(Q(v*e)+Q(f*V)));N[l+8>>2]=e;N[l+20>>2]=g-i;N[l+16>>2]=e-k;b=0;C=C+1|0;J[5979]=C;u=u+1|0;B:{if(!W){while(1){l=b<<2;if(J[l+(d+20|0)>>2]==(o|0)&J[l+(d+8|0)>>2]==(p|0)){break B}b=b+1|0;if((c|0)!=(b|0)){continue}break}}c=J[d+140>>2]+1|0;J[d+140>>2]=c;b=20;if((u|0)!=20){continue}break k}break}b=J[d+140>>2]}c=b;b=u}u=J[5980];J[5980]=(b|0)<(u|0)?u:b;C:{switch(c-1|0){case 0:break h;case 2:break j;case 1:break C;default:break i}}m=N[d+72>>2];j=N[d+36>>2];e=N[d+56>>2];f=N[d+92>>2];g=Q(Q(e*N[d+32>>2])+Q(f*N[d+68>>2]));N[a>>2]=g;m=Q(Q(e*j)+Q(f*m));N[a+4>>2]=m;j=N[d+76>>2];h=N[d+44>>2];i=N[d+80>>2];k=N[d+40>>2];J[a+20>>2]=b;h=Q(Q(e*h)+Q(f*i));N[a+12>>2]=h;e=Q(Q(e*k)+Q(f*j));N[a+8>>2]=e;e=Q(g-e);j=Q(e*e);e=Q(m-h);N[a+16>>2]=Y(Q(j+Q(e*e)));e=Q(N[d+48>>2]-N[d+84>>2]);j=Q(e*e);e=Q(N[d+52>>2]-N[d+88>>2]);g=Q(Y(Q(j+Q(e*e))));u=a+16|0;b=2;c=2;break g}g=N[d+108>>2];h=N[d+72>>2];f=N[d+128>>2];i=N[d+36>>2];e=N[d+104>>2];k=N[d+32>>2];m=N[d+56>>2];v=N[d+68>>2];j=N[d+92>>2];J[a+20>>2]=b;e=Q(Q(Q(m*k)+Q(j*v))+Q(f*e));N[a+8>>2]=e;N[a>>2]=e;f=Q(Q(Q(m*i)+Q(j*h))+Q(f*g));N[a+12>>2]=f;N[a+4>>2]=f;e=Q(e-e);j=Q(e*e);e=Q(f-f);N[a+16>>2]=Y(Q(j+Q(e*e)));e=N[d+48>>2];f=N[d+52>>2];g=Q(Q(Q(N[d+84>>2]-e)*Q(N[d+124>>2]-f))-Q(Q(N[d+120>>2]-e)*Q(N[d+88>>2]-f)));u=a+16|0;b=3;c=3;break g}J[a+20>>2]=b;e=Q(N[a>>2]-N[a+8>>2]);j=Q(e*e);e=Q(N[a+4>>2]-N[a+12>>2]);N[a+16>>2]=Y(Q(j+Q(e*e)));I[w+4>>1]=c;J[w>>2]=0;u=a+16|0;if((c|0)>0){break f}break e}O=N[d+36>>2];o=J[d+36>>2];e=N[d+32>>2];J[a>>2]=J[d+32>>2];J[a+4>>2]=o;f=N[d+40>>2];u=J[d+40>>2];m=N[d+44>>2];l=J[d+44>>2];J[a+20>>2]=b;J[a+8>>2]=u;J[a+12>>2]=l;e=Q(e-f);j=Q(e*e);e=Q(O-m);N[a+16>>2]=Y(Q(j+Q(e*e)));u=a+16|0;g=Q(0);b=c;c=1}I[w+4>>1]=b;N[w>>2]=g}s=c&1;b=0;if((c|0)!=1){C=c&-2;o=w+6|0;l=w+9|0;c=0;while(1){n=d+32|0;p=n+P(b,36)|0;H[b+o|0]=J[p+28>>2];H[b+l|0]=J[p+32>>2];p=b|1;n=n+P(p,36)|0;H[o+p|0]=J[n+28>>2];H[l+p|0]=J[n+32>>2];b=b+2|0;c=c+2|0;if((C|0)!=(c|0)){continue}break}}if(!s){break e}c=b+w|0;b=(d+32|0)+P(b,36)|0;H[c+6|0]=J[b+28>>2];H[c+9|0]=J[b+32>>2]}D:{if(!K[r+88|0]){break D}e=N[u>>2];f=N[r+24>>2];m=N[r+52>>2];j=Q(f+m);if(!(!(e>j)|!(e>Q(1.1920928955078125e-7)))){N[a+16>>2]=e-j;e=N[a+8>>2];j=N[a>>2];g=Q(e-j);i=N[a+12>>2];k=N[a+4>>2];h=Q(i-k);v=Q(Y(Q(Q(g*g)+Q(h*h))));if(!(v>2]=i-Q(m*h);N[a+8>>2]=e-Q(m*g);N[a+4>>2]=k+Q(f*h);N[a>>2]=j+Q(f*g);break D}J[a+16>>2]=0;e=Q(Q(N[a+4>>2]+N[a+12>>2])*Q(.5));N[a+12>>2]=e;f=Q(Q(N[a>>2]+N[a+8>>2])*Q(.5));N[a+8>>2]=f;N[a+4>>2]=e;N[a>>2]=f}La=d+176|0}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=0,g=0,h=0,i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=0,r=0,s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0,z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0);a:{k=a;j=J[b>>2];b:{if((c|0)<=2){break b}a=J[j+4>>2];f=La-96|0;J[f+32>>2]=J[j>>2];J[f+36>>2]=a;g=1;h=(c|0)>=8?8:c;c:{if((h|0)==1){break c}o=J[j+12>>2];i=N[j+12>>2];c=J[j+8>>2];e=N[j+8>>2];a=0;d:{while(1){b=(f+32|0)+(a<<3)|0;d=Q(e-N[b>>2]);p=Q(d*d);d=Q(i-N[b+4>>2]);if(Q(p+Q(d*d))>2]=o;J[f+40>>2]=c;g=2}if((h|0)==2){break c}o=J[j+20>>2];i=N[j+20>>2];c=J[j+16>>2];e=N[j+16>>2];a=0;e:{while(1){b=(f+32|0)+(a<<3)|0;d=Q(e-N[b>>2]);p=Q(d*d);d=Q(i-N[b+4>>2]);if(Q(p+Q(d*d))>2]=o;J[a>>2]=c;g=g+1|0}if((h|0)==3){break c}e=N[j+28>>2];o=J[j+28>>2];d=N[j+24>>2];c=J[j+24>>2];f:{if((g|0)>0){a=0;while(1){b=(f+32|0)+(a<<3)|0;i=Q(d-N[b>>2]);p=Q(i*i);i=Q(e-N[b+4>>2]);if(Q(p+Q(i*i))>2]=o;J[a>>2]=c;g=g+1|0}if((h|0)==4){break c}e=N[j+36>>2];o=J[j+36>>2];d=N[j+32>>2];c=J[j+32>>2];g:{if((g|0)>0){a=0;while(1){b=(f+32|0)+(a<<3)|0;i=Q(d-N[b>>2]);p=Q(i*i);i=Q(e-N[b+4>>2]);if(Q(p+Q(i*i))>2]=o;J[a>>2]=c;g=g+1|0}if((h|0)==5){break c}e=N[j+44>>2];o=J[j+44>>2];d=N[j+40>>2];c=J[j+40>>2];h:{if((g|0)>0){a=0;while(1){b=(f+32|0)+(a<<3)|0;i=Q(d-N[b>>2]);p=Q(i*i);i=Q(e-N[b+4>>2]);if(Q(p+Q(i*i))>2]=o;J[a>>2]=c;g=g+1|0}if((h|0)==6){break c}e=N[j+52>>2];o=J[j+52>>2];d=N[j+48>>2];c=J[j+48>>2];i:{if((g|0)>0){a=0;while(1){b=(f+32|0)+(a<<3)|0;i=Q(d-N[b>>2]);p=Q(i*i);i=Q(e-N[b+4>>2]);if(Q(p+Q(i*i))>2]=o;J[a>>2]=c;g=g+1|0}if((h|0)==7){break c}e=N[j+60>>2];o=J[j+60>>2];d=N[j+56>>2];c=J[j+56>>2];if((g|0)>0){a=0;while(1){b=(f+32|0)+(a<<3)|0;i=Q(d-N[b>>2]);p=Q(i*i);i=Q(e-N[b+4>>2]);if(Q(p+Q(i*i))>2]=o;J[a>>2]=c;g=g+1|0}if((g|0)<3){break b}d=N[f+32>>2];e=N[f+40>>2];j:{if(!(d>2]>2])|d!=e){break j}}d=e;h=1}k:{if((g|0)==2){break k}e=N[f+48>>2];if(!(!(e>d)&(!(N[f+52>>2]>2])|d!=e))){h=2;d=e}if((g|0)==3){break k}e=N[f+56>>2];if(!(!(e>d)&(!(N[f+60>>2]>2])|d!=e))){h=3;d=e}if((g|0)==4){break k}e=N[f+64>>2];if(!(!(e>d)&(!(N[f+68>>2]>2])|d!=e))){h=4;d=e}if((g|0)==5){break k}e=N[f+72>>2];if(!(!(e>d)&(!(N[f+76>>2]>2])|d!=e))){h=5;d=e}if((g|0)==6){break k}e=N[f+80>>2];if(!(!(e>d)&(!(N[f+84>>2]>2])|d!=e))){h=6;d=e}if((g|0)==7){break k}e=N[f+88>>2];if(!(e>d)&(!(N[f+92>>2]>2])|d!=e)){break k}h=7}l:{m:{n:{if((g|0)>=2){D=N[f+92>>2];E=N[f+84>>2];F=N[f+76>>2];G=N[f+68>>2];H=N[f+60>>2];C=N[f+52>>2];b=0;t=N[f+88>>2];u=N[f+80>>2];v=N[f+72>>2];w=N[f+64>>2];x=N[f+56>>2];z=N[f+48>>2];A=N[f+44>>2];B=N[f+40>>2];p=N[f+36>>2];i=N[f+32>>2];y=(g|0)==5;s=(g|0)==6;j=(g|0)==7;a=h;while(1){o=b;c=a;J[(b<<2)+f>>2]=a;q=(f+32|0)+(a<<3)|0;r=q|4;a=1;o:{if(!c){break o}e=N[q>>2];l=Q(i-e);d=N[r>>2];m=Q(A-d);n=Q(B-e);e=Q(p-d);d=Q(Q(l*m)-Q(n*e));a=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break o}a=1}p:{if((g|0)==2){break p}b=2;q:{if((a|0)==(c|0)){break q}b=a;a=f+32|a<<3;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(C-d);n=Q(z-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));b=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break q}b=2}if((g|0)==3){a=b;break p}a=3;r:{if((b|0)==(c|0)){break r}a=(f+32|0)+(b<<3)|0;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(H-d);n=Q(x-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));a=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break r}a=3}if((g|0)==4){break p}b=4;s:{if((a|0)==(c|0)){break s}b=a;a=(f+32|0)+(a<<3)|0;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(G-d);n=Q(w-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));b=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break s}b=4}if(y){a=b;break p}a=5;t:{if((b|0)==(c|0)){break t}a=(f+32|0)+(b<<3)|0;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(F-d);n=Q(v-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));a=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break t}a=5}if(s){break p}b=6;u:{if((a|0)==(c|0)){break u}b=a;a=(f+32|0)+(a<<3)|0;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(E-d);n=Q(u-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));b=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break u}b=6}if(j){a=b;break p}a=7;if((b|0)==(c|0)){break p}a=(f+32|0)+(b<<3)|0;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(D-d);n=Q(t-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));a=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break p}a=7}b=o+1|0;if((a|0)!=(h|0)){continue}break}if(o>>>0>1){break n}break m}if(!h){break m}a=1;while(1){J[(a<<2)+f>>2]=0;a=a+1|0;continue}}J[k+148>>2]=b;b=o+1|0;r=b&3;g=0;a=0;if((o|0)!=2){j=b&-4;q=k+20|0;y=0;while(1){s=f+32|0;c=s+(J[(a<<2)+f>>2]<<3)|0;b=J[c+4>>2];h=q+(a<<3)|0;J[h>>2]=J[c>>2];J[h+4>>2]=b;b=a|1;h=q+(b<<3)|0;c=s+(J[(b<<2)+f>>2]<<3)|0;b=J[c+4>>2];J[h>>2]=J[c>>2];J[h+4>>2]=b;b=a|2;h=q+(b<<3)|0;c=s+(J[(b<<2)+f>>2]<<3)|0;b=J[c+4>>2];J[h>>2]=J[c>>2];J[h+4>>2]=b;b=a|3;h=q+(b<<3)|0;c=(J[(b<<2)+f>>2]<<3)+s|0;b=J[c+4>>2];J[h>>2]=J[c>>2];J[h+4>>2]=b;a=a+4|0;y=y+4|0;if((j|0)!=(y|0)){continue}break}}if(r){while(1){c=(f+32|0)+(J[(a<<2)+f>>2]<<3)|0;b=J[c+4>>2];h=(a<<3)+k|0;J[h+20>>2]=J[c>>2];J[h+24>>2]=b;a=a+1|0;g=g+1|0;if((r|0)!=(g|0)){continue}break}}s=k+20|0;a=0;while(1){j=a<<3;h=j+s|0;e=N[h>>2];b=a+1|0;c=s+((a>>>0>>0?b:0)<<3)|0;d=N[c>>2];j=j+k|0;i=Q(N[c+4>>2]-N[h+4>>2]);N[j+84>>2]=i;d=Q(d-e);e=Q(-d);N[j+88>>2]=e;d=Q(Y(Q(Q(i*i)+Q(d*d))));if(!(d>2]=i*d;N[j+88>>2]=d*e}c=(a|0)==(o|0);a=b;if(!c){continue}break}h=k+20|0;t=N[k+24>>2];i=Q(t-t);u=N[k+20>>2];e=Q(u-u);a=0;v=Q(0);w=Q(0);x=Q(0);while(1){b=a+1|0;c=h+(a<<3)|0;z=Q(N[c+4>>2]-t);A=Q(N[c>>2]-u);p=e;d=i;if(a>>>0>>0){c=h+(b<<3)|0;d=Q(N[c+4>>2]-t);p=Q(N[c>>2]-u)}B=Q(Q(Q(Q(A-e)*Q(d-i))-Q(Q(p-e)*Q(z-i)))*Q(.5));x=Q(x+B);C=Q(Q(i+z)+d);d=Q(B*Q(.3333333432674408));v=Q(v+Q(C*d));w=Q(w+Q(Q(Q(e+A)+p)*d));c=(a|0)!=(o|0);a=b;if(c){continue}break}d=Q(Q(1)/x);p=Q(t+Q(d*v));e=Q(u+Q(d*w));break l}a=k;J[a+84>>2]=0;J[a+88>>2]=-1082130432;J[a+20>>2]=-1082130432;J[a+24>>2]=-1082130432;J[a+148>>2]=4;J[a+108>>2]=-1082130432;J[a+112>>2]=0;J[a+100>>2]=0;J[a+104>>2]=1065353216;J[a+92>>2]=1065353216;J[a+96>>2]=0;J[a+44>>2]=-1082130432;J[a+48>>2]=1065353216;J[a+36>>2]=1065353216;J[a+40>>2]=1065353216;J[a+28>>2]=1065353216;J[a+32>>2]=-1082130432;p=Q(0);e=Q(0)}N[k+12>>2]=e;N[k+16>>2]=p;break a}J[k+84>>2]=0;J[k+88>>2]=-1082130432;J[k+20>>2]=-1082130432;J[k+24>>2]=-1082130432;J[k+148>>2]=4;J[k+12>>2]=0;J[k+16>>2]=0;J[k+108>>2]=-1082130432;J[k+112>>2]=0;J[k+100>>2]=0;J[k+104>>2]=1065353216;J[k+92>>2]=1065353216;J[k+96>>2]=0;J[k+44>>2]=-1082130432;J[k+48>>2]=1065353216;J[k+36>>2]=1065353216;J[k+40>>2]=1065353216;J[k+28>>2]=1065353216;J[k+32>>2]=-1082130432}}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),w=Q(0),x=0,y=Q(0);a:{if(K[a+102989|0]){break a}b:{c:{switch(J[b>>2]-1|0){case 2:c=xb(eb(a,176),b);J[c>>2]=12456;d=J[b+24>>2];J[c+80>>2]=J[b+20>>2];J[c+84>>2]=d;d=J[b+32>>2];J[c+88>>2]=J[b+28>>2];J[c+92>>2]=d;N[c+104>>2]=N[b+36>>2];N[c+68>>2]=N[b+40>>2];N[c+72>>2]=N[b+44>>2];J[c+96>>2]=0;J[c+100>>2]=0;J[c+76>>2]=0;break b;case 4:c=xb(eb(a,168),b);J[c>>2]=13040;j=N[b+24>>2];f=J[b+24>>2];g=N[b+20>>2];J[c+76>>2]=J[b+20>>2];J[c+80>>2]=f;d=J[c+52>>2];h=N[d+24>>2];i=Q(j-N[d+16>>2]);l=N[d+20>>2];g=Q(g-N[d+12>>2]);N[c+72>>2]=Q(h*i)-Q(l*g);N[c+68>>2]=Q(h*g)+Q(i*l);N[c+104>>2]=N[b+28>>2];J[c+96>>2]=0;J[c+100>>2]=0;N[c+84>>2]=N[b+32>>2];N[c+88>>2]=N[b+36>>2];J[c+108>>2]=0;J[c+92>>2]=0;break b;case 1:c=xb(eb(a,240),b);J[c>>2]=13236;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+32>>2];J[c+76>>2]=J[b+28>>2];J[c+80>>2]=d;h=N[b+40>>2];f=J[b+40>>2];g=N[b+36>>2];d=J[b+36>>2];J[c+84>>2]=d;J[c+88>>2]=f;i=Q(Y(Q(Q(g*g)+Q(h*h))));if(!(i>2]=h;g=Q(i*g);N[c+84>>2]=g;d=(C(g),v(2))}J[c+96>>2]=d;N[c+92>>2]=-h;g=N[b+44>>2];J[c+236>>2]=0;N[c+100>>2]=g;J[c+104>>2]=0;J[c+108>>2]=0;J[c+112>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;N[c+124>>2]=N[b+52>>2];N[c+128>>2]=N[b+56>>2];N[c+132>>2]=N[b+64>>2];N[c+136>>2]=N[b+68>>2];H[c+140|0]=K[b+48|0];d=K[b+60|0];J[c+232>>2]=0;H[c+141|0]=d;J[c+184>>2]=0;J[c+188>>2]=0;J[c+192>>2]=0;J[c+196>>2]=0;break b;case 0:c=xb(eb(a,212),b);J[c>>2]=13408;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+32>>2];J[c+76>>2]=J[b+28>>2];J[c+80>>2]=d;g=N[b+36>>2];J[c+208>>2]=0;N[c+120>>2]=g;J[c+84>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+96>>2]=0;J[c+100>>2]=0;N[c+124>>2]=N[b+44>>2];N[c+128>>2]=N[b+48>>2];N[c+108>>2]=N[b+60>>2];N[c+112>>2]=N[b+56>>2];H[c+116|0]=K[b+40|0];d=K[b+52|0];J[c+204>>2]=0;H[c+104|0]=d;break b;case 3:c=xb(eb(a,196),b);J[c>>2]=13324;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+32>>2];J[c+76>>2]=J[b+28>>2];J[c+80>>2]=d;d=J[b+40>>2];J[c+92>>2]=J[b+36>>2];J[c+96>>2]=d;d=J[b+48>>2];J[c+100>>2]=J[b+44>>2];J[c+104>>2]=d;h=N[b+52>>2];N[c+84>>2]=h;i=N[b+56>>2];N[c+88>>2]=i;g=N[b+60>>2];J[c+116>>2]=0;N[c+112>>2]=g;N[c+108>>2]=h+Q(g*i);break b;case 5:c=xb(eb(a,276),b);J[c>>2]=12664;e=J[b+20>>2];J[c+68>>2]=e;p=J[b+24>>2];J[c+72>>2]=p;k=J[e+4>>2];J[c+76>>2]=k;x=J[p+4>>2];J[c+80>>2]=x;d=J[e+48>>2];J[c+84>>2]=d;f=J[e+52>>2];J[c+48>>2]=f;d:{if((k|0)==1){h=N[d+56>>2];i=N[f+56>>2];d=J[e+72>>2];J[c+108>>2]=J[e+68>>2];J[c+112>>2]=d;d=J[e+80>>2];J[c+92>>2]=J[e+76>>2];J[c+96>>2]=d;g=N[e+120>>2];J[c+124>>2]=0;J[c+128>>2]=0;N[c+140>>2]=g;g=Q(Q(i-h)-g);break d}h=N[d+20>>2];i=N[d+24>>2];l=N[f+20>>2];o=N[f+24>>2];q=N[f+16>>2];r=N[d+16>>2];n=N[f+12>>2];j=N[d+12>>2];s=N[e+72>>2];f=J[e+72>>2];m=N[e+68>>2];J[c+108>>2]=J[e+68>>2];J[c+112>>2]=f;t=N[e+80>>2];d=J[e+80>>2];g=N[e+76>>2];k=J[e+76>>2];J[c+92>>2]=k;J[c+96>>2]=d;N[c+140>>2]=N[e+100>>2];u=N[e+84>>2];k=J[e+84>>2];w=N[e+88>>2];e=J[e+88>>2];J[c+124>>2]=k;J[c+128>>2]=e;j=Q(n-j);n=t;j=Q(j+Q(Q(o*g)-Q(l*n)));g=Q(Q(q-r)+Q(Q(l*g)+Q(o*n)));g=Q(Q(Q(Q(Q(i*j)+Q(h*g))-m)*u)+Q(Q(Q(Q(i*g)-Q(h*j))-s)*w))}d=J[p+48>>2];J[c+88>>2]=d;f=J[p+52>>2];J[c+52>>2]=f;e:{if((x|0)==1){i=N[d+56>>2];l=N[f+56>>2];d=J[b+24>>2];f=J[d+72>>2];J[c+116>>2]=J[d+68>>2];J[c+120>>2]=f;f=J[d+80>>2];J[c+100>>2]=J[d+76>>2];J[c+104>>2]=f;h=N[d+120>>2];J[c+132>>2]=0;J[c+136>>2]=0;N[c+144>>2]=h;h=Q(Q(l-i)-h);break e}i=N[d+20>>2];l=N[d+24>>2];o=N[f+20>>2];q=N[f+24>>2];r=N[f+16>>2];n=N[d+16>>2];j=N[f+12>>2];m=N[d+12>>2];e=J[b+24>>2];d=e;u=N[d+68>>2];d=J[d+68>>2];s=N[e+72>>2];f=J[e+72>>2];J[c+116>>2]=d;J[c+120>>2]=f;t=N[e+80>>2];d=J[e+80>>2];h=N[e+76>>2];k=J[e+76>>2];J[c+100>>2]=k;J[c+104>>2]=d;N[c+144>>2]=N[e+100>>2];w=N[e+84>>2];k=J[e+84>>2];y=N[e+88>>2];e=J[e+88>>2];J[c+132>>2]=k;J[c+136>>2]=e;m=Q(j-m);j=t;m=Q(m+Q(Q(q*h)-Q(o*j)));h=Q(Q(r-n)+Q(Q(o*h)+Q(q*j)));h=Q(Q(Q(Q(Q(l*m)+Q(i*h))-u)*w)+Q(Q(Q(Q(l*h)-Q(i*m))-s)*y))}i=N[b+28>>2];J[c+156>>2]=0;N[c+152>>2]=i;N[c+148>>2]=Q(i*h)+g;break b;case 6:c=xb(eb(a,248),b);J[c>>2]=13664;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+32>>2];J[c+76>>2]=J[b+28>>2];J[c+80>>2]=d;f=J[b+36>>2];d=J[b+40>>2];J[c+100>>2]=0;J[c+104>>2]=0;J[c+96>>2]=f;J[c+84>>2]=f;J[c+88>>2]=d;J[c+108>>2]=0;J[c+112>>2]=0;J[c+116>>2]=0;J[c+224>>2]=0;J[c+228>>2]=0;J[c+232>>2]=0;J[c+236>>2]=0;J[c+92>>2]=d^-2147483648;N[c+124>>2]=N[b+48>>2];N[c+128>>2]=N[b+52>>2];H[c+140|0]=K[b+44|0];N[c+132>>2]=N[b+60>>2];N[c+136>>2]=N[b+64>>2];d=K[b+56|0];J[c+240>>2]=0;J[c+244>>2]=0;H[c+141|0]=d;J[c+192>>2]=0;J[c+196>>2]=0;J[c+200>>2]=0;J[c+204>>2]=0;N[c+144>>2]=N[b+68>>2];N[c+148>>2]=N[b+72>>2];break b;case 7:c=xb(eb(a,208),b);J[c>>2]=13580;d=J[b+24>>2];J[c+80>>2]=J[b+20>>2];J[c+84>>2]=d;d=J[b+32>>2];J[c+88>>2]=J[b+28>>2];J[c+92>>2]=d;N[c+96>>2]=N[b+36>>2];N[c+68>>2]=N[b+40>>2];g=N[b+44>>2];J[c+112>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;N[c+72>>2]=g;break b;case 8:c=xb(eb(a,180),b);J[c>>2]=12748;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+28>>2];f=J[b+32>>2];J[c+92>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+76>>2]=d;J[c+80>>2]=f;N[c+96>>2]=N[b+36>>2];N[c+100>>2]=N[b+40>>2];break b;case 9:c=xb(eb(a,164),b);J[c>>2]=13496;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+32>>2];J[c+76>>2]=J[b+28>>2];J[c+80>>2]=d;g=N[b+36>>2];J[c+160>>2]=0;N[c+84>>2]=g;J[c+88>>2]=0;J[c+92>>2]=0;break b;case 10:break c;default:break b}}c=xb(eb(a,192),b);J[c>>2]=12956;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;g=N[b+28>>2];J[c+88>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;N[c+76>>2]=g;N[c+92>>2]=N[b+32>>2];N[c+96>>2]=N[b+36>>2];N[c+100>>2]=N[b+40>>2]}J[c+8>>2]=0;d=J[a+102952>>2];J[c+12>>2]=d;if(d){J[d+8>>2]=c}J[a+102952>>2]=c;J[a+102960>>2]=J[a+102960>>2]+1;J[c+24>>2]=0;J[c+20>>2]=c;a=J[c+52>>2];J[c+16>>2]=a;d=J[c+48>>2];f=J[d+108>>2];J[c+28>>2]=f;k=c+16|0;if(f){J[f+8>>2]=k}J[d+108>>2]=k;J[c+40>>2]=0;J[c+32>>2]=d;J[c+36>>2]=c;d=J[a+108>>2];J[c+44>>2]=d;f=c+32|0;if(d){J[d+8>>2]=f}J[a+108>>2]=f;if(K[b+16|0]){break a}a=J[J[b+12>>2]+112>>2];if(!a){break a}b=J[b+8>>2];while(1){if((b|0)==J[a>>2]){d=J[a+4>>2];J[d+4>>2]=J[d+4>>2]|8}a=J[a+12>>2];if(a){continue}break}}return c|0}function Hd(a,b,c,d,e){var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=0,t=0,u=Q(0),v=Q(0),w=Q(0),y=Q(0),z=Q(0),A=0,B=Q(0),C=0,E=Q(0),F=Q(0),G=0,L=0,M=Q(0),O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=0,V=0,W=0,X=0,Z=Q(0),_=Q(0),$=0;f=La-272|0;La=f;J[a+60>>2]=0;g=N[c+12>>2];i=N[e+12>>2];l=Q(g*i);o=N[e+8>>2];h=N[c+8>>2];y=Q(o*h);z=Q(N[e+4>>2]-N[c+4>>2]);j=Q(g*z);n=Q(N[e>>2]-N[c>>2]);q=Q(h*n);U=J[b+20>>2];V=J[b+12>>2];W=J[b+24>>2];X=J[b+16>>2];M=N[b+20>>2];u=N[b+12>>2];r=Q(M-u);O=N[b+24>>2];v=N[b+16>>2];k=Q(O-v);w=Q(Y(Q(Q(r*r)+Q(k*k))));if(!(w>2];h=N[d+16>>2];if(Q(Q(k*Q(Q(S+Q(Q(w*g)-Q(h*F)))-u))-Q(Q(Q(R+Q(Q(F*g)+Q(w*h)))-v)*r))>2];J[f+268>>2]=m;b:{c:{d:{e:{if((m|0)>0){while(1){e=p<<3;c=e+(f+140|0)|0;e=d+e|0;g=N[e+20>>2];h=N[e+24>>2];N[c+4>>2]=R+Q(Q(F*g)+Q(w*h));N[c>>2]=S+Q(Q(w*g)+Q(h*T));g=N[e+84>>2];h=N[e+88>>2];N[c+68>>2]=Q(F*g)+Q(w*h);N[c- -64>>2]=Q(w*g)+Q(h*T);p=p+1|0;if((m|0)!=(p|0)){continue}break}E=Q(N[d+8>>2]+N[b+8>>2]);y=Q(-k);m=J[f+268>>2];if((m|0)<=0){break e}p=m&1;s=m-1|0;f:{if(!s){j=Q(34028234663852886e22);e=0;break f}A=m&-2;j=Q(34028234663852886e22);e=0;c=0;while(1){G=f+140|0;t=e<<3;L=G+(t|8)|0;g=Q(Q(k*Q(N[L>>2]-u))+Q(Q(N[L+4>>2]-v)*z));t=t+G|0;h=Q(Q(k*Q(N[t>>2]-u))+Q(Q(N[t+4>>2]-v)*z));h=h>2]-u))+Q(Q(N[c+4>>2]-v)*z));j=gQ(-34028234663852886e22)){break d}A=-1;j=Q(-34028234663852886e22);h=Q(0);g=Q(0);break c}E=Q(N[d+8>>2]+N[b+8>>2]);y=Q(-k)}j=Q(34028234663852886e22);if(E>2]-u))+Q(r*Q(N[L+4>>2]-v)));t=t+G|0;o=Q(Q(y*Q(N[t>>2]-u))+Q(r*Q(N[t+4>>2]-v)));i=i>o?o:i;i=i>l?l:i;e=e+2|0;c=c+2|0;if((s|0)!=(c|0)){continue}break}}if(p){c=(f+140|0)+(e<<3)|0;l=Q(Q(y*Q(N[c>>2]-u))+Q(r*Q(N[c+4>>2]-v)));i=i>l?l:i}if(i>j){A=1;j=i;h=y;g=r}if(j>E){break a}i=Q(-34028234663852886e22);p=-1;e=0;l=Q(0);o=Q(0);c=0;while(1){s=(f+140|0)+(c<<3)|0;n=Q(-N[s- -64>>2]);q=N[s>>2];Z=N[s+4>>2];B=N[s+68>>2];_=Q(Q(n*Q(q-u))-Q(Q(Z-v)*B));q=Q(Q(n*Q(q-M))-Q(Q(Z-O)*B));q=q>_?_:q;if(q>i){o=Q(-B);l=n;p=c;i=q;e=2}c=c+1|0;if((m|0)!=(c|0)){continue}break}}if(i>E){break a}if(!(Q(Q(Q(j-E)*Q(.9800000190734863))+Q(.0010000000474974513))>2]);i=Q(v-N[b+32>>2]);n=Q(Y(Q(Q(j*j)+Q(i*i))));if(!(n>2]-M);q=Q(N[b+40>>2]-O);B=Q(Y(Q(Q(n*n)+Q(q*q))));if(!(B=Q(0))){break j}if(!(Q(Q(l*Q(-j))-Q(i*o))>Q(.10000000149011612))){break k}break a}if(!(Q(Q(r*q)+Q(n*y))>=Q(0))){break j}if(Q(Q(q*o)+Q(l*n))>Q(.10000000149011612)){break a}}if((e|0)==1){break i}J[a+56>>2]=2;A=0;H[f+132|0]=0;J[f+128>>2]=X;I[f+134>>1]=256;H[f+133|0]=p;J[f+124>>2]=V;I[f+122>>1]=256;H[f+121|0]=p;J[f+116>>2]=W;J[f+112>>2]=U;J[f+56>>2]=p;s=f+140|0;c=s+(p<<3)|0;u=N[c>>2];b=J[c>>2];v=N[c+4>>2];e=J[c+4>>2];J[f+64>>2]=b;J[f+68>>2]=e;H[f+120|0]=1;b=p+1|0;b=(b|0)<(m|0)?b:0;J[f+60>>2]=b;m=s+(b<<3)|0;b=m;M=N[b>>2];b=J[b>>2];O=N[m+4>>2];m=J[m+4>>2];J[f+72>>2]=b;J[f+76>>2]=m;c=c- -64|0;k=N[c>>2];b=J[c>>2];z=N[c+4>>2];c=J[c+4>>2];J[f+104>>2]=b;y=Q(-k);N[f+92>>2]=y;J[f+80>>2]=b;J[f+84>>2]=c;J[f+88>>2]=c;r=Q(-z);N[f+100>>2]=r;break h}l=h;o=g}A=1;J[a+56>>2]=1;p=0;c=0;l:{if((m|0)<2){break l}j=Q(Q(l*N[f+204>>2])+Q(o*N[f+208>>2]));e=1;b=m-1|0;G=b&1;if((m|0)!=2){L=b&-2;s=f+204|0;b=0;while(1){C=s+(e<<3)|0;g=Q(Q(l*N[C>>2])+Q(o*N[C+4>>2]));C=g>2])+Q(o*N[t+4>>2]));g=C?g:j;t=h>2])+Q(o*N[b+68>>2]))>2]=k;N[f+92>>2]=y;N[f+84>>2]=o;J[f+76>>2]=W;J[f+68>>2]=X;I[f+122>>1]=1;H[f+120|0]=0;I[f+134>>1]=1;N[f+100>>2]=r;N[f+88>>2]=z;N[f+80>>2]=l;J[f+72>>2]=U;J[f+64>>2]=V;J[f+56>>2]=0;J[f+60>>2]=1;H[f+121|0]=c;b=f+140|0;e=b+(c<<3)|0;s=J[e+4>>2];J[f+112>>2]=J[e>>2];J[f+116>>2]=s;c=c+1|0;c=(c|0)<(m|0)?c:0;H[f+133|0]=c;b=b+(c<<3)|0;c=J[b+4>>2];J[f+124>>2]=J[b>>2];J[f+128>>2]=c}N[f+108>>2]=Q(r*M)+Q(k*O);g=Q(Q(z*u)+Q(y*v));N[f+96>>2]=g;if((hc(f+32|0,f+112|0,f+88|0,g,p)|0)<2){break a}if((hc(f,f+32|0,f+100|0,N[f+108>>2],J[f+60>>2])|0)<2){break a}m:{if(A){u=N[f+84>>2];c=J[f+84>>2];g=N[f+80>>2];J[a+40>>2]=J[f+80>>2];J[a+44>>2]=c;b=J[f+64>>2];c=J[f+68>>2];v=(x(2,c),D());i=N[f+64>>2];break m}c=(J[f+56>>2]<<3)+d|0;b=J[c+88>>2];J[a+40>>2]=J[c+84>>2];J[a+44>>2]=b;b=J[c+20>>2];c=J[c+24>>2];u=N[f+84>>2];v=N[f+68>>2];g=N[f+80>>2];i=N[f+64>>2]}J[a+48>>2]=b;J[a+52>>2]=c;e=0;h=N[f>>2];k=N[f+4>>2];if(Q(Q(g*Q(h-i))+Q(Q(k-v)*u))<=E){n:{if(A){h=Q(h-S);k=Q(k-R);N[a+4>>2]=Q(T*h)+Q(w*k);N[a>>2]=Q(w*h)+Q(F*k);J[a+16>>2]=J[f+8>>2];break n}b=J[f+4>>2];J[a>>2]=J[f>>2];J[a+4>>2]=b;H[a+18|0]=K[f+11|0];H[a+19|0]=K[f+10|0];H[a+16|0]=K[f+9|0];H[a+17|0]=K[f+8|0]}e=1}b=a;l=g;g=N[f+12>>2];h=N[f+16>>2];if(Q(Q(l*Q(g-i))+Q(Q(h-v)*u))<=E){a=P(e,20)+a|0;o:{if(!A){c=J[f+16>>2];J[a>>2]=J[f+12>>2];J[a+4>>2]=c;H[a+18|0]=K[f+23|0];H[a+19|0]=K[f+22|0];H[a+16|0]=K[f+21|0];H[a+17|0]=K[f+20|0];break o}g=Q(g-S);h=Q(h-R);N[a+4>>2]=Q(T*g)+Q(w*h);N[a>>2]=Q(w*g)+Q(F*h);J[a+16>>2]=J[f+20>>2]}e=e+1|0}J[b+60>>2]=e}La=f+272|0}function Qc(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,B=0,C=0;m=La-560|0;La=m;J[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;y=1326;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;y=1329;break a}s=e&1;y=s?1332:1327;z=!s}b:{if((g&2146435072)==2146435072){g=s+3|0;kb(a,32,c,g,e&-65537);jb(a,y,s);d=f&32;jb(a,b!=b?d?3187:5561:d?3689:5567,3);kb(a,32,c,g,e^8192);n=(c|0)<(g|0)?g:c;break b}u=m+16|0;c:{d:{e:{b=Vc(b,m+44|0);b=b+b;if(b!=0){g=J[m+44>>2];J[m+44>>2]=g-1;w=f|32;if((w|0)!=97){break e}break c}w=f|32;if((w|0)==97){break c}k=J[m+44>>2];l=(d|0)<0?6:d;break d}k=g-29|0;J[m+44>>2]=k;b=b*268435456;l=(d|0)<0?6:d}q=(m+48|0)+((k|0)>=0?288:0)|0;h=q;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}J[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;i=q;break f}i=q;d=k;while(1){o=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){j=J[g>>2];x=d;d=o&31;if((o&63)>>>0>=32){n=j<>>32-d;d=j<>>0>x>>>0?j+1|0:j,1e9);B=g,C=x-kl(d,Ma,1e9,0)|0,J[B>>2]=C;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;J[i>>2]=d}while(1){g=h;if(i>>>0>>0){h=g-4|0;if(!J[h>>2]){continue}}break}d=J[m+44>>2]-o|0;J[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((l+25>>>0)/9|0)+1|0;p=(w|0)==102;while(1){d=0-d|0;n=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=J[i>>2];break h}o=1e9>>>n|0;j=-1<>2];J[h>>2]=x+(d>>>n|0);d=P(o,d&j);h=h+4|0;if(h>>>0>>0){continue}break}h=J[i>>2];if(!d){break h}J[g>>2]=d;g=g+4|0}d=n+J[m+44>>2]|0;J[m+44>>2]=d;i=(!h<<2)+i|0;h=p?q:i;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break i}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=(l-((w|0)!=102?d:0)|0)-((w|0)==103&(l|0)!=0)|0;if((h|0)<(P(g-q>>2,9)-9|0)){o=h+9216|0;j=(o|0)/9|0;k=((((k|0)<0?4:292)+m|0)+(j<<2)|0)-4048|0;h=10;n=o-P(j,9)|0;if((n|0)<=7){while(1){h=P(h,10);n=n+1|0;if((n|0)!=8){continue}break}}o=J[k>>2];t=(o>>>0)/(h>>>0)|0;p=o-P(h,t)|0;j=k+4|0;j:{if(!p&(j|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(H[k-4|0]&1)|((h|0)!=1e9|i>>>0>=k>>>0)){break k}}b=9007199254740994}r=(g|0)==(j|0)?1:1.5;j=h>>>1|0;r=j>>>0>p>>>0?.5:(j|0)==(p|0)?r:1.5;if(!(K[y|0]!=45|z)){r=-r;b=-b}j=o-p|0;J[k>>2]=j;if(b+r==b){break j}d=h+j|0;J[k>>2]=d;if(d>>>0>=1e9){while(1){J[k>>2]=0;k=k-4|0;if(k>>>0>>0){i=i-4|0;J[i>>2]=0}d=J[k>>2]+1|0;J[k>>2]=d;if(d>>>0>999999999){continue}break}}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break j}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){j=g;o=g>>>0<=i>>>0;if(!o){g=j-4|0;if(!J[g>>2]){continue}}break}l:{if((w|0)!=103){k=e&8;break l}h=l?l:1;g=(h|0)>(d|0)&(d|0)>-5;l=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(o){break m}k=J[j-4>>2];if(!k){break m}n=10;g=0;if((k>>>0)%10|0){break m}while(1){h=g;g=g+1|0;n=P(n,10);if(!((k>>>0)%(n>>>0)|0)){continue}break}g=h^-1}h=P(j-q>>2,9);if((f&-33)==70){k=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g;break l}k=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g}n=-1;o=k|l;if(((o?2147483645:2147483646)|0)<(l|0)){break b}p=(((o|0)!=0)+l|0)+1|0;h=f&-33;n:{if((h|0)==70){if((p^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=Kb((g^d)-g|0,0,u);if((u-g|0)<=1){while(1){g=g-1|0;H[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;H[t|0]=f;H[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(p^2147483647)){break b}}d=g+p|0;if((d|0)>(s^2147483647)){break b}p=d+s|0;kb(a,32,c,p,e);jb(a,y,s);kb(a,48,c,p,e^65536);o:{p:{q:{if((h|0)==70){f=m+16|0;d=f|8;k=f|9;h=i>>>0>q>>>0?q:i;i=h;while(1){g=Kb(J[i>>2],0,k);r:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break r}if((g|0)!=(k|0)){break r}H[m+24|0]=48;g=d}jb(a,g,k-g|0);i=i+4|0;if(q>>>0>=i>>>0){continue}break}if(o){jb(a,6494,1)}if((l|0)<=0|i>>>0>=j>>>0){break q}while(1){g=Kb(J[i>>2],0,k);if(g>>>0>m+16>>>0){while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}}jb(a,g,(l|0)>=9?9:l);g=l-9|0;i=i+4|0;if(j>>>0<=i>>>0){break p}d=(l|0)>9;l=g;if(d){continue}break}break p}s:{if((l|0)<0){break s}q=i>>>0>>0?j:i+4|0;f=m+16|0;d=f|8;j=f|9;h=i;while(1){g=Kb(J[h>>2],0,j);if((j|0)==(g|0)){H[m+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break t}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break t}jb(a,g,1);g=g+1|0;if(!(k|l)){break t}jb(a,6494,1)}f=j-g|0;jb(a,g,(f|0)>(l|0)?l:f);l=l-f|0;h=h+4|0;if(q>>>0<=h>>>0){break s}if((l|0)>=0){continue}break}}kb(a,48,l+18|0,18,0);jb(a,t,u-t|0);break o}g=l}kb(a,48,g+9|0,9,0)}kb(a,32,c,p,e^8192);n=(c|0)<(p|0)?p:c;break b}k=(f<<26>>31&9)+y|0;u:{if(d>>>0>11){break u}g=12-d|0;r=16;while(1){r=r*16;g=g-1|0;if(g){continue}break}if(K[k|0]==45){b=-(r+(-b-r));break u}b=b+r-r}g=J[m+44>>2];h=g>>31;g=Kb((g^h)-h|0,0,u);if((u|0)==(g|0)){H[m+15|0]=48;g=m+15|0}q=s|2;i=f&32;h=J[m+44>>2];l=g-2|0;H[l|0]=f+15;H[g-1|0]=(h|0)<0?45:43;g=e&8;h=m+16|0;while(1){f=h;if(R(b)<2147483648){j=~~b}else{j=-2147483648}H[h|0]=i|K[j+17920|0];b=(b-+(j|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(m+16|0)|0)!=1)){H[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}n=-1;g=u-l|0;f=g+q|0;if((2147483645-f|0)<(d|0)){break b}j=f;f=m+16|0;i=h-f|0;d=d?(i-2|0)<(d|0)?d+2|0:i:i;h=j+d|0;kb(a,32,c,h,e);jb(a,k,q);kb(a,48,c,h,e^65536);jb(a,f,i);kb(a,48,d-i|0,0,0);jb(a,l,g);kb(a,32,c,h,e^8192);n=(c|0)<(h|0)?h:c}La=m+560|0;return n|0}function Uc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=La-80|0;La=h;J[h+76>>2]=b;w=h+55|0;r=h+56|0;a:{b:{c:{d:{e:while(1){i=b;if((o^2147483647)<(f|0)){break d}o=f+o|0;f:{g:{h:{f=i;g=K[f|0];if(g){while(1){i:{b=g&255;j:{if(!b){b=f;break j}if((b|0)!=37){break i}g=f;while(1){if(K[g+1|0]!=37){b=g;break j}f=f+1|0;k=K[g+2|0];b=g+2|0;g=b;if((k|0)==37){continue}break}}f=f-i|0;v=o^2147483647;if((f|0)>(v|0)){break d}if(a){jb(a,i,f)}if(f){continue e}J[h+76>>2]=b;f=b+1|0;p=-1;if(!(K[b+2|0]!=36|H[b+1|0]-48>>>0>=10)){p=H[b+1|0]-48|0;s=1;f=b+3|0}J[h+76>>2]=f;m=0;g=H[f|0];b=g-32|0;k:{if(b>>>0>31){l=f;break k}l=f;b=1<>2]=l;m=b|m;g=H[f+1|0];b=g-32|0;if(b>>>0>=32){break k}f=l;b=1<>>0>=10)){J[((H[l+1|0]<<2)+e|0)-192>>2]=10;g=l+3|0;s=1;b=J[((H[l+1|0]<<3)+d|0)-384>>2];break m}if(s){break h}g=l+1|0;if(!a){J[h+76>>2]=g;s=0;q=0;break l}b=J[c>>2];J[c>>2]=b+4;s=0;b=J[b>>2]}J[h+76>>2]=g;q=b;if((b|0)>=0){break l}q=0-q|0;m=m|8192;break l}q=Tc(h+76|0);if((q|0)<0){break d}g=J[h+76>>2]}f=0;j=-1;n:{if(K[g|0]!=46){b=g;u=0;break n}if(K[g+1|0]==42){o:{if(!(K[g+3|0]!=36|H[g+2|0]-48>>>0>=10)){J[((H[g+2|0]<<2)+e|0)-192>>2]=10;b=g+4|0;j=J[((H[g+2|0]<<3)+d|0)-384>>2];break o}if(s){break h}b=g+2|0;j=0;if(!a){break o}g=J[c>>2];J[c>>2]=g+4;j=J[g>>2]}J[h+76>>2]=b;u=(j^-1)>>>31|0;break n}J[h+76>>2]=g+1;j=Tc(h+76|0);b=J[h+76>>2];u=1}while(1){n=f;l=28;k=b;f=H[b|0];if(f-123>>>0<4294967238){break c}b=k+1|0;f=K[(f+P(n,58)|0)+17391|0];if(f-1>>>0<8){continue}break}J[h+76>>2]=b;p:{q:{if((f|0)!=27){if(!f){break c}if((p|0)>=0){J[(p<<2)+e>>2]=f;g=(p<<3)+d|0;f=J[g+4>>2];J[h+64>>2]=J[g>>2];J[h+68>>2]=f;break q}if(!a){break f}Sc(h- -64|0,f,c);break p}if((p|0)>=0){break c}}f=0;if(!a){continue e}}g=m&-65537;m=m&8192?g:m;p=0;t=1316;l=r;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{f=H[k|0];f=n?(f&15)==3?f&-33:f:f;switch(f-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(f-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((f|0)==83){break w}break g}g=J[h+64>>2];k=J[h+68>>2];t=1316;break z}f=0;I:{switch(n&255){case 0:J[J[h+64>>2]>>2]=o;continue e;case 1:J[J[h+64>>2]>>2]=o;continue e;case 2:i=J[h+64>>2];J[i>>2]=o;J[i+4>>2]=o>>31;continue e;case 3:I[J[h+64>>2]>>1]=o;continue e;case 4:H[J[h+64>>2]]=o;continue e;case 6:J[J[h+64>>2]>>2]=o;continue e;case 7:break I;default:continue e}}i=J[h+64>>2];J[i>>2]=o;J[i+4>>2]=o>>31;continue e}j=j>>>0<=8?8:j;m=m|8;f=120}i=r;g=J[h+64>>2];k=J[h+68>>2];if(g|k){x=f&32;while(1){i=i-1|0;H[i|0]=x|K[(g&15)+17920|0];y=!k&g>>>0>15|(k|0)!=0;n=k;k=k>>>4|0;g=(n&15)<<28|g>>>4;if(y){continue}break}}if(!(J[h+64>>2]|J[h+68>>2])|!(m&8)){break y}t=(f>>>4|0)+1316|0;p=2;break y}f=r;i=J[h+68>>2];k=i;g=J[h+64>>2];if(i|g){while(1){f=f-1|0;H[f|0]=g&7|48;n=!k&g>>>0>7|(k|0)!=0;i=k;k=i>>>3|0;g=(i&7)<<29|g>>>3;if(n){continue}break}}i=f;if(!(m&8)){break y}f=r-i|0;j=(f|0)<(j|0)?j:f+1|0;break y}g=J[h+64>>2];f=J[h+68>>2];k=f;if((f|0)<0){i=0-(k+((g|0)!=0)|0)|0;k=i;g=0-g|0;J[h+64>>2]=g;J[h+68>>2]=i;p=1;t=1316;break z}if(m&2048){p=1;t=1317;break z}p=m&1;t=p?1318:1316}i=Kb(g,k,r)}if((j|0)<0?u:0){break d}m=u?m&-65537:m;f=J[h+64>>2];g=J[h+68>>2];if(!(j|(f|g)!=0)){i=r;j=0;break g}f=!(f|g)+(r-i|0)|0;j=(f|0)<(j|0)?j:f;break g}l=j>>>0>=2147483647?2147483647:j;n=l;m=(l|0)!=0;f=J[h+64>>2];i=f?f:6496;f=i;J:{K:{L:{M:{if(!(f&3)|!l){break M}while(1){if(!K[f|0]){break L}n=n-1|0;m=(n|0)!=0;f=f+1|0;if(!(f&3)){break M}if(n){continue}break}}if(!m){break K}if(!(!K[f|0]|n>>>0<4)){while(1){k=J[f>>2];if((k^-1)&k-16843009&-2139062144){break L}f=f+4|0;n=n-4|0;if(n>>>0>3){continue}break}}if(!n){break K}}while(1){if(!K[f|0]){break J}f=f+1|0;n=n-1|0;if(n){continue}break}}f=0}f=f?f-i|0:l;l=f+i|0;if((j|0)>=0){m=g;j=f;break g}m=g;j=f;if(K[l|0]){break d}break g}if(j){g=J[h+64>>2];break u}f=0;kb(a,32,q,0,m);break t}J[h+12>>2]=0;J[h+8>>2]=J[h+64>>2];g=h+8|0;J[h+64>>2]=g;j=-1}f=0;N:{while(1){i=J[g>>2];if(!i){break N}k=Oc(h+4|0,i);i=(k|0)<0;if(!(i|k>>>0>j-f>>>0)){g=g+4|0;f=f+k|0;if(j>>>0>f>>>0){continue}break N}break}if(i){break b}}l=61;if((f|0)<0){break c}kb(a,32,q,f,m);if(!f){f=0;break t}l=0;g=J[h+64>>2];while(1){i=J[g>>2];if(!i){break t}i=Oc(h+4|0,i);l=i+l|0;if(l>>>0>f>>>0){break t}jb(a,h+4|0,i);g=g+4|0;if(f>>>0>l>>>0){continue}break}}kb(a,32,q,f,m^8192);f=(f|0)<(q|0)?q:f;continue e}if((j|0)<0?u:0){break d}l=61;f=Qc(a,O[h+64>>3],q,j,m,f);if((f|0)>=0){continue e}break c}H[h+55|0]=J[h+64>>2];j=1;i=w;m=g;break g}g=K[f+1|0];f=f+1|0;continue}}if(a){break a}if(!s){break f}f=1;while(1){a=J[(f<<2)+e>>2];if(a){Sc((f<<3)+d|0,a,c);o=1;f=f+1|0;if((f|0)!=10){continue}break a}break}o=1;if(f>>>0>=10){break a}while(1){if(J[(f<<2)+e>>2]){break h}f=f+1|0;if((f|0)!=10){continue}break}break a}l=28;break c}k=l-i|0;g=(j|0)>(k|0)?j:k;if((g|0)>(p^2147483647)){break d}l=61;j=g+p|0;f=(j|0)<(q|0)?q:j;if((v|0)<(f|0)){break c}kb(a,32,f,j,m);jb(a,t,p);kb(a,48,f,j,m^65536);kb(a,48,g,k,0);jb(a,i,k);kb(a,32,f,j,m^8192);continue}break}o=0;break a}l=61}J[6204]=l}o=-1}La=h+80|0;return o}function Df(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=0,n=0,o=0,p=0,q=Q(0),r=0,s=Q(0);b=La+-64|0;La=b;d=J[a+102980>>2];a:{if(!d){break a}p=J[d+4>>2];b:{if(!(p&1)){break b}j=J[a+102948>>2];if(!j){break b}while(1){d=J[j+100>>2];if(d){f=j+12|0;while(1){c:{d:{e:{e=J[j>>2];if((e|0)==2){if(N[j+116>>2]==Q(0)){J[b+8>>2]=0;J[b+12>>2]=1065353216;J[b>>2]=1065353216;J[b+4>>2]=0;break c}c=L[j+4>>1];if(c&32){break e}break d}c=L[j+4>>1];if(!(c&32)){break d}f:{switch(e|0){case 0:J[b+8>>2]=1056964608;J[b+12>>2]=1065353216;J[b>>2]=1056964608;J[b+4>>2]=1063675494;break c;case 1:break f;default:break e}}J[b+8>>2]=1063675494;J[b+12>>2]=1065353216;J[b>>2]=1056964608;J[b+4>>2]=1056964608;break c}if(!(c&2)){J[b+8>>2]=1058642330;J[b+12>>2]=1065353216;J[b>>2]=1058642330;J[b+4>>2]=1058642330;break c}J[b+8>>2]=1060320051;J[b+12>>2]=1065353216;J[b>>2]=1063675494;J[b+4>>2]=1060320051;break c}J[b+8>>2]=1050253722;J[b+12>>2]=1065353216;J[b>>2]=1056964608;J[b+4>>2]=1056964608}c=La-80|0;La=c;g:{h:{i:{j:{k:{e=J[d+12>>2];switch(J[e+4>>2]){case 0:break h;case 2:break i;case 3:break j;case 1:break k;default:break g}}k=N[f>>2];h=N[f+8>>2];i=N[e+12>>2];g=N[f+12>>2];l=N[e+16>>2];q=N[f+4>>2];N[c+4>>2]=Q(Q(h*i)+Q(g*l))+q;N[c>>2]=k+Q(Q(g*i)-Q(l*h));i=N[e+20>>2];l=N[e+24>>2];N[c+76>>2]=q+Q(Q(h*i)+Q(g*l));N[c+72>>2]=k+Q(Q(g*i)-Q(l*h));n=J[a+102980>>2];Na[J[J[n>>2]+24>>2]](n,c,c+72|0,b);if(K[e+44|0]){break g}e=J[a+102980>>2];Na[J[J[e>>2]+32>>2]](e,c,Q(4),b);e=J[a+102980>>2];Na[J[J[e>>2]+32>>2]](e,c+72|0,Q(4),b);break g}n=J[e+16>>2];h=N[f>>2];g=N[f+8>>2];o=J[e+12>>2];k=N[o>>2];i=N[f+12>>2];l=N[o+4>>2];N[c+4>>2]=Q(Q(g*k)+Q(i*l))+N[f+4>>2];N[c>>2]=h+Q(Q(i*k)-Q(l*g));if((n|0)<2){break g}e=1;while(1){h=N[f>>2];g=N[f+8>>2];m=o+(e<<3)|0;k=N[m>>2];i=N[f+12>>2];l=N[m+4>>2];N[c+76>>2]=Q(Q(g*k)+Q(i*l))+N[f+4>>2];N[c+72>>2]=h+Q(Q(i*k)-Q(l*g));m=J[a+102980>>2];Na[J[J[m>>2]+24>>2]](m,c,c+72|0,b);m=J[c+76>>2];J[c>>2]=J[c+72>>2];J[c+4>>2]=m;e=e+1|0;if((n|0)!=(e|0)){continue}break}break g}o=J[e+148>>2];if((o|0)>0){h=N[f+12>>2];g=N[f+4>>2];k=N[f>>2];i=N[f+8>>2];l=Q(-i);n=0;while(1){m=n<<3;r=m+c|0;m=e+m|0;q=N[m+20>>2];s=N[m+24>>2];N[r+4>>2]=Q(Q(i*q)+Q(h*s))+g;N[r>>2]=k+Q(Q(h*q)+Q(s*l));n=n+1|0;if((o|0)!=(n|0)){continue}break}}e=J[a+102980>>2];Na[J[J[e>>2]+12>>2]](e,c,o,b);break g}k=N[f>>2];h=N[f+8>>2];i=N[e+12>>2];g=N[f+12>>2];l=N[e+16>>2];N[c+4>>2]=Q(Q(h*i)+Q(g*l))+N[f+4>>2];N[c>>2]=k+Q(Q(g*i)-Q(l*h));k=N[e+8>>2];N[c+76>>2]=h+Q(g*Q(0));N[c+72>>2]=g-Q(h*Q(0));e=J[a+102980>>2];Na[J[J[e>>2]+20>>2]](e,c,k,c+72|0,b)}La=c+80|0;d=J[d+4>>2];if(d){continue}break}}j=J[j+96>>2];if(j){continue}break}}l:{if(!(p&2)){break l}d=J[a+102952>>2];if(!d){break l}while(1){Na[J[J[d>>2]+24>>2]](d,J[a+102980>>2]);d=J[d+12>>2];if(d){continue}break}}m:{if(!(p&8)){break m}J[b+8>>2]=1063675494;J[b+12>>2]=1065353216;J[b>>2]=1050253722;J[b+4>>2]=1063675494;d=J[a+102928>>2];if(!d){break m}while(1){f=J[d+52>>2];j=J[d+60>>2];c=J[J[d+48>>2]+24>>2]+P(J[d+56>>2],28)|0;h=N[c+4>>2];g=N[c+12>>2];N[b+40>>2]=Q(N[c>>2]+N[c+8>>2])*Q(.5);N[b+44>>2]=Q(h+g)*Q(.5);c=J[f+24>>2]+P(j,28)|0;h=N[c+4>>2];g=N[c+12>>2];N[b+56>>2]=Q(N[c>>2]+N[c+8>>2])*Q(.5);N[b+60>>2]=Q(h+g)*Q(.5);c=J[a+102980>>2];Na[J[J[c>>2]+24>>2]](c,b+40|0,b+56|0,b);d=J[d+12>>2];if(d){continue}break}}n:{if(!(p&4)){break n}J[b+48>>2]=1063675494;J[b+52>>2]=1065353216;J[b+40>>2]=1063675494;J[b+44>>2]=1050253722;c=J[a+102948>>2];if(!c){break n}while(1){o:{if(!(K[c+4|0]&32)){break o}d=J[c+100>>2];if(!d){break o}while(1){if(J[d+28>>2]>0){j=0;while(1){f=J[a+102872>>2]+P(J[(J[d+24>>2]+P(j,28)|0)+24>>2],40)|0;h=N[f+4>>2];g=N[f+8>>2];k=N[f>>2];i=N[f+12>>2];N[b+28>>2]=i;N[b+24>>2]=k;N[b+20>>2]=i;N[b+16>>2]=g;N[b+12>>2]=h;N[b+8>>2]=g;N[b+4>>2]=h;N[b>>2]=k;f=J[a+102980>>2];Na[J[J[f>>2]+8>>2]](f,b,4,b+40|0);j=j+1|0;if((j|0)>2]){continue}break}}d=J[d+4>>2];if(d){continue}break}}c=J[c+96>>2];if(c){continue}break}}if(!(p&16)){break a}d=J[a+102948>>2];if(!d){break a}while(1){c=J[d+24>>2];J[b+8>>2]=J[d+20>>2];J[b+12>>2]=c;c=J[d+16>>2];J[b>>2]=J[d+12>>2];J[b+4>>2]=c;c=J[d+48>>2];J[b>>2]=J[d+44>>2];J[b+4>>2]=c;c=J[a+102980>>2];Na[J[J[c>>2]+28>>2]](c,b);d=J[d+96>>2];if(d){continue}break}}La=b- -64|0}function fc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;J[a+52>>2]=0;b=J[a+40>>2];a:{if((b|0)<=0){break a}while(1){f=J[J[a+32>>2]+(i<<2)>>2];J[a+56>>2]=f;if((f|0)!=-1){h=J[a+4>>2]+P(f,40)|0;d=La-1040|0;La=d;J[d+1036>>2]=256;f=d+8|0;J[d+4>>2]=f;J[d+8>>2]=J[a>>2];b=f;c=1;while(1){b:{c=c-1|0;J[d+1032>>2]=c;g=J[(c<<2)+b>>2];c:{if((g|0)==-1){break c}e=J[a+4>>2]+P(g,40)|0;if(Q(N[h>>2]-N[e+8>>2])>Q(0)|Q(N[h+4>>2]-N[e+12>>2])>Q(0)|(Q(N[e>>2]-N[h+8>>2])>Q(0)|Q(N[e+4>>2]-N[h+12>>2])>Q(0))){break c}if(J[e+24>>2]==-1){c=J[a+56>>2];if(!((g|0)==(c|0)|(K[(J[a+4>>2]+P(g,40)|0)+36|0]?(c|0)<(g|0):0))){b=J[a+52>>2];if((b|0)==J[a+48>>2]){c=(b>>1)+b|0;J[a+48>>2]=c;b=J[a+44>>2];c=fb(c<<3);J[a+44>>2]=c;rb(c,b,J[a+52>>2]<<3);ab(b);c=J[a+56>>2];b=J[a+52>>2]}e=J[a+44>>2]+(b<<3)|0;J[e+4>>2]=(c|0)<(g|0)?g:c;J[e>>2]=(c|0)>(g|0)?g:c;J[a+52>>2]=b+1}b=J[d+4>>2];c=J[d+1032>>2];if((c|0)>0){continue}break b}d:{if(J[d+1036>>2]!=(c|0)){break d}J[d+1036>>2]=c<<1;c=fb(c<<3);J[d+4>>2]=c;rb(c,b,J[d+1032>>2]<<2);if((b|0)==(f|0)){break d}ab(b)}b=J[d+4>>2];J[b+(J[d+1032>>2]<<2)>>2]=J[e+24>>2];c=J[d+1032>>2]+1|0;J[d+1032>>2]=c;e:{if((c|0)!=J[d+1036>>2]){break e}J[d+1036>>2]=c<<1;c=fb(c<<3);J[d+4>>2]=c;rb(c,b,J[d+1032>>2]<<2);if((b|0)==(f|0)){break e}ab(b)}b=J[d+4>>2];J[b+(J[d+1032>>2]<<2)>>2]=J[e+28>>2];c=J[d+1032>>2]+1|0;J[d+1032>>2]=c}if((c|0)>0){continue}}break}if((b|0)!=(f|0)){ab(b)}La=d+1040|0;b=J[a+40>>2]}i=i+1|0;if((i|0)<(b|0)){continue}break}if(J[a+52>>2]>0){i=0;while(1){d=J[a+4>>2];f=J[a+44>>2]+(i<<3)|0;c=J[(d+P(J[f>>2],40)|0)+16>>2];b=J[c+16>>2];j=J[b+8>>2];d=J[(d+P(J[f+4>>2],40)|0)+16>>2];f=J[d+16>>2];e=J[f+8>>2];f:{if((j|0)==(e|0)){break f}d=J[d+20>>2];g=J[c+20>>2];c=J[e+112>>2];if(c){while(1){g:{if((j|0)!=J[c>>2]){break g}e=J[c+4>>2];h=J[e+60>>2];k=J[e+56>>2];l=J[e+52>>2];e=J[e+48>>2];if(!((e|0)!=(b|0)|(f|0)!=(l|0)|(g|0)!=(k|0))){if((d|0)==(h|0)){break f}}if((f|0)!=(e|0)|(b|0)!=(l|0)|(d|0)!=(k|0)){break g}if((g|0)==(h|0)){break f}}c=J[c+12>>2];if(c){continue}break}}c=J[a+68>>2];if(c){if(!(Na[J[J[c>>2]+8>>2]](c,b,f)|0)){break f}}c=J[a+76>>2];if(!K[24768]){J[6168]=782;H[24584]=1;J[6145]=783;J[6144]=784;J[6150]=782;J[6156]=785;J[6180]=786;J[6147]=785;H[24680]=1;J[6169]=787;H[24704]=1;J[6175]=788;J[6174]=789;H[24608]=0;J[6151]=787;H[24632]=1;J[6157]=790;H[24728]=1;J[6181]=791;H[24692]=0;J[6172]=792;J[6171]=793;H[24656]=1;J[6163]=792;J[6162]=793;H[24596]=0;J[6148]=790;H[24752]=1;J[6187]=794;J[6186]=795;H[24620]=0;J[6154]=791;J[6153]=786;J[6177]=795;J[6178]=794;H[24716]=0;H[24768]=1}h=(P(J[J[b+12>>2]+4>>2],48)+24576|0)+P(J[J[f+12>>2]+4>>2],12)|0;e=J[h>>2];h:{if(e){if(K[h+8|0]){b=Na[e|0](b,g,f,d,c)|0;break h}b=Na[e|0](f,d,b,g,c)|0}else{b=0}}if(!b){break f}e=J[b+52>>2];f=J[e+8>>2];h=J[b+48>>2];d=J[h+8>>2];J[b+8>>2]=0;c=J[a+60>>2];J[b+12>>2]=c;if(c){J[c+8>>2]=b}J[a+60>>2]=b;J[b+24>>2]=0;J[b+16>>2]=f;J[b+20>>2]=b;c=J[d+112>>2];J[b+28>>2]=c;g=b+16|0;if(c){J[c+8>>2]=g}J[d+112>>2]=g;J[b+40>>2]=0;J[b+32>>2]=d;J[b+36>>2]=b;c=J[f+112>>2];J[b+44>>2]=c;b=b+32|0;if(c){J[c+8>>2]=b}J[f+112>>2]=b;i:{if(K[h+38|0]|K[e+38|0]){break i}if(J[d>>2]){J[d+144>>2]=0;I[d+4>>1]=L[d+4>>1]|2}if(!J[f>>2]){break i}J[f+144>>2]=0;I[f+4>>1]=L[f+4>>1]|2}J[a+64>>2]=J[a+64>>2]+1}i=i+1|0;if((i|0)>2]){continue}break}b=J[a+40>>2]}if((b|0)<=0){break a}c=b&1;f=J[a+4>>2];d=J[a+32>>2];i=0;if((b|0)!=1){g=b&-2;b=0;while(1){e=i<<2;h=J[e+d>>2];if((h|0)!=-1){H[(f+P(h,40)|0)+36|0]=0}e=J[d+(e|4)>>2];if((e|0)!=-1){H[(f+P(e,40)|0)+36|0]=0}i=i+2|0;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!c){break a}b=J[d+(i<<2)>>2];if((b|0)==-1){break a}H[(f+P(b,40)|0)+36|0]=0}J[a+40>>2]=0}function Zc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,y=0,z=0,A=0;o=La-16|0;La=o;s=(C(a),v(2));e=s&2147483647;a:{if(e>>>0<=1305022426){j=+a;d=j*.6366197723675814+6755399441055744+-6755399441055744;r=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;O[b>>3]=r;c=r<-.7853981852531433;if(R(d)<2147483648){e=~~d}else{e=-2147483648}if(c){d=d+-1;O[b>>3]=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;e=e-1|0;break a}if(!(r>.7853981852531433)){break a}d=d+1;O[b>>3]=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;e=e+1|0;break a}if(e>>>0>=2139095040){O[b>>3]=Q(a-a);e=0;break a}c=e;e=(e>>>23|0)-150|0;O[o+8>>3]=(x(2,c-(e<<23)|0),D());t=o+8|0;g=La-560|0;La=g;c=(e-3|0)/24|0;p=(c|0)>0?c:0;i=e+P(p,-24)|0;l=J[3652];if((l|0)>=0){e=l+1|0;c=p;while(1){O[(g+320|0)+(f<<3)>>3]=(c|0)<0?0:+J[(c<<2)+14624>>2];c=c+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}k=i-24|0;e=0;f=(l|0)>0?l:0;while(1){c=0;d=0;while(1){d=O[(c<<3)+t>>3]*O[(g+320|0)+(e-c<<3)>>3]+d;c=c+1|0;if((c|0)!=1){continue}break}O[(e<<3)+g>>3]=d;c=(e|0)==(f|0);e=e+1|0;if(!c){continue}break}z=47-i|0;u=48-i|0;A=i-25|0;e=l;b:{while(1){d=O[(e<<3)+g>>3];c=0;f=e;n=(e|0)<=0;if(!n){while(1){m=(g+480|0)+(c<<2)|0;j=d*5.960464477539063e-8;c:{if(R(j)<2147483648){h=~~j;break c}h=-2147483648}j=+(h|0);d=j*-16777216+d;d:{if(R(d)<2147483648){h=~~d;break d}h=-2147483648}J[m>>2]=h;f=f-1|0;d=O[(f<<3)+g>>3]+j;c=c+1|0;if((e|0)!=(c|0)){continue}break}}d=cc(d,k);d=d+V(d*.125)*-8;e:{if(R(d)<2147483648){m=~~d;break e}m=-2147483648}d=d-+(m|0);f:{g:{h:{w=(k|0)<=0;i:{if(!w){f=(e<<2)+g|0;h=J[f+476>>2];c=h>>u;q=f;f=h-(c<>2]=f;m=c+m|0;h=f>>z;break i}if(k){break h}h=J[((e<<2)+g|0)+476>>2]>>23}if((h|0)<=0){break f}break g}h=2;if(d>=.5){break g}h=0;break f}c=0;f=0;if(!n){while(1){q=(g+480|0)+(c<<2)|0;n=J[q>>2];y=16777215;j:{k:{if(f){break k}y=16777216;if(n){break k}f=0;break j}J[q>>2]=y-n;f=1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}l:{if(w){break l}c=8388607;m:{switch(A|0){case 1:c=4194303;break;case 0:break m;default:break l}}n=(e<<2)+g|0;J[n+476>>2]=J[n+476>>2]&c}m=m+1|0;if((h|0)!=2){break f}d=1-d;h=2;if(!f){break f}d=d-cc(1,k)}if(d==0){f=0;n:{c=e;if((l|0)>=(e|0)){break n}while(1){c=c-1|0;f=J[(g+480|0)+(c<<2)>>2]|f;if((c|0)>(l|0)){continue}break}if(!f){break n}i=k;while(1){i=i-24|0;e=e-1|0;if(!J[(g+480|0)+(e<<2)>>2]){continue}break}break b}c=1;while(1){f=c;c=c+1|0;if(!J[(g+480|0)+(l-f<<2)>>2]){continue}break}f=e+f|0;while(1){e=e+1|0;O[(g+320|0)+(e<<3)>>3]=J[(e+p<<2)+14624>>2];c=0;d=0;while(1){d=O[(c<<3)+t>>3]*O[(g+320|0)+(e-c<<3)>>3]+d;c=c+1|0;if((c|0)!=1){continue}break}O[(e<<3)+g>>3]=d;if((e|0)<(f|0)){continue}break}e=f;continue}break}d=cc(d,24-i|0);o:{if(d>=16777216){k=(g+480|0)+(e<<2)|0;j=d*5.960464477539063e-8;p:{if(R(j)<2147483648){c=~~j;break p}c=-2147483648}d=+(c|0)*-16777216+d;q:{if(R(d)<2147483648){f=~~d;break q}f=-2147483648}J[k>>2]=f;e=e+1|0;break o}if(R(d)<2147483648){c=~~d}else{c=-2147483648}i=k}J[(g+480|0)+(e<<2)>>2]=c}d=cc(1,i);r:{if((e|0)<0){break r}c=e;while(1){f=c;O[(c<<3)+g>>3]=d*+J[(g+480|0)+(c<<2)>>2];c=c-1|0;d=d*5.960464477539063e-8;if(f){continue}break}if((e|0)<0){break r}f=e;while(1){d=0;c=0;i=e-f|0;k=(i|0)>(l|0)?l:i;if((k|0)>=0){while(1){d=O[(c<<3)+17392>>3]*O[(c+f<<3)+g>>3]+d;p=(c|0)!=(k|0);c=c+1|0;if(p){continue}break}}O[(g+160|0)+(i<<3)>>3]=d;c=(f|0)>0;f=f-1|0;if(c){continue}break}}d=0;if((e|0)>=0){while(1){c=e;e=e-1|0;d=d+O[(g+160|0)+(c<<3)>>3];if(c){continue}break}}O[o>>3]=h?-d:d;La=g+560|0;e=m&7;d=O[o>>3];if((s|0)<0){O[b>>3]=-d;e=0-e|0;break a}O[b>>3]=d}La=o+16|0;return e}function ad(a,b,c,d){var e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=0,m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=0,t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=0;g=N[a+48>>2];h=N[a+68>>2];n=Q(Q(d*Q(N[a+72>>2]-h))+h);h=_a(n);m=N[a+44>>2];n=Za(n);q=N[a+56>>2];x=Q(Q(q+Q(Q(N[a- -64>>2]-q)*d))-Q(Q(n*m)+Q(g*h)));q=N[a+52>>2];u=Q(Q(q+Q(Q(N[a+60>>2]-q)*d))-Q(Q(h*m)-Q(g*n)));q=N[a+12>>2];g=N[a+32>>2];m=Q(Q(d*Q(N[a+36>>2]-g))+g);g=_a(m);r=N[a+8>>2];m=Za(m);i=N[a+20>>2];y=Q(Q(i+Q(Q(N[a+28>>2]-i)*d))-Q(Q(m*r)+Q(q*g)));i=N[a+16>>2];v=Q(Q(i+Q(Q(N[a+24>>2]-i)*d))-Q(Q(g*r)-Q(q*m)));w=Q(-n);q=Q(-m);a:{switch(J[a+80>>2]){case 0:r=N[a+92>>2];i=N[a+96>>2];e=J[a>>2];o=J[e+16>>2];j=J[e+20>>2];b:{if((j|0)<2){break b}k=Q(Q(g*r)+Q(m*i));p=Q(Q(q*r)+Q(g*i));d=Q(Q(N[o>>2]*k)+Q(p*N[o+4>>2]));e=1;f=j-1|0;C=f&1;c:{if((j|0)==2){f=0;break c}B=f&-2;f=0;j=0;while(1){s=o+(e<<3)|0;z=Q(Q(N[s>>2]*k)+Q(p*N[s+4>>2]));s=z>d;D=e+1|0;t=o+(D<<3)|0;A=Q(Q(N[t>>2]*k)+Q(p*N[t+4>>2]));d=s?z:d;t=A>d;d=t?A:d;f=t?D:s?e:f;e=e+2|0;j=j+2|0;if((B|0)!=(j|0)){continue}break}}if(!C){break b}j=e;e=o+(e<<3)|0;f=Q(Q(N[e>>2]*k)+Q(p*N[e+4>>2]))>d?j:f}J[b>>2]=f;a=J[a+4>>2];e=J[a+16>>2];f=J[a+20>>2];d:{if((f|0)<2){break d}k=Q(Q(h*Q(-r))-Q(n*i));p=Q(Q(n*r)-Q(h*i));d=Q(Q(N[e>>2]*k)+Q(p*N[e+4>>2]));a=1;l=f-1|0;t=l&1;e:{if((f|0)==2){l=0;break e}C=l&-2;l=0;f=0;while(1){j=e+(a<<3)|0;z=Q(Q(N[j>>2]*k)+Q(p*N[j+4>>2]));j=z>d;B=a+1|0;s=e+(B<<3)|0;A=Q(Q(N[s>>2]*k)+Q(p*N[s+4>>2]));d=j?z:d;s=A>d;d=s?A:d;l=s?B:j?a:l;a=a+2|0;f=f+2|0;if((C|0)!=(f|0)){continue}break}}if(!t){break d}j=a;a=e+(a<<3)|0;l=Q(Q(N[a>>2]*k)+Q(p*N[a+4>>2]))>d?j:l}J[c>>2]=l;k=u;a=e+(l<<3)|0;d=N[a>>2];u=N[a+4>>2];p=Q(k+Q(Q(h*d)+Q(u*w)));k=v;a=o+(J[b>>2]<<3)|0;w=N[a>>2];v=N[a+4>>2];return Q(Q(Q(p-Q(k+Q(Q(g*w)+Q(v*q))))*r)+Q(i*Q(Q(x+Q(Q(n*d)+Q(h*u)))-Q(y+Q(Q(m*w)+Q(g*v))))));case 1:d=N[a+88>>2];i=N[a+96>>2];k=N[a+84>>2];p=N[a+92>>2];J[b>>2]=-1;r=Q(Q(m*p)+Q(g*i));i=Q(Q(g*p)+Q(i*q));y=Q(y+Q(Q(m*k)+Q(g*d)));q=Q(v+Q(Q(g*k)+Q(d*q)));a=J[a+4>>2];b=J[a+16>>2];f=J[a+20>>2];f:{if((f|0)<2){break f}g=Q(Q(h*Q(-i))-Q(n*r));m=Q(Q(n*i)-Q(h*r));d=Q(Q(N[b>>2]*g)+Q(m*N[b+4>>2]));a=1;e=f-1|0;j=e&1;g:{if((f|0)==2){e=0;break g}s=e&-2;e=0;f=0;while(1){l=b+(a<<3)|0;v=Q(Q(N[l>>2]*g)+Q(m*N[l+4>>2]));l=v>d;t=a+1|0;o=b+(t<<3)|0;k=Q(Q(N[o>>2]*g)+Q(m*N[o+4>>2]));d=l?v:d;o=k>d;d=o?k:d;e=o?t:l?a:e;a=a+2|0;f=f+2|0;if((s|0)!=(f|0)){continue}break}}if(!j){break f}j=a;a=b+(a<<3)|0;e=Q(Q(N[a>>2]*g)+Q(m*N[a+4>>2]))>d?j:e}J[c>>2]=e;a=b+(e<<3)|0;d=N[a>>2];g=N[a+4>>2];return Q(Q(Q(Q(u+Q(Q(h*d)+Q(g*w)))-q)*i)+Q(r*Q(Q(x+Q(Q(n*d)+Q(h*g)))-y)));case 2:d=N[a+88>>2];i=N[a+96>>2];k=N[a+84>>2];p=N[a+92>>2];J[c>>2]=-1;r=Q(Q(n*p)+Q(h*i));i=Q(Q(h*p)+Q(i*w));x=Q(x+Q(Q(n*k)+Q(h*d)));w=Q(u+Q(Q(h*k)+Q(d*w)));a=J[a>>2];c=J[a+16>>2];f=J[a+20>>2];h:{if((f|0)<2){break h}h=Q(Q(g*Q(-i))-Q(m*r));n=Q(Q(m*i)-Q(g*r));d=Q(Q(N[c>>2]*h)+Q(n*N[c+4>>2]));a=1;e=f-1|0;j=e&1;i:{if((f|0)==2){e=0;break i}s=e&-2;e=0;f=0;while(1){l=c+(a<<3)|0;u=Q(Q(N[l>>2]*h)+Q(n*N[l+4>>2]));l=u>d;t=a+1|0;o=c+(t<<3)|0;k=Q(Q(N[o>>2]*h)+Q(n*N[o+4>>2]));d=l?u:d;o=k>d;d=o?k:d;e=o?t:l?a:e;a=a+2|0;f=f+2|0;if((s|0)!=(f|0)){continue}break}}if(!j){break h}j=a;a=c+(a<<3)|0;e=Q(Q(N[a>>2]*h)+Q(n*N[a+4>>2]))>d?j:e}J[b>>2]=e;a=c+(e<<3)|0;d=N[a>>2];h=N[a+4>>2];return Q(Q(Q(Q(v+Q(Q(g*d)+Q(h*q)))-w)*i)+Q(r*Q(Q(y+Q(Q(m*d)+Q(g*h)))-x)));default:break a}}J[b>>2]=-1;J[c>>2]=-1;return Q(0)}function fd(a){var b=Q(0),c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=0,D=Q(0),E=0,F=0,G=Q(0),H=0,I=0,L=0,M=0,O=Q(0),R=Q(0);if(J[a+48>>2]>0){q=J[a+28>>2];I=K[23656];while(1){c=J[a+40>>2]+P(F,156)|0;G=N[c+132>>2];A=N[c+124>>2];g=N[c+128>>2];B=N[c+120>>2];l=N[c+72>>2];i=N[c+76>>2];H=P(J[c+116>>2],12);j=H+q|0;o=N[j+8>>2];r=N[j+4>>2];s=N[j>>2];L=P(J[c+112>>2],12);C=L+q|0;b=N[C+8>>2];t=N[C+4>>2];u=N[C>>2];E=J[c+148>>2];M=(E|0)<=0;a:{b:{if(!M){v=N[c+136>>2];d=Q(-l);k=N[c+144>>2];h=Q(-g);q=0;while(1){j=c+P(q,36)|0;e=Q(v*N[j+16>>2]);f=Q(-e);w=N[j+20>>2];n=N[j+12>>2];m=N[j+4>>2];x=N[j+8>>2];y=N[j>>2];z=Q(w-Q(N[j+28>>2]*Q(Q(Q(Q(Q(Q(s-Q(o*n))-u)+Q(b*m))*i)+Q(Q(Q(Q(r+Q(o*x))-t)-Q(b*y))*d))-k)));e=e>z?z:e;e=e>2]=e;f=Q(e-w);e=Q(f*d);f=Q(i*f);o=Q(Q(G*Q(Q(x*e)-Q(n*f)))+o);b=Q(Q(h*Q(Q(y*e)-Q(f*m)))+b);r=Q(r+Q(A*e));s=Q(s+Q(A*f));t=Q(t-Q(B*e));u=Q(u-Q(B*f));q=q+1|0;if((E|0)!=(q|0)){continue}break}if(I?(E|0)!=1:0){break b}if(M){break a}q=0;while(1){j=c+P(q,36)|0;e=N[j+16>>2];f=N[j+12>>2];g=N[j+4>>2];d=N[j+8>>2];v=N[j>>2];k=Q(e-Q(N[j+24>>2]*Q(Q(Q(Q(Q(Q(s-Q(o*f))-u)+Q(b*g))*l)+Q(i*Q(Q(Q(r+Q(o*d))-t)-Q(b*v))))-N[j+32>>2])));k=k>Q(0)?k:Q(0);N[j+16>>2]=k;m=d;d=Q(k-e);e=Q(i*d);p=f;f=Q(l*d);o=Q(Q(G*Q(Q(m*e)-Q(p*f)))+o);b=Q(Q(h*Q(Q(v*e)-Q(f*g)))+b);r=Q(r+Q(A*e));s=Q(s+Q(A*f));t=Q(t-Q(B*e));u=Q(u-Q(B*f));q=q+1|0;if((E|0)!=(q|0)){continue}break}break a}if(!I){break a}}c:{d:{v=N[c+12>>2];k=N[c+4>>2];w=N[c+8>>2];n=N[c>>2];d=N[c+16>>2];h=N[c+52>>2];O=N[c+104>>2];m=Q(Q(Q(Q(Q(Q(Q(s-Q(o*v))-u)+Q(b*k))*l)+Q(i*Q(Q(Q(r+Q(o*w))-t)-Q(b*n))))-N[c+32>>2])-Q(Q(N[c+96>>2]*d)+Q(h*O)));x=N[c+48>>2];y=N[c+40>>2];z=N[c+44>>2];D=N[c+36>>2];f=N[c+100>>2];p=Q(Q(Q(Q(Q(Q(Q(s-Q(o*x))-u)+Q(b*y))*l)+Q(i*Q(Q(Q(r+Q(o*z))-t)-Q(b*D))))-N[c+68>>2])-Q(Q(f*d)+Q(h*N[c+108>>2])));e=Q(Q(N[c+80>>2]*m)+Q(N[c+88>>2]*p));if(!(e<=Q(0))){break d}R=Q(Q(N[c+84>>2]*m)+Q(p*N[c+92>>2]));if(!(R<=Q(0))){break d}m=b;p=g;e=Q(-e);b=Q(e-d);g=Q(i*b);d=Q(l*b);n=Q(Q(n*g)-Q(d*k));f=Q(-R);b=Q(f-h);h=Q(i*b);k=Q(l*b);b=Q(m-Q(p*Q(n+Q(Q(D*h)-Q(k*y)))));i=Q(g+h);l=Q(d+k);g=Q(Q(w*g)-Q(d*v));d=Q(Q(z*h)-Q(k*x));break c}e=Q(m*Q(-N[c+24>>2]));if(!(!(e>=Q(0))|!(Q(Q(f*e)+p)>=Q(0)))){f=Q(0);m=b;p=g;b=Q(Q(0)-h);g=Q(i*b);h=Q(l*b);b=Q(e-d);d=Q(i*b);i=Q(n*d);n=Q(l*b);b=Q(m-Q(p*Q(Q(Q(D*g)-Q(h*y))+Q(i-Q(n*k)))));i=Q(g+d);l=Q(h+n);g=Q(Q(z*g)-Q(h*x));d=Q(Q(w*d)-Q(n*v));break c}f=Q(p*Q(-N[c+60>>2]));if(!(!(f>=Q(0))|!(Q(Q(O*f)+m)>=Q(0)))){e=Q(0);m=b;p=g;b=Q(Q(0)-d);g=Q(i*b);d=Q(l*b);n=Q(Q(n*g)-Q(d*k));b=Q(f-h);h=Q(i*b);k=Q(l*b);b=Q(m-Q(p*Q(n+Q(Q(D*h)-Q(k*y)))));i=Q(g+h);l=Q(d+k);g=Q(Q(w*g)-Q(d*v));d=Q(Q(z*h)-Q(k*x));break c}if(!(m>=Q(0))|!(p>=Q(0))){break a}e=Q(0);m=b;p=g;b=Q(Q(0)-d);f=Q(i*b);g=Q(l*b);b=Q(Q(0)-h);d=Q(i*b);h=Q(l*b);b=Q(m-Q(p*Q(Q(Q(n*f)-Q(g*k))+Q(Q(D*d)-Q(h*y)))));i=Q(f+d);l=Q(g+h);g=Q(Q(w*f)-Q(g*v));f=Q(0);d=Q(Q(z*d)-Q(h*x))}N[c+52>>2]=f;N[c+16>>2]=e;s=Q(s+Q(A*l));r=Q(r+Q(A*i));u=Q(u-Q(B*l));t=Q(t-Q(B*i));o=Q(Q(G*Q(g+d))+o)}N[C+4>>2]=t;N[C>>2]=u;c=J[a+28>>2];N[(c+L|0)+8>>2]=b;c=c+H|0;N[c+4>>2]=r;N[c>>2]=s;q=J[a+28>>2];N[(H+q|0)+8>>2]=o;F=F+1|0;if((F|0)>2]){continue}break}}}function yh(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=0,m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=0,D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Y=Q(0),Z=0,_=0,$=Q(0),aa=Q(0);l=J[a+48>>2];C=J[l+8>>2];J[a+160>>2]=C;m=J[a+52>>2];r=J[m+8>>2];J[a+164>>2]=r;k=J[a+84>>2];Z=J[k+8>>2];J[a+168>>2]=Z;c=J[a+88>>2];_=J[c+8>>2];J[a+172>>2]=_;D=N[l+32>>2];e=J[l+32>>2];i=N[l+28>>2];J[a+176>>2]=J[l+28>>2];J[a+180>>2]=e;e=J[m+32>>2];J[a+184>>2]=J[m+28>>2];J[a+188>>2]=e;w=N[k+32>>2];e=J[k+32>>2];n=N[k+28>>2];J[a+192>>2]=J[k+28>>2];J[a+196>>2]=e;$=N[c+32>>2];e=J[c+32>>2];aa=N[c+28>>2];J[a+200>>2]=J[c+28>>2];J[a+204>>2]=e;E=N[l+120>>2];N[a+208>>2]=E;F=N[m+120>>2];N[a+212>>2]=F;G=N[k+120>>2];N[a+216>>2]=G;H=N[c+120>>2];N[a+220>>2]=H;x=N[l+128>>2];N[a+224>>2]=x;y=N[m+128>>2];N[a+228>>2]=y;z=N[k+128>>2];N[a+232>>2]=z;A=N[c+128>>2];N[a+236>>2]=A;l=J[a+76>>2];c=J[b+28>>2];k=P(_,12);e=c+k|0;I=N[e+8>>2];L=N[e+4>>2];M=N[e>>2];m=P(Z,12);e=m+c|0;O=N[e+8>>2];R=N[e+4>>2];S=N[e>>2];r=P(r,12);e=r+c|0;T=N[e+8>>2];U=N[e+4>>2];V=N[e>>2];e=P(C,12);c=e+c|0;W=N[c+8>>2];X=N[c+4>>2];Y=N[c>>2];c=J[b+24>>2];d=N[(c+r|0)+8>>2];f=N[(c+k|0)+8>>2];h=_a(f);g=Za(f);s=_a(d);t=Za(d);a:{if((l|0)==1){o=Q(1);j=Q(1);d=Q(x+z);break a}p=N[a+96>>2];d=N[(c+e|0)+8>>2];o=_a(d);B=N[a+92>>2];j=Za(d);q=N[a+128>>2];i=Q(B-i);p=Q(p-D);f=N[(c+m|0)+8>>2];d=Za(f);u=N[a+124>>2];f=_a(f);v=Q(Q(d*u)+Q(q*f));q=Q(Q(f*u)-Q(q*d));o=Q(Q(Q(Q(o*i)-Q(j*p))*v)-Q(q*Q(Q(j*i)+Q(o*p))));j=Q(N[a+108>>2]-n);i=Q(N[a+112>>2]-w);j=Q(Q(Q(Q(f*j)-Q(d*i))*v)-Q(q*Q(Q(d*j)+Q(f*i))));d=Q(Q(Q(x*o)*o)+Q(Q(Q(z*j)*j)+Q(E+G)))}N[a+264>>2]=j;N[a+256>>2]=o;N[a+240>>2]=q;N[a+244>>2]=v;i=Q(0);n=Q(d+Q(0));b:{if(J[a+80>>2]==1){J[a+248>>2]=0;d=N[a+152>>2];g=Q(Q(Q(d*d)*Q(y+A))+n);h=d;f=Q(0);break b}d=N[a+132>>2];B=N[a+136>>2];p=Q(Q(h*d)-Q(B*g));f=N[a+152>>2];i=Q(p*f);N[a+248>>2]=i;D=n;u=Q(N[a+100>>2]-N[a+184>>2]);w=Q(N[a+104>>2]-N[a+188>>2]);n=Q(Q(g*d)+Q(h*B));d=Q(f*Q(Q(Q(Q(s*u)-Q(w*t))*n)-Q(p*Q(Q(t*u)+Q(s*w)))));s=Q(N[a+116>>2]-aa);t=Q(N[a+120>>2]-$);h=Q(f*Q(Q(Q(Q(h*s)-Q(t*g))*n)-Q(p*Q(Q(g*s)+Q(h*t)))));g=Q(D+Q(Q(Q(y*d)*d)+Q(Q(Q(f*f)*Q(F+H))+Q(h*Q(A*h)))));f=Q(n*f)}N[a+268>>2]=h;N[a+260>>2]=d;N[a+252>>2]=f;N[a+272>>2]=g>Q(0)?Q(Q(1)/g):Q(0);c:{if(K[b+20|0]){g=N[a+156>>2];I=Q(I-Q(Q(g*A)*h));h=Q(H*g);L=Q(L-Q(h*f));M=Q(M-Q(h*i));O=Q(O-Q(Q(g*z)*j));h=Q(G*g);R=Q(R-Q(h*v));S=Q(S-Q(q*h));T=Q(Q(Q(y*g)*d)+T);d=Q(F*g);U=Q(U+Q(d*f));V=Q(V+Q(d*i));W=Q(Q(Q(x*g)*o)+W);d=Q(E*g);X=Q(X+Q(d*v));Y=Q(Y+Q(q*d));break c}J[a+156>>2]=0}c=J[b+28>>2]+P(C,12)|0;N[c+4>>2]=X;N[c>>2]=Y;c=J[b+28>>2];N[(c+P(J[a+160>>2],12)|0)+8>>2]=W;c=c+P(J[a+164>>2],12)|0;N[c+4>>2]=U;N[c>>2]=V;c=J[b+28>>2];N[(c+P(J[a+164>>2],12)|0)+8>>2]=T;c=c+P(J[a+168>>2],12)|0;N[c+4>>2]=R;N[c>>2]=S;c=J[b+28>>2];N[(c+P(J[a+168>>2],12)|0)+8>>2]=O;c=c+P(J[a+172>>2],12)|0;N[c+4>>2]=L;N[c>>2]=M;N[(J[b+28>>2]+P(J[a+172>>2],12)|0)+8>>2]=I}function ab(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=b>>>3|0;b=J[d+12>>2];c=J[d+8>>2];if((b|0)==(c|0)){i=26060,j=J[6515]&ml(e),J[i>>2]=j;break b}J[c+12>>2]=b;J[b+8>>2]=c;break b}g=J[d+24>>2];b=J[d+12>>2];if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}e=d+20|0;c=J[e>>2];if(!c){c=J[d+16>>2];if(!c){break d}e=d+16|0}while(1){h=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[h>>2]=0;break c}b=J[f+4>>2];if((b&3)!=3){break b}J[6517]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[f>>2]=a;return}b=0}if(!g){break b}c=J[d+28>>2];e=(c<<2)+26364|0;e:{if(J[e>>2]==(d|0)){J[e>>2]=b;if(b){break e}i=26064,j=J[6516]&ml(c),J[i>>2]=j;break b}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=g;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{g:{h:{i:{if(!(b&2)){if(J[6521]==(f|0)){J[6521]=d;a=J[6518]+a|0;J[6518]=a;J[d+4>>2]=a|1;if(J[6520]!=(d|0)){break a}J[6517]=0;J[6520]=0;return}if(J[6520]==(f|0)){J[6520]=d;a=J[6517]+a|0;J[6517]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;if(b>>>0<=255){e=b>>>3|0;b=J[f+12>>2];c=J[f+8>>2];if((b|0)==(c|0)){i=26060,j=J[6515]&ml(e),J[i>>2]=j;break g}J[c+12>>2]=b;J[b+8>>2]=c;break g}g=J[f+24>>2];b=J[f+12>>2];if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}e=f+20|0;c=J[e>>2];if(!c){c=J[f+16>>2];if(!c){break i}e=f+16|0}while(1){h=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[h>>2]=0;break h}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;break f}b=0}if(!g){break g}c=J[f+28>>2];e=(c<<2)+26364|0;j:{if(J[e>>2]==(f|0)){J[e>>2]=b;if(b){break j}i=26064,j=J[6516]&ml(c),J[i>>2]=j;break g}J[g+(J[g+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=g;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[6520]!=(d|0)){break f}J[6517]=a;return}if(a>>>0<=255){b=(a&-8)+26100|0;c=J[6515];a=1<<(a>>>3);k:{if(!(c&a)){J[6515]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}c=31;if(a>>>0<=16777215){b=S(a>>>8|0);c=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=c;J[d+16>>2]=0;J[d+20>>2]=0;b=(c<<2)+26364|0;l:{m:{e=J[6516];h=1<>2]=d;J[d+24>>2]=b;break n}c=a<<((c|0)!=31?25-(c>>>1|0)|0:0);b=J[b>>2];while(1){e=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=c>>>29|0;c=c<<1;h=e+(b&4)|0;b=J[h+16>>2];if(b){continue}break}J[h+16>>2]=d;J[d+24>>2]=e}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[e+8>>2];J[a+12>>2]=d;J[e+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=e;J[d+8>>2]=a}a=J[6523]-1|0;J[6523]=a?a:-1}}function Uf(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=0,B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0);c=J[a+48>>2];A=J[c+8>>2];J[a+152>>2]=A;m=J[a+52>>2];s=J[m+8>>2];J[a+156>>2]=s;H=N[c+32>>2];h=J[c+32>>2];d=N[c+28>>2];J[a+160>>2]=J[c+28>>2];J[a+164>>2]=h;I=N[m+32>>2];w=J[m+32>>2];o=N[m+28>>2];h=J[m+28>>2];J[a+168>>2]=h;J[a+172>>2]=w;x=N[c+120>>2];N[a+176>>2]=x;y=N[m+120>>2];N[a+180>>2]=y;t=N[c+128>>2];N[a+184>>2]=t;u=N[m+128>>2];N[a+188>>2]=u;k=N[a+96>>2];m=J[b+24>>2];c=P(A,12);h=m+c|0;g=N[h+8>>2];e=_a(g);j=N[a+92>>2];g=Za(g);w=J[b+28>>2];c=c+w|0;B=N[c>>2];C=N[c+4>>2];D=N[c+8>>2];s=P(s,12);c=s+w|0;E=N[c>>2];F=N[c+4>>2];G=N[c+8>>2];l=N[h>>2];c=m+s|0;q=N[c>>2];p=N[h+4>>2];L=N[c+4>>2];M=N[a+72>>2];n=N[c+8>>2];f=N[a+80>>2];O=N[a+68>>2];i=N[a+76>>2];r=Q(Q(g*j)+Q(e*k));N[a+204>>2]=r;z=Q(Q(e*j)-Q(k*g));N[a+200>>2]=z;j=N[a+84>>2];v=N[a+88>>2];k=Q(Q(g*j)+Q(e*v));N[a+196>>2]=k;j=Q(Q(e*j)-Q(v*g));N[a+192>>2]=j;v=_a(n);o=Q(i-o);i=Q(f-I);n=Za(n);f=Q(Q(v*o)-Q(i*n));i=Q(Q(n*o)+Q(v*i));n=Q(Q(f*r)-Q(z*i));N[a+220>>2]=n;o=Q(Q(f*k)-Q(j*i));N[a+212>>2]=o;f=Q(Q(q+f)-l);d=Q(O-d);l=Q(M-H);q=Q(Q(e*d)-Q(g*l));f=Q(f-q);g=Q(Q(g*d)+Q(e*l));e=Q(Q(Q(L+i)-p)-g);i=Q(q+f);d=Q(g+e);g=Q(Q(i*r)-Q(z*d));N[a+216>>2]=g;i=Q(Q(i*k)-Q(j*d));N[a+208>>2]=i;l=Q(x+y);d=Q(Q(Q(u*n)*n)+Q(Q(Q(t*g)*g)+l));N[a+224>>2]=d>Q(0)?Q(Q(1)/d):d;a:{b:{d=Q(Q(Q(u*o)*o)+Q(Q(Q(t*i)*i)+l));if(!(d>Q(0))){J[a+232>>2]=0;J[a+236>>2]=0;J[a+240>>2]=0;J[a+244>>2]=0;break b}J[a+244>>2]=0;J[a+236>>2]=0;J[a+240>>2]=0;N[a+232>>2]=Q(1)/d;l=N[a+144>>2];if(!(l>Q(0))){break b}q=N[b>>2];p=Q(q*Q(Q(q*l)+N[a+148>>2]));p=p>Q(0)?Q(Q(1)/p):p;N[a+244>>2]=p;N[a+240>>2]=Q(l*Q(q*Q(Q(f*j)+Q(e*k))))*p;d=Q(d+p);N[a+236>>2]=d>Q(0)?Q(Q(1)/d):d;break a}J[a+108>>2]=0}c:{if(K[a+140|0]){N[a+120>>2]=Q(j*f)+Q(e*k);break c}J[a+112>>2]=0;J[a+116>>2]=0}d:{if(K[a+141|0]){e=Q(t+u);N[a+228>>2]=e;if(!(e>Q(0))){break d}N[a+228>>2]=Q(1)/e;break d}J[a+104>>2]=0;J[a+228>>2]=0}e:{if(K[b+20|0]){f=N[b+8>>2];e=Q(f*N[a+100>>2]);N[a+100>>2]=e;d=Q(f*N[a+108>>2]);N[a+108>>2]=d;f=Q(f*N[a+104>>2]);N[a+104>>2]=f;l=k;k=Q(Q(d+N[a+112>>2])-N[a+116>>2]);r=Q(Q(r*e)+Q(l*k));F=Q(F+Q(y*r));j=Q(Q(z*e)+Q(j*k));E=Q(E+Q(y*j));C=Q(C-Q(x*r));B=Q(B-Q(x*j));G=Q(Q(u*Q(f+Q(Q(e*n)+Q(o*k))))+G);D=Q(D-Q(t*Q(f+Q(Q(e*g)+Q(i*k)))));break e}J[a+100>>2]=0;J[a+104>>2]=0;J[a+116>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0}h=J[b+28>>2]+P(A,12)|0;N[h+4>>2]=C;N[h>>2]=B;h=J[b+28>>2];N[(h+P(J[a+152>>2],12)|0)+8>>2]=D;h=h+P(J[a+156>>2],12)|0;N[h+4>>2]=F;N[h>>2]=E;N[(J[b+28>>2]+P(J[a+156>>2],12)|0)+8>>2]=G}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=0,o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=0,u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=Q(0),E=Q(0),F=Q(0),G=Q(0),K=0,L=0,M=Q(0),O=Q(0),R=0,S=0;g=J[J[a+48>>2]+12>>2];a=J[J[a+52>>2]+12>>2];f=La-96|0;La=f;l=b;J[b+60>>2]=0;e=N[a+8>>2];k=N[g+8>>2];J[f+92>>2]=0;r=Q(k+e);e=td(f+92|0,g,c,a,d);a:{if(r>2]=0;k=td(f+88|0,a,d,g,c);if(k>r){break a}B=k>Q(e+Q(.0005000000237487257));b:{if(B){n=2;b=c;c=g;g=f+88|0;break b}n=1;b=d;d=c;c=a;a=g;g=f+92|0}v=N[b>>2];w=N[b+4>>2];F=N[d>>2];G=N[d+4>>2];k=N[b+12>>2];p=N[b+8>>2];h=N[d+12>>2];m=N[d+8>>2];s=J[g>>2];J[l+56>>2]=n;K=s<<3;x=Q(-p);d=0;n=J[c+148>>2];c:{if((n|0)<=0){break c}b=a+K|0;e=N[b+84>>2];i=N[b+88>>2];j=Q(Q(m*e)+Q(h*i));e=Q(Q(h*e)-Q(i*m));i=Q(Q(k*j)-Q(p*e));j=Q(Q(k*e)+Q(p*j));C=c+84|0;R=n&1;d:{if((n|0)==1){e=Q(34028234663852886e22);g=0;break d}S=n&-2;e=Q(34028234663852886e22);g=0;b=0;while(1){t=(g<<3)+C|0;o=Q(Q(j*N[t>>2])+Q(i*N[t+4>>2]));t=o>2])+Q(i*N[u+4>>2]));e=t?o:e;u=q>2])+Q(i*N[b+4>>2]))>2];i=N[c+4>>2];I[f+74>>1]=1;H[f+73|0]=d;H[f+72|0]=s;N[f+68>>2]=w+Q(Q(p*e)+Q(k*i));N[f+64>>2]=v+Q(Q(k*e)+Q(i*x));c=d+1|0;c=(c|0)<(n|0)?c:0;b=b+(c<<3)|0;e=N[b>>2];i=N[b+4>>2];H[f+84|0]=s;N[f+80>>2]=w+Q(Q(p*e)+Q(k*i));I[f+86>>1]=1;H[f+85|0]=c;N[f+76>>2]=v+Q(Q(k*e)+Q(i*x));b=s+1|0;b=(b|0)>2]?b:0;a=a+20|0;c=(b<<3)+a|0;q=N[c>>2];a=a+K|0;y=N[a>>2];e=Q(q-y);z=N[c+4>>2];A=N[a+4>>2];i=Q(z-A);j=Q(Y(Q(Q(e*e)+Q(i*i))));if(!(j>2]=j;D=Q(-m);o=Q(Q(h*e)+Q(i*D));N[f+56>>2]=o;N[f+4>>2]=-j;E=Q(-o);N[f>>2]=E;M=Q(F+Q(Q(h*y)+Q(A*D)));O=Q(G+Q(Q(m*y)+Q(h*A)));if((hc(f+32|0,f- -64|0,f,Q(r-Q(Q(o*M)+Q(O*j))),s)|0)<2){break a}if((hc(f,f+32|0,f+56|0,Q(r+Q(Q(o*Q(F+Q(Q(h*q)+Q(z*D))))+Q(Q(G+Q(Q(m*q)+Q(h*z)))*j))),b)|0)<2){break a}N[l+48>>2]=Q(y+q)*Q(.5);N[l+40>>2]=i;N[l+52>>2]=Q(A+z)*Q(.5);N[l+44>>2]=-e;g=0;e=N[f>>2];h=N[f+4>>2];m=Q(Q(j*M)-Q(O*o));e:{if(!(Q(Q(Q(j*e)+Q(h*E))-m)<=r)){break e}e=Q(e-v);h=Q(h-w);N[l+4>>2]=Q(x*e)+Q(k*h);N[l>>2]=Q(k*e)+Q(p*h);a=J[f+8>>2];J[l+16>>2]=a;g=1;if(!B){break e}H[l+17|0]=a;H[l+19|0]=a>>>16;H[l+18|0]=a>>>24;H[l+16|0]=a>>>8}e=N[f+12>>2];h=N[f+16>>2];if(Q(Q(Q(j*e)+Q(h*E))-m)<=r){a=P(g,20)+l|0;e=Q(e-v);h=Q(h-w);N[a+4>>2]=Q(x*e)+Q(k*h);N[a>>2]=Q(k*e)+Q(p*h);b=J[f+20>>2];J[a+16>>2]=b;if(B){H[a+17|0]=b;H[a+19|0]=b>>>16;H[a+18|0]=b>>>24;H[a+16|0]=b>>>8}g=g+1|0}J[l+60>>2]=g}La=f+96|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:{g=a+16|0;e=J[g>>2];if(!e){break a}c=g;d=e;while(1){f=M[d+16>>2]>>0;c=f?c:d;d=J[(f?d+4|0:d)>>2];if(d){continue}break}if((c|0)==(g|0)|M[c+16>>2]>b>>>0){break a}b=J[c+4>>2];b:{if(!b){b=c;while(1){d=J[b+8>>2];g=J[d>>2]!=(b|0);b=d;if(g){continue}break}break b}while(1){d=b;b=J[b>>2];if(b){continue}break}}if(J[a+12>>2]==(c|0)){J[a+12>>2]=d}J[a+20>>2]=J[a+20>>2]-1;d=e;g=c;c:{d:{b=c;c=J[b>>2];if(c){a=J[g+4>>2];if(!a){break d}while(1){b=a;a=J[a>>2];if(a){continue}break}}c=J[b+4>>2];if(c){break d}c=0;e=1;break c}J[c+8>>2]=J[b+8>>2];e=0}f=J[b+8>>2];a=J[f>>2];e:{if((b|0)==(a|0)){J[f>>2]=c;if((b|0)==(d|0)){a=0;d=c;break e}a=J[f+4>>2];break e}J[f+4>>2]=c}h=!K[b+12|0];if((b|0)!=(g|0)){f=J[g+8>>2];J[b+8>>2]=f;J[f+(((g|0)!=J[J[g+8>>2]>>2])<<2)>>2]=b;f=J[g>>2];J[b>>2]=f;J[f+8>>2]=b;f=J[g+4>>2];J[b+4>>2]=f;if(f){J[f+8>>2]=b}H[b+12|0]=K[g+12|0];d=(d|0)==(g|0)?b:d}f:{if(h|!d){break f}if(e){while(1){b=K[a+12|0];g:{e=J[a+8>>2];if(J[e>>2]!=(a|0)){if(!b){H[a+12|0]=1;H[e+12|0]=0;c=J[e+4>>2];b=J[c>>2];J[e+4>>2]=b;if(b){J[b+8>>2]=e}J[c+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=c;J[c>>2]=e;J[e+8>>2]=c;b=a;a=J[a>>2];d=(a|0)==(d|0)?b:d;a=J[a+4>>2]}h:{i:{b=J[a>>2];j:{if(!(K[b+12|0]?0:b)){c=J[a+4>>2];if(K[c+12|0]?0:c){break j}H[a+12|0]=0;a=J[a+8>>2];k:{if((d|0)==(a|0)){a=d;break k}if(K[a+12|0]){break g}}H[a+12|0]=1;break f}c=J[a+4>>2];if(!c){break i}}if(K[c+12|0]){break i}b=a;break h}H[b+12|0]=1;H[a+12|0]=0;c=J[b+4>>2];J[a>>2]=c;if(c){J[c+8>>2]=a}J[b+8>>2]=J[a+8>>2];c=J[a+8>>2];J[((J[c>>2]!=(a|0))<<2)+c>>2]=b;J[b+4>>2]=a;J[a+8>>2]=b;c=a}d=J[b+8>>2];H[b+12|0]=K[d+12|0];H[d+12|0]=1;H[c+12|0]=1;b=J[d+4>>2];a=J[b>>2];J[d+4>>2]=a;if(a){J[a+8>>2]=d}J[b+8>>2]=J[d+8>>2];a=J[d+8>>2];J[(((d|0)!=J[a>>2])<<2)+a>>2]=b;J[b>>2]=d;J[d+8>>2]=b;break f}if(!b){H[a+12|0]=1;H[e+12|0]=0;b=J[a+4>>2];J[e>>2]=b;if(b){J[b+8>>2]=e}J[a+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=a;J[a+4>>2]=e;J[e+8>>2]=a;d=(d|0)==(e|0)?a:d;a=J[e>>2]}c=J[a>>2];l:{if(!(!c|K[c+12|0])){b=a;break l}b=J[a+4>>2];if(!(K[b+12|0]?0:b)){H[a+12|0]=0;a=J[a+8>>2];if((a|0)!=(d|0)?K[a+12|0]:0){break g}H[a+12|0]=1;break f}if(c){if(!K[c+12|0]){b=a;break l}b=J[a+4>>2]}H[b+12|0]=1;H[a+12|0]=0;c=J[b>>2];J[a+4>>2]=c;if(c){J[c+8>>2]=a}J[b+8>>2]=J[a+8>>2];c=J[a+8>>2];J[((J[c>>2]!=(a|0))<<2)+c>>2]=b;J[b>>2]=a;J[a+8>>2]=b;c=a}d=J[b+8>>2];H[b+12|0]=K[d+12|0];H[d+12|0]=1;H[c+12|0]=1;b=J[d>>2];a=J[b+4>>2];J[d>>2]=a;if(a){J[a+8>>2]=d}J[b+8>>2]=J[d+8>>2];a=J[d+8>>2];J[(((d|0)!=J[a>>2])<<2)+a>>2]=b;J[b+4>>2]=d;J[d+8>>2]=b;break f}b=a;a=J[a+8>>2];a=J[(((b|0)==J[a>>2])<<2)+a>>2];continue}}H[c+12|0]=1}ab(g)}}function _f(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=0,h=Q(0),i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=0,o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0;g=La-48|0;La=g;n=J[a+48>>2];B=J[n+8>>2];J[a+116>>2]=B;j=J[a+52>>2];C=J[j+8>>2];J[a+120>>2]=C;o=N[n+32>>2];f=J[n+32>>2];c=N[n+28>>2];k=J[n+28>>2];J[a+140>>2]=k;J[a+144>>2]=f;s=N[j+32>>2];f=J[j+32>>2];l=N[j+28>>2];J[a+148>>2]=J[j+28>>2];J[a+152>>2]=f;t=N[n+120>>2];N[a+156>>2]=t;u=N[j+120>>2];N[a+160>>2]=u;q=N[n+128>>2];N[a+164>>2]=q;r=N[j+128>>2];N[a+168>>2]=r;i=N[a+84>>2];n=J[b+24>>2];k=P(B,12);p=N[(n+k|0)+8>>2];e=Za(p);h=N[a+80>>2];d=_a(p);j=J[b+28>>2];k=j+k|0;v=N[k>>2];w=N[k+4>>2];x=N[k+8>>2];f=j;j=P(C,12);k=f+j|0;y=N[k>>2];z=N[k+4>>2];A=N[k+8>>2];m=N[(j+n|0)+8>>2];h=Q(h-c);i=Q(i-o);c=Q(Q(d*h)-Q(e*i));N[a+124>>2]=c;i=Q(Q(e*h)+Q(d*i));N[a+128>>2]=i;e=N[a+92>>2];d=Za(m);h=N[a+88>>2];o=_a(m);l=Q(h-l);h=Q(e-s);e=Q(Q(o*l)-Q(d*h));N[a+132>>2]=e;d=Q(Q(d*l)+Q(o*h));N[a+136>>2]=d;h=Q(Q(c*q)+Q(r*e));N[g+40>>2]=h;l=Q(q+r);N[g+44>>2]=l;N[g+32>>2]=h;h=Q(t+u);N[g+28>>2]=Q(r*Q(e*e))+Q(Q(q*Q(c*c))+h);o=Q(-i);s=Q(Q(q*o)-Q(r*d));N[g+36>>2]=s;N[g+20>>2]=s;c=Q(Q(q*Q(c*o))-Q(r*Q(e*d)));N[g+24>>2]=c;N[g+12>>2]=Q(r*Q(d*d))+Q(Q(q*Q(i*i))+h);N[g+16>>2]=c;a:{if(N[a+68>>2]>Q(0)){Rd(g+12|0,a+172|0);c=N[b>>2];d=N[a+68>>2];e=Q(c*Q(Q(c*d)+N[a+72>>2]));e=e!=Q(0)?Q(Q(1)/e):Q(0);N[a+100>>2]=e;N[a+76>>2]=Q(d*Q(c*Q(Q(m-p)-N[a+96>>2])))*e;c=Q(l+e);N[a+204>>2]=c!=Q(0)?Q(Q(1)/c):Q(0);break a}f=a+172|0;if(l==Q(0)){Rd(g+12|0,f);J[a+76>>2]=0;J[a+100>>2]=0;break a}m=N[g+24>>2];e=N[g+40>>2];p=N[g+28>>2];d=N[g+36>>2];h=Q(Q(m*e)-Q(p*d));i=N[g+12>>2];l=N[g+44>>2];o=Q(p*l);c=N[g+32>>2];s=Q(l*Q(-m));c=Q(Q(N[g+20>>2]*h)+Q(Q(i*Q(o-Q(e*c)))+Q(N[g+16>>2]*Q(Q(c*d)+s))));c=c!=Q(0)?Q(Q(1)/c):c;N[f+32>>2]=Q(Q(i*p)-Q(m*m))*c;m=Q(c*Q(Q(d*m)-Q(e*i)));N[f+28>>2]=m;p=Q(h*c);N[f+24>>2]=p;N[f+20>>2]=m;N[f+16>>2]=c*Q(Q(i*l)-Q(d*d));d=Q(c*Q(Q(d*e)+s));N[f+12>>2]=d;N[f+8>>2]=p;N[f+4>>2]=d;N[f>>2]=c*Q(o-Q(e*e));J[a+76>>2]=0;J[a+100>>2]=0}b:{if(K[b+20|0]){d=N[b+8>>2];c=Q(d*N[a+104>>2]);N[a+104>>2]=c;e=Q(d*N[a+108>>2]);N[a+108>>2]=e;d=Q(d*N[a+112>>2]);N[a+112>>2]=d;A=Q(Q(r*Q(d+Q(Q(N[a+132>>2]*e)-Q(c*N[a+136>>2]))))+A);x=Q(x-Q(q*Q(d+Q(Q(N[a+124>>2]*e)-Q(c*N[a+128>>2])))));y=Q(y+Q(u*c));v=Q(v-Q(t*c));z=Q(z+Q(u*e));w=Q(w-Q(t*e));break b}J[a+104>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0}f=J[b+28>>2]+P(J[a+116>>2],12)|0;N[f+4>>2]=w;N[f>>2]=v;f=J[b+28>>2];N[(f+P(J[a+116>>2],12)|0)+8>>2]=x;f=f+P(J[a+120>>2],12)|0;N[f+4>>2]=z;N[f>>2]=y;N[(J[b+28>>2]+P(J[a+120>>2],12)|0)+8>>2]=A;La=g+48|0}function wh(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0,H=Q(0),I=Q(0),K=Q(0),L=Q(0),M=Q(0),O=Q(0),R=Q(0),S=Q(0);f=J[a+76>>2];k=J[b+24>>2];G=k+P(J[a+172>>2],12)|0;H=N[G+4>>2];I=N[G>>2];o=k+P(J[a+168>>2],12)|0;u=N[o+8>>2];K=N[o+4>>2];L=N[o>>2];o=k+P(J[a+164>>2],12)|0;M=N[o+4>>2];O=N[o>>2];k=k+P(J[a+160>>2],12)|0;v=N[k+8>>2];R=N[k+4>>2];S=N[k>>2];w=N[o+8>>2];x=N[G+8>>2];r=_a(x);s=Za(x);g=_a(w);n=Za(w);a:{if((f|0)==1){y=N[a+224>>2];z=N[a+232>>2];p=Q(y+z);A=Q(1);B=Q(1);c=Q(Q(v-u)-N[a+140>>2]);break a}q=N[a+124>>2];l=_a(u);j=N[a+128>>2];m=Za(u);d=N[a+180>>2];c=N[a+96>>2];i=_a(v);e=Q(N[a+92>>2]-N[a+176>>2]);h=Za(v);c=Q(c-d);d=Q(Q(i*e)-Q(h*c));C=Q(Q(m*q)+Q(l*j));D=Q(Q(l*q)-Q(j*m));c=Q(Q(h*e)+Q(i*c));A=Q(Q(d*C)-Q(D*c));y=N[a+224>>2];e=Q(N[a+108>>2]-N[a+192>>2]);h=Q(N[a+112>>2]-N[a+196>>2]);B=Q(Q(Q(Q(l*e)-Q(m*h))*C)-Q(D*Q(Q(m*e)+Q(l*h))));z=N[a+232>>2];p=Q(Q(Q(y*A)*A)+Q(Q(Q(B*z)*B)+Q(N[a+216>>2]+N[a+208>>2])));d=Q(Q(S-L)+d);c=Q(Q(R-K)+c);c=Q(Q(q*Q(Q(Q(l*d)+Q(m*c))-e))+Q(j*Q(Q(Q(l*c)-Q(m*d))-h)))}j=Q(0);d=Q(p+Q(0));b:{if(J[a+80>>2]==1){i=Q(Q(w-x)-N[a+144>>2]);e=N[a+152>>2];E=N[a+228>>2];F=N[a+236>>2];t=Q(Q(Q(e*e)*Q(E+F))+d);h=e;p=e;d=Q(0);break b}t=d;E=N[a+228>>2];e=N[a+152>>2];h=Q(N[a+100>>2]-N[a+184>>2]);d=Q(N[a+104>>2]-N[a+188>>2]);i=Q(Q(g*h)-Q(d*n));l=N[a+132>>2];m=N[a+136>>2];q=Q(Q(s*l)+Q(r*m));j=Q(Q(r*l)-Q(m*s));d=Q(Q(n*h)+Q(g*d));h=Q(e*Q(Q(i*q)-Q(j*d)));g=Q(N[a+116>>2]-N[a+200>>2]);n=Q(N[a+120>>2]-N[a+204>>2]);p=Q(e*Q(Q(Q(Q(r*g)-Q(n*s))*q)-Q(j*Q(Q(s*g)+Q(r*n)))));F=N[a+236>>2];t=Q(t+Q(Q(Q(E*h)*h)+Q(Q(Q(e*e)*Q(N[a+220>>2]+N[a+212>>2]))+Q(p*Q(p*F)))));i=Q(Q(O-I)+i);d=Q(Q(M-H)+d);i=Q(Q(Q(Q(Q(r*i)+Q(s*d))-g)*l)+Q(m*Q(Q(Q(r*d)-Q(s*i))-n)));j=Q(j*e);d=Q(q*e)}g=Q(0);g=t>Q(0)?Q(Q(-Q(Q(Q(e*i)+c)-N[a+148>>2]))/t):g;n=N[a+220>>2];i=N[a+216>>2];e=N[a+212>>2];c=Q(g*N[a+208>>2]);N[k+4>>2]=R+Q(C*c);N[k>>2]=S+Q(D*c);f=J[b+24>>2];N[(f+P(J[a+160>>2],12)|0)+8>>2]=Q(Q(g*y)*A)+v;f=f+P(J[a+164>>2],12)|0;c=Q(g*e);N[f+4>>2]=M+Q(d*c);N[f>>2]=O+Q(j*c);f=J[b+24>>2];N[(f+P(J[a+164>>2],12)|0)+8>>2]=Q(Q(g*E)*h)+w;f=f+P(J[a+168>>2],12)|0;c=Q(g*i);N[f+4>>2]=K-Q(C*c);N[f>>2]=L-Q(D*c);f=J[b+24>>2];N[(f+P(J[a+168>>2],12)|0)+8>>2]=u-Q(Q(g*z)*B);f=f+P(J[a+172>>2],12)|0;c=Q(g*n);N[f+4>>2]=H-Q(d*c);N[f>>2]=I-Q(j*c);N[(J[b+24>>2]+P(J[a+172>>2],12)|0)+8>>2]=x-Q(Q(g*F)*p);return 1}function Od(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0,p=0,q=0,r=0,s=Q(0),t=0,u=0,v=0,w=0,x=0;k=J[a+4>>2];h=k+P(b,40)|0;p=J[h+24>>2];if((p|0)==-1){return b}if(J[h+32>>2]<2){return b}j=P(b,40)+k|0;q=J[j+28>>2];g=P(q,40)+k|0;t=J[g+32>>2];l=P(p,40)+k|0;u=J[l+32>>2];i=t-u|0;a:{if((i|0)>=2){o=J[g+24>>2];J[g+24>>2]=b;J[g+20>>2]=J[j+20>>2];r=J[g+28>>2];J[j+20>>2]=q;t=P(r,40);v=t+k|0;p=P(o,40);w=p+k|0;i=J[g+20>>2];if((i|0)!=-1){a=J[a+4>>2]+P(i,40)|0;a=J[a+24>>2]==(b|0)?a+24|0:a+28|0}J[a>>2]=q;t=k+t|0;a=J[t+32>>2];p=k+p|0;i=J[p+32>>2];b:{if((a|0)<(i|0)){x=p+32|0;J[g+28>>2]=o;J[j+28>>2]=r;J[t+20>>2]=b;f=N[v>>2];e=N[l>>2];d=N[l+4>>2];c=N[v+4>>2];m=c>d?d:c;N[h+4>>2]=m;n=e>2]=n;s=N[v+8>>2];e=N[l+8>>2];d=N[l+12>>2];c=N[v+12>>2];f=c>2]=f;e=e>s?e:s;N[h+8>>2]=e;d=N[w>>2];c=N[w+4>>2];N[g+4>>2]=c>m?m:c;N[g>>2]=d>n?n:d;c=N[w+12>>2];d=c>2];c=c>2]=r;J[j+28>>2]=o;J[p+20>>2]=b;f=N[w>>2];e=N[l>>2];d=N[l+4>>2];c=N[w+4>>2];m=c>d?d:c;N[h+4>>2]=m;n=e>2]=n;s=N[w+8>>2];e=N[l+8>>2];d=N[l+12>>2];c=N[w+12>>2];f=c>2]=f;e=e>s?e:s;N[h+8>>2]=e;d=N[v>>2];c=N[v+4>>2];N[g+4>>2]=c>m?m:c;N[g>>2]=d>n?n:d;c=N[v+12>>2];d=c>2];c=c>2]=c;a=(a|0)<(u|0)?u:a;break a}if((i|0)>-2){return b}r=P(p,40)+k|0;u=J[r+24>>2];J[r+24>>2]=b;i=P(b,40)+k|0;J[r+20>>2]=J[i+20>>2];q=J[r+28>>2];J[i+20>>2]=p;i=J[r+20>>2];if((i|0)!=-1){a=J[a+4>>2]+P(i,40)|0;a=J[a+24>>2]==(b|0)?a+24|0:a+28|0}J[a>>2]=p;j=P(q,40)+k|0;a=J[j+32>>2];o=P(u,40)+k|0;i=J[o+32>>2];c:{if((a|0)<(i|0)){x=o+32|0;J[r+28>>2]=u;J[h+24>>2]=q;J[(P(q,40)+k|0)+20>>2]=b;f=N[j>>2];e=N[g>>2];d=N[g+4>>2];c=N[j+4>>2];m=c>d?d:c;N[h+4>>2]=m;n=e>2]=n;s=N[j+8>>2];e=N[g+8>>2];d=N[g+12>>2];c=N[j+12>>2];f=c>2]=f;e=e>s?e:s;N[h+8>>2]=e;d=N[o>>2];c=N[o+4>>2];N[l+4>>2]=c>m?m:c;N[l>>2]=d>n?n:d;c=N[o+12>>2];d=c>2];c=c>2]=q;J[h+24>>2]=u;J[(P(u,40)+k|0)+20>>2]=b;f=N[o>>2];e=N[g>>2];d=N[g+4>>2];c=N[o+4>>2];m=c>d?d:c;N[h+4>>2]=m;n=e>2]=n;s=N[o+8>>2];e=N[g+8>>2];d=N[g+12>>2];c=N[o+12>>2];f=c>2]=f;e=e>s?e:s;N[h+8>>2]=e;d=N[j>>2];c=N[j+4>>2];N[l+4>>2]=c>m?m:c;N[l>>2]=d>n?n:d;c=N[j+12>>2];d=c>2];c=c>2]=c;q=p;a=(a|0)<(t|0)?t:a}b=a+1|0;J[h+32>>2]=b;a=J[x>>2];N[(P(q,40)+k|0)+12>>2]=d;J[i>>2]=((a|0)<(b|0)?b:a)+1;return q}function Lg(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=0,g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0,z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=0,G=Q(0),H=Q(0),I=0,L=Q(0),M=Q(0),O=Q(0);f=J[a+48>>2];y=J[f+8>>2];J[a+144>>2]=y;h=J[a+52>>2];F=J[h+8>>2];J[a+148>>2]=F;G=N[f+32>>2];d=J[f+32>>2];n=N[f+28>>2];J[a+152>>2]=J[f+28>>2];J[a+156>>2]=d;H=N[h+32>>2];I=J[h+32>>2];m=N[h+28>>2];d=J[h+28>>2];J[a+160>>2]=d;J[a+164>>2]=I;v=N[f+120>>2];N[a+168>>2]=v;w=N[h+120>>2];N[a+172>>2]=w;o=N[f+128>>2];N[a+176>>2]=o;t=N[h+128>>2];N[a+180>>2]=t;f=P(y,12);h=J[b+28>>2];d=f+h|0;z=N[d>>2];A=N[d+4>>2];B=N[d+8>>2];d=h;h=P(F,12);d=d+h|0;C=N[d>>2];D=N[d+4>>2];E=N[d+8>>2];d=f;f=J[b+24>>2];d=d+f|0;k=N[d>>2];f=f+h|0;j=N[f>>2];x=N[d+4>>2];L=N[f+4>>2];M=N[a+72>>2];l=N[f+8>>2];i=N[a+80>>2];p=N[a+88>>2];c=N[d+8>>2];O=N[a+68>>2];g=N[a+76>>2];q=N[a+84>>2];e=Q(o+t);N[a+228>>2]=e==Q(0)?Q(1):e;e=_a(c);c=Za(c);u=Q(Q(q*c)+Q(e*p));N[a+188>>2]=u;p=Q(Q(e*q)-Q(p*c));N[a+184>>2]=p;r=N[a+92>>2];s=N[a+96>>2];q=Q(Q(c*r)+Q(e*s));N[a+196>>2]=q;r=Q(Q(e*r)-Q(s*c));N[a+192>>2]=r;s=_a(l);m=Q(g-m);g=Q(i-H);l=Za(l);i=Q(Q(s*m)-Q(g*l));g=Q(Q(l*m)+Q(s*g));l=Q(Q(i*u)-Q(p*g));N[a+212>>2]=l;m=Q(Q(i*q)-Q(r*g));N[a+204>>2]=m;s=Q(Q(j-k)+i);i=Q(O-n);k=Q(M-G);j=Q(Q(e*i)-Q(c*k));n=Q(s-j);c=Q(Q(c*i)+Q(e*k));e=Q(Q(Q(L-x)+g)-c);g=Q(j+n);c=Q(c+e);i=Q(Q(g*u)-Q(p*c));N[a+208>>2]=i;g=Q(Q(g*q)-Q(r*c));N[a+200>>2]=g;c=Q(o*g);k=Q(t*m);j=Q(c+k);N[a+224>>2]=j;N[a+220>>2]=j;j=Q(c*g);c=Q(v+w);N[a+216>>2]=Q(k*m)+Q(j+c);c=Q(Q(Q(t*l)*l)+Q(Q(Q(o*i)*i)+c));N[a+236>>2]=c>Q(0)?Q(Q(1)/c):c;a:{if(K[a+140|0]){N[a+232>>2]=Q(p*n)+Q(u*e);break a}J[a+116>>2]=0;J[a+120>>2]=0}if(!K[a+141|0]){J[a+112>>2]=0}b:{if(K[b+20|0]){e=N[b+8>>2];c=Q(e*N[a+104>>2]);N[a+104>>2]=c;k=Q(e*N[a+112>>2]);N[a+112>>2]=k;j=Q(e*N[a+116>>2]);N[a+116>>2]=j;x=Q(e*N[a+120>>2]);N[a+120>>2]=x;n=Q(e*N[a+108>>2]);N[a+108>>2]=n;e=Q(Q(k+j)-x);E=Q(Q(t*Q(Q(e*l)+Q(Q(c*m)+n)))+E);B=Q(B-Q(o*Q(Q(e*i)+Q(Q(c*g)+n))));o=Q(Q(q*c)+Q(u*e));D=Q(D+Q(w*o));e=Q(Q(r*c)+Q(p*e));C=Q(C+Q(w*e));A=Q(A-Q(v*o));z=Q(z-Q(v*e));break b}J[a+104>>2]=0;J[a+108>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0}d=J[b+28>>2]+P(y,12)|0;N[d+4>>2]=A;N[d>>2]=z;d=J[b+28>>2];N[(d+P(J[a+144>>2],12)|0)+8>>2]=B;d=d+P(J[a+148>>2],12)|0;N[d+4>>2]=D;N[d>>2]=C;N[(J[b+28>>2]+P(J[a+148>>2],12)|0)+8>>2]=E}function Jg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0);e=La+-64|0;La=e;h=N[a+156>>2];u=N[a+72>>2];v=J[b+24>>2];m=v+P(J[a+144>>2],12)|0;x=N[m+8>>2];c=_a(x);n=N[a+152>>2];o=N[a+68>>2];k=Za(x);r=N[a+164>>2];j=N[a+80>>2];v=v+P(J[a+148>>2],12)|0;y=N[v+8>>2];l=_a(y);s=N[a+160>>2];f=N[a+76>>2];p=Za(y);w=N[a+92>>2];t=N[a+96>>2];z=Q(Q(c*w)-Q(k*t));D=N[v>>2];f=Q(f-s);j=Q(j-r);r=Q(Q(l*f)-Q(p*j));E=N[m>>2];n=Q(o-n);h=Q(u-h);o=Q(Q(c*n)-Q(k*h));d=Q(Q(Q(D+r)-E)-o);s=Q(Q(k*w)+Q(c*t));F=N[v+4>>2];l=Q(Q(p*f)+Q(l*j));G=N[m+4>>2];p=Q(Q(k*n)+Q(c*h));g=Q(Q(Q(F+l)-G)-p);f=Q(Q(z*d)+Q(s*g));w=Q(-f);u=f>Q(0)?f:w;h=Q(o+d);n=Q(p+g);p=Q(Q(h*s)-Q(z*n));j=h;h=N[a+84>>2];o=N[a+88>>2];t=Q(Q(k*h)+Q(c*o));A=Q(Q(c*h)-Q(o*k));n=Q(Q(j*t)-Q(A*n));h=Q(Q(r*s)-Q(z*l));r=Q(Q(r*t)-Q(A*l));B=Q(Q(y-x)-N[a+100>>2]);C=Q(-B);k=N[a+180>>2];l=N[a+176>>2];o=N[a+172>>2];j=N[a+168>>2];a:{b:{if(!K[a+140|0]){break b}c=Q(Q(A*d)+Q(t*g));g=N[a+128>>2];d=N[a+124>>2];i=Q(g-d);c:{if((i>Q(0)?i:Q(-i))Q(0)?c:Q(-c);break c}if(c<=d){q=Q(d-c);c=Q(c-d);c=c=g)){break b}q=Q(c-g);c=q>Q(0)?q:Q(0)}f=Q(l*n);d=Q(k*r);g=Q(f+d);N[e+56>>2]=g;N[e+48>>2]=g;g=Q(l+k);N[e+44>>2]=g==Q(0)?Q(1):g;g=Q(j+o);N[e+60>>2]=Q(d*r)+Q(Q(f*n)+g);f=Q(l*p);d=Q(k*h);i=Q(f+d);N[e+40>>2]=i;N[e+32>>2]=i;i=Q(Q(f*n)+Q(r*d));N[e+52>>2]=i;N[e+36>>2]=i;N[e+28>>2]=Q(d*h)+Q(Q(f*p)+g);N[e+12>>2]=-c;N[e+8>>2]=C;N[e+4>>2]=w;u=q>2];f=N[e+20>>2];c=N[e+16>>2];break a}c=Q(k*h);d=Q(l*p);g=Q(Q(c*h)+Q(Q(d*p)+Q(j+o)));i=Q(l+k);i=i==Q(0)?Q(1):i;c=Q(d+c);d=Q(Q(g*i)-Q(c*c));d=d!=Q(0)?Q(Q(1)/d):d;f=Q(Q(Q(g*C)+Q(f*c))*d);c=Q(Q(Q(i*w)+Q(B*c))*d)}m=J[b+24>>2]+P(J[a+144>>2],12)|0;s=Q(Q(s*c)+Q(t*q));N[m+4>>2]=G-Q(j*s);d=j;j=Q(Q(z*c)+Q(A*q));N[m>>2]=E-Q(d*j);m=J[b+24>>2];N[(m+P(J[a+144>>2],12)|0)+8>>2]=x-Q(l*Q(Q(q*n)+Q(Q(c*p)+f)));m=m+P(J[a+148>>2],12)|0;N[m+4>>2]=F+Q(o*s);N[m>>2]=D+Q(o*j);N[(J[b+24>>2]+P(J[a+148>>2],12)|0)+8>>2]=Q(k*Q(Q(q*r)+Q(Q(c*h)+f)))+y;La=e- -64|0;return(B>Q(0)?B:C)<=Q(.03490658849477768)&u<=Q(.004999999888241291)}function Ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=Q(0),z=Q(0);f=La-32|0;La=f;J[f+28>>2]=b;p=a+102868|0;J[f+24>>2]=p;J[f+16>>2]=1065353216;a=J[c+4>>2];J[f>>2]=J[c>>2];J[f+4>>2]=a;a=J[d+4>>2];J[f+8>>2]=J[d>>2];J[f+12>>2]=a;a=La-1088|0;La=a;i=N[f>>2];m=Q(N[f+8>>2]-i);n=m;j=N[f+4>>2];o=Q(N[f+12>>2]-j);e=o;g=Q(Y(Q(Q(m*m)+Q(e*e))));if(!(g>2];J[a+1064>>2]=256;d=a+36|0;J[a+32>>2]=d;J[a+36>>2]=J[p>>2];k=Q(j+Q(o*g));t=j>k?j:k;l=Q(i+Q(m*g));u=i>l?i:l;v=jQ(0)?n:Q(-n);w=Q(-e);z=e>2]=c;h=J[a+32>>2];b=J[h+(c<<2)>>2];b:{if((b|0)==-1){break b}x=P(b,40);b=x+J[p+4>>2]|0;e=N[b+8>>2];if(Q(k-e)>Q(0)){break b}l=N[b+12>>2];if(Q(v-l)>Q(0)){break b}q=N[b>>2];if(Q(q-u)>Q(0)){break b}r=N[b+4>>2];if(Q(r-t)>Q(0)){break b}s=Q(Q(w*Q(i-Q(Q(e+q)*Q(.5))))+Q(n*Q(j-Q(Q(l+r)*Q(.5)))));if(Q((s>Q(0)?s:Q(-s))-Q(Q(z*Q(Q(e-q)*Q(.5)))+Q(y*Q(Q(l-r)*Q(.5)))))>Q(0)){break b}if(J[b+24>>2]==-1){b=J[f+4>>2];J[a+8>>2]=J[f>>2];J[a+12>>2]=b;b=J[f+12>>2];c=J[f+8>>2];N[a+24>>2]=g;J[a+16>>2]=c;J[a+20>>2]=b;c=J[(J[J[f+24>>2]+4>>2]+x|0)+16>>2];b=J[c+16>>2];h=J[b+12>>2];c:{if(Na[J[J[h>>2]+20>>2]](h,a+1076|0,a+8|0,J[b+8>>2]+12|0,J[c+20>>2])|0){e=N[a+1084>>2];l=Q(Q(1)-e);N[a+1072>>2]=Q(l*N[a+12>>2])+Q(e*N[a+20>>2]);N[a+1068>>2]=Q(l*N[a+8>>2])+Q(e*N[a+16>>2]);c=J[f+28>>2];e=Q(Na[J[J[c>>2]+8>>2]](c,b,a+1068|0,a+1076|0,e));break c}e=N[a+24>>2]}if(e>Q(0)){g=Q(j+Q(o*e));t=gk?i:k;v=g>j?j:g;k=i>2];break b}d:{if(J[a+1064>>2]!=(c|0)){break d}J[a+1064>>2]=c<<1;c=fb(c<<3);J[a+32>>2]=c;rb(c,h,J[a+1060>>2]<<2);if((d|0)==(h|0)){break d}ab(h)}c=J[a+32>>2];J[c+(J[a+1060>>2]<<2)>>2]=J[b+24>>2];h=J[a+1060>>2]+1|0;J[a+1060>>2]=h;e:{if((h|0)!=J[a+1064>>2]){break e}J[a+1064>>2]=h<<1;h=fb(h<<3);J[a+32>>2]=h;rb(h,c,J[a+1060>>2]<<2);if((c|0)==(d|0)){break e}ab(c)}J[J[a+32>>2]+(J[a+1060>>2]<<2)>>2]=J[b+28>>2];c=J[a+1060>>2]+1|0;J[a+1060>>2]=c}if((c|0)>0){continue}}break}b=J[a+32>>2];if((b|0)!=(d|0)){ab(b)}La=a+1088|0;La=f+32|0}function gd(a){var b=0,c=Q(0),d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=0,j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0;h=La+-64|0;La=h;if(J[a+48>>2]>0){while(1){b=J[a+40>>2]+P(s,156)|0;o=N[b+132>>2];p=N[b+128>>2];q=N[b+124>>2];z=N[b+120>>2];i=J[a+28>>2];j=P(J[b+116>>2],12);d=i+j|0;t=N[d+8>>2];A=N[d+4>>2];B=N[d>>2];r=P(J[b+112>>2],12);d=r+i|0;u=N[d+8>>2];C=N[d+4>>2];D=N[d>>2];d=J[a+36>>2]+P(s,88)|0;E=N[d+80>>2];F=N[d+76>>2];G=J[J[a+44>>2]+(J[b+152>>2]<<2)>>2];i=j;j=J[a+24>>2];i=i+j|0;v=N[i>>2];w=N[i+4>>2];c=N[d+56>>2];g=N[d+60>>2];j=j+r|0;x=N[j>>2];y=N[j+4>>2];f=N[d+48>>2];l=N[d+52>>2];k=N[i+8>>2];m=N[j+8>>2];n=_a(m);N[h+60>>2]=n;m=Za(m);N[h+56>>2]=m;e=_a(k);N[h+44>>2]=e;k=Za(k);N[h+40>>2]=k;N[h+52>>2]=y-Q(Q(m*f)+Q(l*n));N[h+48>>2]=x-Q(Q(n*f)-Q(l*m));N[h+36>>2]=w-Q(Q(k*c)+Q(g*e));N[h+32>>2]=v-Q(Q(e*c)-Q(g*k));Vd(h,G- -64|0,h+48|0,F,h+32|0,E);d=J[h+4>>2];J[b+72>>2]=J[h>>2];J[b+76>>2]=d;r=J[b+148>>2];a:{if((r|0)<=0){break a}g=Q(z+q);i=0;while(1){j=(i<<3)+h|0;c=N[j+8>>2];d=P(i,36)+b|0;l=Q(N[j+12>>2]-y);N[d+4>>2]=l;k=Q(c-x);N[d>>2]=k;c=N[j+8>>2];n=Q(N[j+12>>2]-w);N[d+12>>2]=n;m=Q(c-v);N[d+8>>2]=m;f=N[b+76>>2];c=N[b+72>>2];J[d+32>>2]=0;e=Q(Q(m*f)-Q(c*n));q=Q(Q(o*e)*e);e=Q(Q(k*f)-Q(c*l));e=Q(q+Q(Q(Q(p*e)*e)+g));N[d+24>>2]=e>Q(0)?Q(Q(1)/e):Q(0);e=Q(-c);q=Q(Q(m*e)-Q(f*n));e=Q(Q(k*e)-Q(f*l));e=Q(Q(Q(o*q)*q)+Q(Q(Q(p*e)*e)+g));N[d+28>>2]=e>Q(0)?Q(Q(1)/e):Q(0);f=Q(Q(c*Q(Q(u*l)+Q(Q(B-Q(t*n))-D)))+Q(f*Q(Q(Q(A+Q(t*m))-C)-Q(u*k))));if(f>2]=f*Q(-N[b+140>>2])}i=i+1|0;if((r|0)!=(i|0)){continue}break}if(!K[23656]|J[b+148>>2]!=2){break a}l=N[b+76>>2];f=Q(Q(N[b+8>>2]*l)-Q(c*N[b+12>>2]));k=Q(o*f);e=Q(k*f);f=Q(Q(N[b>>2]*l)-Q(c*N[b+4>>2]));n=Q(p*f);f=Q(e+Q(Q(n*f)+g));e=o;o=Q(Q(N[b+44>>2]*l)-Q(c*N[b+48>>2]));c=Q(Q(N[b+36>>2]*l)-Q(c*N[b+40>>2]));p=Q(Q(Q(e*o)*o)+Q(Q(Q(p*c)*c)+g));c=Q(Q(k*o)+Q(Q(n*c)+g));g=Q(Q(f*p)-Q(c*c));if(Q(f*f)>2]=f;N[b+108>>2]=p;N[b+104>>2]=c;N[b+100>>2]=c;g=g!=Q(0)?Q(Q(1)/g):g;N[b+92>>2]=f*g;N[b+80>>2]=p*g;c=Q(c*Q(-g));N[b+88>>2]=c;N[b+84>>2]=c;break a}J[b+148>>2]=1}s=s+1|0;if((s|0)>2]){continue}break}}La=h- -64|0}function Vd(a,b,c,d,e,f){var g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=0,t=Q(0);a:{if(!J[b+60>>2]){break a}b:{switch(J[b+56>>2]){case 0:J[a>>2]=1065353216;J[a+4>>2]=0;h=N[c+12>>2];g=N[b+48>>2];j=N[b+52>>2];k=N[c+8>>2];i=Q(N[c>>2]+Q(Q(h*g)-Q(j*k)));o=N[e+12>>2];m=N[b>>2];n=N[b+4>>2];q=N[e+8>>2];l=Q(N[e>>2]+Q(Q(o*m)-Q(n*q)));r=Q(i-l);j=Q(Q(Q(k*g)+Q(h*j))+N[c+4>>2]);k=Q(Q(Q(q*m)+Q(o*n))+N[e+4>>2]);h=Q(j-k);c:{if(!(Q(Q(r*r)+Q(h*h))>Q(14210854715202004e-30))){h=Q(1);g=Q(0);break c}g=Q(k-j);N[a+4>>2]=g;h=Q(l-i);N[a>>2]=h;o=Q(Y(Q(Q(h*h)+Q(g*g))));if(o>2]=g;h=Q(h*o);N[a>>2]=h}j=Q(j+Q(g*d));k=Q(k-Q(g*f));N[a+12>>2]=Q(j+k)*Q(.5);d=Q(i+Q(h*d));f=Q(l-Q(h*f));N[a+8>>2]=Q(d+f)*Q(.5);N[a+24>>2]=Q(Q(f-d)*h)+Q(g*Q(k-j));return;case 1:g=N[c+8>>2];i=N[b+40>>2];l=N[c+12>>2];j=N[b+44>>2];h=Q(Q(g*i)+Q(l*j));N[a+4>>2]=h;g=Q(Q(l*i)-Q(j*g));N[a>>2]=g;if(J[b+60>>2]<=0){break a}i=N[c+8>>2];l=N[b+48>>2];j=N[c+12>>2];k=N[b+52>>2];o=Q(Q(Q(i*l)+Q(j*k))+N[c+4>>2]);l=Q(N[c>>2]+Q(Q(j*l)-Q(k*i)));j=Q(h*f);k=Q(g*f);while(1){c=(p<<3)+a|0;i=N[e+8>>2];s=P(p,20)+b|0;m=N[s>>2];n=N[e+12>>2];q=N[s+4>>2];f=Q(Q(Q(i*m)+Q(n*q))+N[e+4>>2]);r=Q(f-j);t=f;i=Q(N[e>>2]+Q(Q(n*m)-Q(q*i)));f=Q(d-Q(Q(Q(i-l)*g)+Q(Q(f-o)*h)));m=Q(t+Q(h*f));N[c+12>>2]=Q(r+m)*Q(.5);n=Q(i-k);f=Q(i+Q(g*f));N[c+8>>2]=Q(n+f)*Q(.5);N[((p<<2)+a|0)+24>>2]=Q(Q(n-f)*g)+Q(h*Q(r-m));p=p+1|0;if((p|0)>2]){continue}break};break a;case 2:break b;default:break a}}g=N[e+8>>2];i=N[b+40>>2];l=N[e+12>>2];j=N[b+44>>2];h=Q(Q(g*i)+Q(l*j));N[a+4>>2]=h;g=Q(Q(l*i)-Q(j*g));N[a>>2]=g;if(J[b+60>>2]>0){i=N[e+8>>2];l=N[b+48>>2];j=N[e+12>>2];k=N[b+52>>2];o=Q(Q(Q(i*l)+Q(j*k))+N[e+4>>2]);l=Q(N[e>>2]+Q(Q(j*l)-Q(k*i)));j=Q(h*d);k=Q(g*d);while(1){e=(p<<3)+a|0;i=N[c+8>>2];s=P(p,20)+b|0;m=N[s>>2];n=N[c+12>>2];q=N[s+4>>2];d=Q(Q(Q(i*m)+Q(n*q))+N[c+4>>2]);r=Q(d-j);t=d;i=Q(N[c>>2]+Q(Q(n*m)-Q(q*i)));d=Q(f-Q(Q(Q(i-l)*g)+Q(Q(d-o)*h)));m=Q(t+Q(h*d));N[e+12>>2]=Q(r+m)*Q(.5);n=Q(i-k);d=Q(i+Q(g*d));N[e+8>>2]=Q(n+d)*Q(.5);N[((p<<2)+a|0)+24>>2]=Q(Q(n-d)*g)+Q(h*Q(r-m));p=p+1|0;if((p|0)>2]){continue}break}}N[a+4>>2]=-h;N[a>>2]=-g}}function vc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=La+-64|0;La=e;c=J[a+124>>2];J[e+56>>2]=J[a+120>>2];J[e+60>>2]=c;c=J[a+116>>2];J[e+48>>2]=J[a+112>>2];J[e+52>>2]=c;c=J[a+108>>2];J[e+40>>2]=J[a+104>>2];J[e+44>>2]=c;c=J[a+100>>2];J[e+32>>2]=J[a+96>>2];J[e+36>>2]=c;c=J[a+92>>2];J[e+24>>2]=J[a+88>>2];J[e+28>>2]=c;c=J[a+84>>2];J[e+16>>2]=J[a+80>>2];J[e+20>>2]=c;c=J[a+76>>2];J[e+8>>2]=J[a+72>>2];J[e+12>>2]=c;c=J[a+68>>2];J[e>>2]=J[a+64>>2];J[e+4>>2]=c;c=J[a+4>>2];J[a+4>>2]=c|4;n=c&2;h=J[a+52>>2];l=J[h+8>>2];g=l+12|0;j=J[a+48>>2];m=J[j+8>>2];c=m+12|0;o=K[h+38|0]|K[j+38|0];a:{if(o){l=J[j+12>>2];m=J[a+56>>2];h=J[h+12>>2];i=J[a+60>>2];d=La-128|0;La=d;J[d+88>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+60>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;j=d+36|0;gc(j,l,m);gc(d- -64|0,h,i);i=J[c+12>>2];J[d+100>>2]=J[c+8>>2];J[d+104>>2]=i;i=J[c+4>>2];J[d+92>>2]=J[c>>2];J[d+96>>2]=i;c=J[g+12>>2];J[d+116>>2]=J[g+8>>2];J[d+120>>2]=c;c=J[g+4>>2];J[d+108>>2]=J[g>>2];J[d+112>>2]=c;H[d+124|0]=1;I[d+28>>1]=0;Ud(d,d+24|0,j);La=d+128|0;f=N[d+16>>2]>2]=0;break a}d=a- -64|0;Na[J[J[a>>2]>>2]](a,d,c,g);h=J[a+124>>2];b:{if((h|0)<=0){break b}g=J[e+60>>2];if((g|0)>0){while(1){j=d+P(k,20)|0;c=j;J[c+8>>2]=0;J[c+12>>2]=0;c=J[c+16>>2];f=0;c:{while(1){i=P(f,20)+e|0;if(J[i+16>>2]!=(c|0)){f=f+1|0;if((g|0)!=(f|0)){continue}break c}break}N[j+8>>2]=N[i+8>>2];N[j+12>>2]=N[i+12>>2]}k=k+1|0;if((h|0)!=(k|0)){continue}break}break b}if(h>>>0>=4){g=h&-4;while(1){c=d+P(f,20)|0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+P(f|1,20)|0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+P(f|2,20)|0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+P(f|3,20)|0;J[c+8>>2]=0;J[c+12>>2]=0;f=f+4|0;k=k+4|0;if((g|0)!=(k|0)){continue}break}}g=h&3;if(!g){break b}while(1){c=d+P(f,20)|0;J[c+8>>2]=0;J[c+12>>2]=0;f=f+1|0;i=i+1|0;if((g|0)!=(i|0)){continue}break}}f=(h|0)>0;if((f|0)==(n>>>1|0)){break a}if(J[m>>2]){J[m+144>>2]=0;I[m+4>>1]=L[m+4>>1]|2}if(!J[l>>2]){break a}J[l+144>>2]=0;I[l+4>>1]=L[l+4>>1]|2}k=2;J[a+4>>2]=J[a+4>>2]&-3|(f?2:0);c=(b|0)!=0&f;d:{if(!(c&!n)){if(!n){break d}k=3;if(!b|f){break d}}Na[J[J[b>>2]+(k<<2)>>2]](b,a)}if(!(!c|(o|0)!=0)){Na[J[J[b>>2]+16>>2]](b,a,e)}La=e- -64|0}function Sf(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=0,B=Q(0),C=Q(0);A=J[b+24>>2];h=A+P(J[a+156>>2],12)|0;s=N[h+8>>2];u=N[h+4>>2];v=N[h>>2];h=P(J[a+152>>2],12)+A|0;t=N[h+8>>2];p=N[h+4>>2];w=N[h>>2];a:{if(!K[a+140|0]){m=Q(N[a+80>>2]-N[a+172>>2]);n=Q(N[a+72>>2]-N[a+164>>2]);o=Q(N[a+76>>2]-N[a+168>>2]);l=Q(N[a+68>>2]-N[a+160>>2]);break a}n=N[a+164>>2];e=N[a+72>>2];c=_a(t);l=N[a+160>>2];f=N[a+68>>2];d=Za(t);m=N[a+172>>2];i=N[a+80>>2];g=_a(s);o=N[a+168>>2];k=N[a+76>>2];j=Za(s);q=N[a+84>>2];r=N[a+88>>2];x=Q(Q(c*q)-Q(d*r));o=Q(k-o);m=Q(i-m);i=Q(Q(g*o)-Q(j*m));l=Q(f-l);n=Q(e-n);k=Q(Q(c*l)-Q(d*n));y=Q(Q(Q(v-w)+i)-k);q=Q(Q(d*q)+Q(c*r));r=Q(Q(j*o)+Q(g*m));z=Q(Q(d*l)+Q(c*n));B=Q(Q(Q(u-p)+r)-z);c=Q(Q(x*y)+Q(q*B));g=N[a+192>>2];j=N[a+196>>2];e=N[a+128>>2];f=N[a+124>>2];d=Q(e-f);b:{if((d>Q(0)?d:Q(-d))=e)){break a}c=Q(c-e);if(!(c>Q(0))){break a}}if(c==Q(0)){d=Q(0);break a}C=Q(-c);e=Q(Q(i*j)-Q(g*r));i=N[a+188>>2];g=Q(Q(Q(k+y)*j)-Q(g*Q(z+B)));k=N[a+184>>2];j=N[a+176>>2];f=N[a+180>>2];d=Q(Q(e*Q(e*i))+Q(Q(Q(g*k)*g)+Q(j+f)));d=d!=Q(0)?Q(C/d):Q(0);s=Q(Q(i*Q(e*d))+s);e=Q(q*d);u=Q(u+Q(f*e));i=f;f=Q(x*d);v=Q(v+Q(i*f));t=Q(t-Q(k*Q(g*d)));p=Q(p-Q(j*e));w=Q(w-Q(j*f));d=c>Q(0)?c:C}c=_a(t);g=Za(t);f=_a(s);i=Za(s);e=N[a+92>>2];k=N[a+96>>2];j=Q(Q(g*e)+Q(c*k));q=Q(Q(f*o)-Q(m*i));r=Q(Q(c*l)-Q(n*g));x=Q(Q(Q(v-w)+q)-r);e=Q(Q(c*e)-Q(k*g));f=Q(Q(i*o)+Q(f*m));g=Q(Q(g*l)+Q(c*n));i=Q(Q(Q(u-p)+f)-g);m=Q(Q(x*e)+Q(j*i));k=Q(-m);y=N[a+188>>2];c=N[a+220>>2];l=Q(Q(y*c)*c);z=N[a+184>>2];c=N[a+216>>2];n=N[a+176>>2];o=N[a+180>>2];c=Q(l+Q(Q(Q(z*c)*c)+Q(n+o)));c=c!=Q(0)?Q(k/c):Q(0);l=Q(j*c);N[h+4>>2]=p-Q(n*l);p=Q(e*c);N[h>>2]=w-Q(n*p);h=J[b+24>>2];N[(h+P(J[a+152>>2],12)|0)+8>>2]=t-Q(z*Q(Q(Q(Q(r+x)*j)-Q(e*Q(g+i)))*c));h=h+P(J[a+156>>2],12)|0;N[h+4>>2]=u+Q(o*l);N[h>>2]=v+Q(o*p);N[(J[b+24>>2]+P(J[a+156>>2],12)|0)+8>>2]=Q(y*Q(Q(Q(q*j)-Q(e*f))*c))+s;c=m>Q(0)?m:k;return(c>2]+7&-8;J[c>>2]=b+16;o=a;i=J[b>>2];d=J[b+4>>2];a=J[b+12>>2];m=a;g=La-32|0;La=g;a=a&2147483647;h=a;e=a-1006698496|0;a=a-1140785152|0;c=J[b+8>>2];b=c;a:{if((e|0)==(a|0)&b>>>0>>0|a>>>0>e>>>0){a=c;c=m<<4|a>>>28;b=a<<4|d>>>28;a=c;d=d&268435455;if((d|0)==134217728&(i|0)!=0|d>>>0>134217728){a=a+1073741824|0;b=b+1|0;a=b?a:a+1|0;break a}a=a+1073741824|0;if(i|(d|0)!=134217728){break a}d=b&1;b=d+b|0;a=b>>>0>>0?a+1|0:a;break a}if(!(!b&(h|0)==2147418112?!(d|i):h>>>0<2147418112)){a=c;c=m<<4|a>>>28;b=a<<4|d>>>28;a=c&524287|2146959360;break a}b=0;a=2146435072;if(h>>>0>1140785151){break a}a=0;n=h>>>16|0;if(n>>>0<15249){break a}b=i;a=d;e=m&65535|65536;h=e;l=c;f=c;j=n-15233|0;b:{if(j&64){c=b;e=j+-64|0;b=e&31;if((e&63)>>>0>=32){a=c<>>32-b|a<>>0>=32){c=k<>>32-f|e<>>0>=32){c=0;b=a>>>f|0}else{c=a>>>f|0;b=((1<>>f}f=p|b;e=c|e;b=j&31;if((j&63)>>>0>=32){c=k<>>32-b|a<>2]=b;J[g+20>>2]=a;J[g+24>>2]=f;J[g+28>>2]=e;b=15361-n|0;c:{if(b&64){d=l;b=b+-64|0;a=b&31;if((b&63)>>>0>=32){c=0;i=h>>>a|0}else{c=h>>>a|0;i=((1<>>a}d=c;l=0;h=0;break c}if(!b){break c}e=l;a=64-b|0;c=a&31;if((a&63)>>>0>=32){a=e<>>32-c|h<>>0>=32){c=0;e=d>>>i|0}else{c=d>>>i|0;e=((1<>>i}i=f|e;d=a|c;e=l;c=b&31;if((b&63)>>>0>=32){a=0;l=h>>>c|0}else{a=h>>>c|0;l=((1<>>c}h=a}J[g>>2]=i;J[g+4>>2]=d;J[g+8>>2]=l;J[g+12>>2]=h;b=J[g+8>>2];a=J[g+12>>2]<<4|b>>>28;b=b<<4;c=J[g>>2];h=J[g+4>>2];b=h>>>28|b;d=h&268435455;c=c|(J[g+16>>2]|J[g+24>>2]|(J[g+20>>2]|J[g+28>>2]))!=0;if((d|0)==134217728&(c|0)!=0|d>>>0>134217728){b=b+1|0;a=b?a:a+1|0;break a}if(c|(d|0)!=134217728){break a}c=b;b=b+(b&1)|0;a=c>>>0>b>>>0?a+1|0:a}La=g+32|0;x(0,b|0);x(1,m&-2147483648|a);q=o,r=+z(),O[q>>3]=r}function Pd(a,b){var c=0,d=Q(0),e=Q(0),f=0,g=0,h=Q(0),i=0,j=Q(0),k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=Q(0);J[a+24>>2]=J[a+24>>2]+1;c=J[a>>2];if((c|0)==-1){J[a>>2]=b;J[(J[a+4>>2]+P(b,40)|0)+20>>2]=-1;return}i=J[a+4>>2];g=i+P(b,40)|0;n=N[g+12>>2];o=N[g+8>>2];p=N[g+4>>2];q=N[g>>2];while(1){k=c;c=i+P(c,40)|0;g=J[c+24>>2];if((g|0)!=-1){m=N[c+8>>2];j=N[c>>2];h=N[c+12>>2];d=N[c+4>>2];e=Q(Q((on?h:n)-(d>2];t=o>s?o:s;u=N[f+4>>2];v=p>2];j=q>2];d=h>2];a:{if(J[f+24>>2]==-1){d=Q(Q(t-j)+Q(d-v));h=Q(d+d);break a}d=Q(Q(t-j)+Q(d-v));w=Q(d+d);d=Q(Q(s-m)+Q(h-u));h=Q(w-Q(d+d))}y=Q(r+r);f=i+P(c,40)|0;r=N[f+8>>2];s=o>r?o:r;t=N[f+4>>2];u=p>2];m=q>2];d=j>2]==-1){d=Q(Q(s-m)+Q(d-u));w=Q(d+d);break b}d=Q(Q(s-m)+Q(d-u));w=Q(d+d);d=Q(Q(r-v)+Q(j-t));w=Q(w-Q(d+d))}e=Q(e+w);c=hy)|!(e>y)){continue}}break}f=P(k,40);i=J[(f+i|0)+20>>2];x=Qd(a);g=P(x,40);J[(g+J[a+4>>2]|0)+20>>2]=i;c=J[a+4>>2];l=c+g|0;J[l+16>>2]=0;c=c+f|0;d=N[c>>2];e=N[c+4>>2];N[l+4>>2]=e>p?p:e;N[l>>2]=d>q?q:d;d=N[c+8>>2];e=N[c+12>>2];N[l+12>>2]=e>2]=d>2];l=c+g|0;g=c+f|0;J[l+32>>2]=J[g+32>>2]+1;c:{if((i|0)!=-1){c=c+P(i,40)|0;J[((k|0)==J[c+24>>2]?c+24|0:c+28|0)>>2]=x;J[l+28>>2]=b;J[l+24>>2]=k;J[g+20>>2]=x;c=(J[a+4>>2]+P(b,40)|0)+20|0;break c}J[l+28>>2]=b;J[l+24>>2]=k;J[g+20>>2]=x;J[(J[a+4>>2]+P(b,40)|0)+20>>2]=x;c=a}J[c>>2]=x;c=J[(J[a+4>>2]+P(b,40)|0)+20>>2];if((c|0)!=-1){while(1){b=Od(a,c);k=J[a+4>>2];c=P(b,40);i=k+c|0;f=P(J[i+24>>2],40)+k|0;g=J[f+32>>2];k=k+P(J[i+28>>2],40)|0;b=J[k+32>>2];J[i+32>>2]=((b|0)<(g|0)?g:b)+1;j=N[k>>2];h=N[f>>2];d=N[f+4>>2];e=N[k+4>>2];N[i+4>>2]=d>2]=h>2];h=N[k+8>>2];d=N[f+12>>2];e=N[k+12>>2];N[i+12>>2]=d>e?d:e;N[i+8>>2]=h>2]|0)+20>>2];if((c|0)!=-1){continue}break}}}function Kg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0;y=J[b+28>>2];i=y+P(J[a+148>>2],12)|0;l=N[i+8>>2];m=N[i+4>>2];n=N[i>>2];i=P(J[a+144>>2],12)+y|0;d=N[i+8>>2];g=N[i+4>>2];f=N[i>>2];w=N[a+180>>2];x=N[a+176>>2];r=N[a+172>>2];s=N[a+168>>2];if(K[a+141|0]){c=Q(N[b>>2]*N[a+132>>2]);h=Q(-c);j=N[a+112>>2];k=N[a+212>>2];o=N[a+184>>2];e=N[a+188>>2];p=N[a+208>>2];t=Q(j+Q(N[a+236>>2]*Q(N[a+136>>2]-Q(Q(Q(k*l)+Q(Q(o*Q(n-f))+Q(Q(m-g)*e)))-Q(p*d)))));c=c>t?t:c;c=c>2]=c;c=Q(c-j);l=Q(Q(w*Q(k*c))+l);h=Q(e*c);m=Q(m+Q(r*h));j=Q(o*c);n=Q(n+Q(r*j));g=Q(g-Q(s*h));f=Q(f-Q(s*j));d=Q(d-Q(x*Q(p*c)))}if(K[a+140|0]){o=N[a+116>>2];e=N[a+236>>2];p=N[a+232>>2];c=Q(p-N[a+124>>2]);t=N[b+4>>2];q=Q((c>Q(0)?c:Q(0))*t);c=N[a+212>>2];h=N[a+184>>2];j=N[a+188>>2];k=N[a+208>>2];u=Q(o-Q(e*Q(q+Q(Q(Q(c*l)+Q(Q(h*Q(n-f))+Q(Q(m-g)*j)))-Q(k*d)))));u=u>Q(0)?u:Q(0);N[a+116>>2]=u;v=N[a+120>>2];q=e;e=Q(N[a+128>>2]-p);p=Q(t*(e>Q(0)?e:Q(0)));e=d;d=Q(u-o);o=Q(e-Q(x*Q(k*d)));e=f;f=Q(h*d);e=Q(e-Q(s*f));n=Q(n+Q(r*f));f=g;g=Q(j*d);f=Q(f-Q(s*g));m=Q(m+Q(r*g));l=Q(Q(w*Q(c*d))+l);d=Q(v-Q(q*Q(p+Q(Q(Q(k*o)+Q(Q(h*Q(e-n))+Q(j*Q(f-m))))-Q(c*l)))));d=d>Q(0)?d:Q(0);N[a+120>>2]=d;d=Q(d-v);l=Q(l-Q(w*Q(c*d)));g=Q(j*d);m=Q(m-Q(r*g));c=Q(h*d);n=Q(n-Q(r*c));g=Q(f+Q(s*g));f=Q(e+Q(s*c));d=Q(Q(x*Q(k*d))+o)}j=N[a+216>>2];k=N[a+228>>2];o=N[a+220>>2];e=N[a+224>>2];c=Q(Q(j*k)-Q(o*e));h=c!=Q(0)?Q(Q(1)/c):c;p=Q(l-d);c=Q(p*e);q=k;k=N[a+204>>2];e=N[a+192>>2];t=N[a+196>>2];u=N[a+200>>2];v=Q(Q(Q(k*l)+Q(Q(e*Q(n-f))+Q(Q(m-g)*t)))-Q(u*d));c=Q(Q(c-Q(q*v))*h);N[a+104>>2]=N[a+104>>2]+c;h=Q(Q(Q(v*o)-Q(j*p))*h);N[a+108>>2]=N[a+108>>2]+h;q=g;g=Q(t*c);N[i+4>>2]=q-Q(s*g);q=f;f=Q(e*c);N[i>>2]=q-Q(s*f);i=J[b+28>>2];N[(i+P(J[a+144>>2],12)|0)+8>>2]=Q(Q(-x)*Q(Q(c*u)+h))+d;i=i+P(J[a+148>>2],12)|0;N[i+4>>2]=m+Q(r*g);N[i>>2]=n+Q(r*f);N[(J[b+28>>2]+P(J[a+148>>2],12)|0)+8>>2]=Q(w*Q(Q(c*k)+h))+l}function zg(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0);d=J[a+48>>2];w=J[d+8>>2];J[a+120>>2]=w;k=J[a+52>>2];q=J[k+8>>2];J[a+124>>2]=q;o=N[d+32>>2];h=J[d+32>>2];c=N[d+28>>2];r=J[d+28>>2];J[a+160>>2]=r;J[a+164>>2]=h;s=N[k+32>>2];h=J[k+32>>2];j=N[k+28>>2];J[a+168>>2]=J[k+28>>2];J[a+172>>2]=h;t=N[d+120>>2];N[a+176>>2]=t;u=N[k+120>>2];N[a+180>>2]=u;x=N[d+128>>2];N[a+184>>2]=x;y=N[k+128>>2];N[a+188>>2]=y;p=N[a+96>>2];k=J[b+24>>2];d=P(w,12);r=k+d|0;e=N[r+8>>2];g=Za(e);l=N[a+92>>2];e=_a(e);h=J[b+28>>2];d=d+h|0;z=N[d>>2];A=N[d+4>>2];B=N[d+8>>2];q=P(q,12);d=q+h|0;C=N[d>>2];D=N[d+4>>2];E=N[d+8>>2];d=k+q|0;m=N[d>>2];f=N[d+4>>2];n=N[r>>2];v=N[r+4>>2];i=N[d+8>>2];c=Q(l-c);l=Q(p-o);p=Q(Q(e*c)-Q(g*l));N[a+144>>2]=p;l=Q(Q(g*c)+Q(e*l));N[a+148>>2]=l;e=N[a+104>>2];g=Za(i);c=N[a+100>>2];i=_a(i);c=Q(c-j);e=Q(e-s);j=Q(Q(i*c)-Q(g*e));N[a+152>>2]=j;o=Q(Q(g*c)+Q(i*e));N[a+156>>2]=o;m=Q(Q(m+j)-N[a+76>>2]);f=Q(Q(f+o)-N[a+80>>2]);s=Q(Y(Q(Q(m*m)+Q(f*f))));g=Q(0);e=Q(0);i=Q(0);c=Q(Q(n+p)-N[a+68>>2]);n=Q(Q(v+l)-N[a+72>>2]);v=Q(Y(Q(Q(c*c)+Q(n*n))));if(v>Q(.04999999701976776)){e=Q(Q(1)/v);i=Q(n*e);e=Q(c*e)}N[a+132>>2]=i;N[a+128>>2]=e;c=Q(0);if(s>Q(.04999999701976776)){g=Q(Q(1)/s);c=Q(f*g);g=Q(m*g)}N[a+140>>2]=c;N[a+136>>2]=g;m=N[a+112>>2];f=Q(Q(j*c)-Q(g*o));n=Q(Q(m*m)*Q(Q(Q(y*f)*f)+u));f=Q(Q(p*i)-Q(e*l));f=Q(n+Q(Q(Q(x*f)*f)+t));N[a+192>>2]=f>Q(0)?Q(Q(1)/f):f;a:{if(K[b+20|0]){f=Q(N[b+8>>2]*N[a+116>>2]);N[a+116>>2]=f;n=j;j=c;c=Q(f*Q(-m));j=Q(j*c);g=Q(g*c);E=Q(Q(y*Q(Q(n*j)+Q(g*Q(-o))))+E);c=i;i=Q(-f);c=Q(c*i);e=Q(e*i);B=Q(Q(x*Q(Q(p*c)+Q(e*Q(-l))))+B);D=Q(D+Q(u*j));C=Q(C+Q(u*g));A=Q(A+Q(t*c));z=Q(z+Q(t*e));break a}J[a+116>>2]=0}h=J[b+28>>2]+P(w,12)|0;N[h+4>>2]=A;N[h>>2]=z;h=J[b+28>>2];N[(h+P(J[a+120>>2],12)|0)+8>>2]=B;h=h+P(J[a+124>>2],12)|0;N[h+4>>2]=D;N[h>>2]=C;N[(J[b+28>>2]+P(J[a+124>>2],12)|0)+8>>2]=E}function Cf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0);g=La-48|0;La=g;if(!K[a+102989|0]){h=La-16|0;La=h;a:{b:{if(!Lb(5151,H[1373])){J[6204]=28;break b}b=2;if(!Lb(1373,43)){b=K[1373]!=114}b=Lb(1373,120)?b|128:b;b=Lb(1373,101)?b|524288:b;e=b;d=b|64;b=K[1373];d=(b|0)==114?e:d;d=(b|0)==119?d|512:d;J[h>>2]=438;J[h+4>>2]=0;b=Ga(-100,3236,((b|0)==97?d|1024:d)|32768,h|0)|0;if(b>>>0>=4294963201){J[6204]=0-b;b=-1}if((b|0)<0){break a}d=La-32|0;La=d;c:{d:{e:{if(!Lb(5151,H[1373])){J[6204]=28;break e}c=fb(1176);if(c){break d}}c=0;break c}Db(c,0,144);if(!Lb(1373,43)){J[c>>2]=K[1373]==114?8:4}f:{if(K[1373]!=97){e=J[c>>2];break f}e=sa(b|0,3,0)|0;if(!(e&1024)){e=e|1024;J[d+16>>2]=e;J[d+20>>2]=e>>31;sa(b|0,4,d+16|0)|0}e=J[c>>2]|128;J[c>>2]=e}J[c+80>>2]=-1;J[c+48>>2]=1024;J[c+60>>2]=b;J[c+44>>2]=c+152;g:{if(e&8){break g}J[d>>2]=d+24;J[d+4>>2]=0;if(Fa(b|0,21523,d|0)|0){break g}J[c+80>>2]=10}J[c+40>>2]=920;J[c+36>>2]=921;J[c+32>>2]=922;J[c+12>>2]=923;if(!K[24821]){J[c+76>>2]=-1}J[c+56>>2]=J[6220];e=J[6220];if(e){J[e+52>>2]=c}J[6220]=c}La=d+32|0;if(c){break a}qa(b|0)|0}c=0}La=h+16|0;J[6142]=c;i=N[a+102964>>2];O[g+40>>3]=N[a+102968>>2];O[g+32>>3]=i;Ya(8451,g+32|0);Ya(8474,0);J[g+16>>2]=J[a+102956>>2];Ya(9119,g+16|0);J[g>>2]=J[a+102960>>2];Ya(9179,g);b=J[a+102948>>2];if(b){while(1){J[b+8>>2]=f;Kd(b);f=f+1|0;b=J[b+96>>2];if(b){continue}break}}c=J[a+102952>>2];h:{if(!c){break h}b=0;f=c;while(1){J[f+56>>2]=b;b=b+1|0;f=J[f+12>>2];if(f){continue}break}if(!c){break h}while(1){if(J[c+4>>2]!=6){Ya(6540,0);Na[J[J[c>>2]+16>>2]](c);Ya(6535,0)}c=J[c+12>>2];if(c){continue}break}b=J[a+102952>>2];if(!b){break h}while(1){if(J[b+4>>2]==6){Ya(6540,0);Na[J[J[b>>2]+16>>2]](b);Ya(6535,0)}b=J[b+12>>2];if(b){continue}break}}Ya(7836,0);Ya(7853,0);Ya(6543,0);Ya(6562,0);a=J[6142];dc(a);Na[J[a+12>>2]](a)|0;if(!(H[a|0]&1)){c=J[a+52>>2];if(c){J[c+56>>2]=J[a+56>>2]}f=J[a+56>>2];if(f){J[f+52>>2]=c}if((a|0)==J[6220]){J[6220]=f}ab(J[a+96>>2]);ab(a)}J[6142]=0}La=g+48|0}function Lh(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=Q(0),g=0,h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0);d=J[a+48>>2];u=J[d+8>>2];J[a+108>>2]=u;i=J[a+52>>2];o=J[i+8>>2];J[a+112>>2]=o;E=N[d+32>>2];g=J[d+32>>2];m=N[d+28>>2];p=J[d+28>>2];J[a+140>>2]=p;J[a+144>>2]=g;F=N[i+32>>2];g=J[i+32>>2];n=N[i+28>>2];J[a+148>>2]=J[i+28>>2];J[a+152>>2]=g;s=N[d+120>>2];N[a+156>>2]=s;t=N[i+120>>2];N[a+160>>2]=t;v=N[d+128>>2];N[a+164>>2]=v;w=N[i+128>>2];N[a+168>>2]=w;j=N[a+84>>2];i=J[b+24>>2];d=P(u,12);p=i+d|0;e=N[p+8>>2];f=Za(e);h=N[a+80>>2];e=_a(e);g=J[b+28>>2];d=d+g|0;x=N[d>>2];y=N[d+4>>2];z=N[d+8>>2];o=P(o,12);d=o+g|0;A=N[d>>2];B=N[d+4>>2];C=N[d+8>>2];k=N[p>>2];d=i+o|0;q=N[d>>2];r=N[p+4>>2];l=N[d+4>>2];c=N[d+8>>2];h=Q(h-m);j=Q(j-E);m=Q(Q(e*h)-Q(f*j));N[a+124>>2]=m;j=Q(Q(f*h)+Q(e*j));N[a+128>>2]=j;e=N[a+92>>2];f=Za(c);h=N[a+88>>2];c=_a(c);h=Q(h-n);e=Q(e-F);n=Q(Q(c*h)-Q(f*e));N[a+132>>2]=n;h=Q(Q(f*h)+Q(c*e));N[a+136>>2]=h;f=Q(0);e=Q(0);c=Q(Q(Q(q+n)-k)-m);k=Q(Q(Q(l+h)-r)-j);q=Q(Y(Q(Q(c*c)+Q(k*k))));if(q>Q(.004999999888241291)){f=Q(Q(1)/q);e=Q(k*f);f=Q(c*f)}N[a+120>>2]=e;N[a+116>>2]=f;c=Q(Q(n*e)-Q(f*h));l=Q(Q(w*c)*c);c=Q(Q(m*e)-Q(f*j));c=Q(l+Q(t+Q(Q(Q(v*c)*c)+s)));k=N[a+68>>2];if(k>Q(0)){l=c;r=N[b>>2];c=Q(r*Q(Q(r*k)+N[a+72>>2]));D=c!=Q(0)?Q(Q(1)/c):Q(0);c=Q(l+D);l=Q(Q(k*Q(Q(q-N[a+104>>2])*r))*D)}else{l=Q(0)}N[a+76>>2]=l;N[a+96>>2]=D;N[a+172>>2]=c!=Q(0)?Q(Q(1)/c):Q(0);a:{if(K[b+20|0]){c=Q(N[b+8>>2]*N[a+100>>2]);N[a+100>>2]=c;e=Q(e*c);f=Q(f*c);C=Q(Q(w*Q(Q(n*e)+Q(f*Q(-h))))+C);z=Q(z-Q(v*Q(Q(m*e)+Q(f*Q(-j)))));B=Q(B+Q(t*e));A=Q(A+Q(t*f));y=Q(y-Q(s*e));x=Q(x-Q(s*f));break a}J[a+100>>2]=0}g=J[b+28>>2]+P(u,12)|0;N[g+4>>2]=y;N[g>>2]=x;g=J[b+28>>2];N[(g+P(J[a+108>>2],12)|0)+8>>2]=z;g=g+P(J[a+112>>2],12)|0;N[g+4>>2]=B;N[g>>2]=A;N[(J[b+28>>2]+P(J[a+112>>2],12)|0)+8>>2]=C}function tg(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=0,B=0,C=Q(0);f=J[a+48>>2];t=J[f+8>>2];J[a+132>>2]=t;c=J[a+52>>2];A=J[c+8>>2];J[a+136>>2]=A;n=N[f+32>>2];B=J[f+32>>2];l=N[f+28>>2];o=J[f+28>>2];J[a+156>>2]=o;J[a+160>>2]=B;C=N[c+32>>2];o=J[c+32>>2];i=N[c+28>>2];J[a+164>>2]=J[c+28>>2];J[a+168>>2]=o;r=N[f+120>>2];N[a+172>>2]=r;s=N[c+120>>2];N[a+176>>2]=s;p=N[f+128>>2];N[a+180>>2]=p;k=N[c+128>>2];N[a+184>>2]=k;d=N[a+72>>2];o=J[b+24>>2];c=P(t,12);q=N[(o+c|0)+8>>2];j=Za(q);g=N[a+68>>2];h=_a(q);f=J[b+28>>2];c=c+f|0;u=N[c>>2];v=N[c+4>>2];w=N[c+8>>2];c=f;f=P(A,12);c=c+f|0;x=N[c>>2];y=N[c+4>>2];z=N[c+8>>2];e=N[(f+o|0)+8>>2];g=Q(g-l);d=Q(d-n);l=Q(Q(h*g)-Q(j*d));N[a+140>>2]=l;d=Q(Q(j*g)+Q(h*d));N[a+144>>2]=d;g=Q(p+k);c=g>Q(0);N[a+208>>2]=c?Q(Q(1)/g):g;j=N[a+80>>2];h=Za(e);m=N[a+76>>2];n=_a(e);i=Q(m-i);m=Q(j-C);j=Q(Q(n*i)-Q(h*m));N[a+148>>2]=j;h=Q(Q(h*i)+Q(n*m));N[a+152>>2]=h;i=Q(r+s);N[a+188>>2]=Q(k*Q(h*h))+Q(Q(p*Q(d*d))+i);m=Q(-d);d=Q(Q(p*Q(l*m))-Q(k*Q(j*h)));N[a+196>>2]=d;N[a+192>>2]=d;N[a+200>>2]=Q(k*Q(j*j))+Q(Q(p*Q(l*l))+i);N[a+204>>2]=Q(e-q)-N[a+120>>2];if(!(K[a+116|0]?c:0)){J[a+96>>2]=0;J[a+100>>2]=0}if(!(K[a+104|0]?g>Q(0):0)){J[a+92>>2]=0}a:{if(K[b+20|0]){e=N[b+8>>2];d=Q(e*N[a+84>>2]);N[a+84>>2]=d;g=Q(e*N[a+92>>2]);N[a+92>>2]=g;q=Q(e*N[a+96>>2]);N[a+96>>2]=q;i=Q(e*N[a+100>>2]);N[a+100>>2]=i;e=Q(e*N[a+88>>2]);N[a+88>>2]=e;n=k;k=Q(Q(g+q)-i);z=Q(Q(n*Q(k+Q(Q(j*e)+Q(d*Q(-h)))))+z);w=Q(w-Q(p*Q(k+Q(Q(l*e)+Q(d*m)))));x=Q(x+Q(s*d));u=Q(u-Q(r*d));y=Q(y+Q(s*e));v=Q(v-Q(r*e));break a}J[a+84>>2]=0;J[a+88>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0}c=J[b+28>>2]+P(t,12)|0;N[c+4>>2]=v;N[c>>2]=u;c=J[b+28>>2];N[(c+P(J[a+132>>2],12)|0)+8>>2]=w;c=c+P(J[a+136>>2],12)|0;N[c+4>>2]=y;N[c>>2]=x;N[(J[b+28>>2]+P(J[a+136>>2],12)|0)+8>>2]=z}function Xf(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0);c=La-80|0;La=c;h=J[b+24>>2];o=h+P(J[a+116>>2],12)|0;w=N[o>>2];h=h+P(J[a+120>>2],12)|0;x=N[h>>2];y=N[o+4>>2];z=N[h+4>>2];q=N[o+8>>2];j=N[a+144>>2];l=N[a+84>>2];r=N[h+8>>2];i=N[a+152>>2];s=N[a+92>>2];u=N[a+160>>2];v=N[a+156>>2];m=N[a+140>>2];p=N[a+80>>2];n=N[a+148>>2];t=N[a+88>>2];k=N[a+164>>2];e=N[a+168>>2];A=Q(k+e);N[c+76>>2]=A;g=Za(r);f=_a(r);d=Za(q);B=_a(q);m=Q(p-m);p=Q(l-j);l=Q(Q(B*m)-Q(d*p));n=Q(t-n);t=Q(s-i);j=Q(Q(f*n)-Q(g*t));i=Q(Q(k*l)+Q(e*j));N[c+72>>2]=i;N[c- -64>>2]=i;C=Q(v+u);N[c+60>>2]=Q(e*Q(j*j))+Q(Q(k*Q(l*l))+C);i=Q(Q(d*m)+Q(B*p));s=Q(-i);d=Q(Q(g*n)+Q(f*t));g=Q(Q(k*s)-Q(e*d));N[c+68>>2]=g;N[c+52>>2]=g;g=Q(Q(k*Q(l*s))-Q(e*Q(j*d)));N[c+56>>2]=g;N[c+44>>2]=Q(e*Q(d*d))+Q(Q(k*Q(i*i))+C);N[c+48>>2]=g;g=Q(Q(Q(z+d)-y)-i);f=Q(Q(Q(x+j)-w)-l);a:{if(N[a+68>>2]>Q(0)){N[c+24>>2]=f;N[c+28>>2]=g;Sd(c+12|0,c+44|0,c+24|0);n=e;m=d;d=N[c+12>>2];e=N[c+16>>2];j=Q(Q(n*Q(Q(m*d)-Q(j*e)))+r);k=Q(q-Q(k*Q(Q(i*d)-Q(l*e))));i=Q(Y(Q(Q(f*f)+Q(g*g))));e=Q(-e);f=Q(-d);o=1;break a}m=Q(-d);N[c+40>>2]=g;N[c+36>>2]=f;d=N[a+96>>2];N[c+28>>2]=g;N[c+24>>2]=f;d=Q(Q(r-q)-d);N[c+32>>2]=d;p=d>Q(0)?d:Q(-d);i=Q(Y(Q(Q(f*f)+Q(g*g))));n=e;b:{if(A>Q(0)){Td(c+12|0,c+44|0,c+24|0);d=Q(-N[c+20>>2]);f=Q(-N[c+12>>2]);e=Q(-N[c+16>>2]);break b}Sd(c+12|0,c+44|0,c+36|0);f=Q(-N[c+12>>2]);d=Q(0);e=Q(-N[c+16>>2])}j=Q(Q(n*Q(Q(Q(j*e)+Q(f*m))+d))+r);k=Q(q-Q(k*Q(Q(Q(l*e)+Q(f*s))+d)));o=p<=Q(.03490658849477768)}h=J[b+24>>2]+P(J[a+116>>2],12)|0;N[h+4>>2]=y-Q(v*e);N[h>>2]=w-Q(v*f);h=J[b+24>>2];N[(h+P(J[a+116>>2],12)|0)+8>>2]=k;h=h+P(J[a+120>>2],12)|0;N[h+4>>2]=z+Q(u*e);N[h>>2]=x+Q(u*f);N[(J[b+24>>2]+P(J[a+120>>2],12)|0)+8>>2]=j;La=c+80|0;return o&i<=Q(.004999999888241291)}function Tf(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0,z=Q(0);n=N[a+176>>2];s=N[a+180>>2];u=N[a+188>>2];t=N[a+184>>2];c=N[a+108>>2];f=N[a+212>>2];h=J[b+28>>2];y=h+P(J[a+156>>2],12)|0;i=N[y+8>>2];k=N[a+192>>2];d=N[y>>2];h=h+P(J[a+152>>2],12)|0;g=N[h>>2];o=N[y+4>>2];q=N[h+4>>2];l=N[a+196>>2];m=N[a+208>>2];p=N[h+8>>2];j=Q(Q(Q(c*N[a+244>>2])+Q(Q(Q(Q(f*i)+Q(Q(k*Q(d-g))+Q(Q(o-q)*l)))-Q(m*p))+N[a+240>>2]))*Q(-N[a+236>>2]));N[a+108>>2]=c+j;c=Q(N[b>>2]*N[a+132>>2]);e=Q(-c);v=N[a+104>>2];i=Q(i+Q(u*Q(f*j)));p=Q(p-Q(t*Q(m*j)));r=Q(v-Q(N[a+228>>2]*Q(Q(i-p)-N[a+136>>2])));c=c>r?r:c;c=c>2]=c;e=Q(c-v);c=Q(Q(u*e)+i);i=Q(p-Q(t*e));p=Q(l*j);o=Q(o+Q(s*p));e=Q(k*j);j=Q(d+Q(s*e));d=Q(q-Q(n*p));g=Q(g-Q(n*e));p=Q(-t);if(K[a+140|0]){q=N[a+112>>2];e=N[a+232>>2];v=N[a+120>>2];r=Q(v-N[a+124>>2]);w=r>Q(0)?r:Q(0);r=N[b+4>>2];x=Q(q-Q(e*Q(Q(w*r)+Q(Q(Q(-m)*i)+Q(Q(f*c)+Q(Q(k*Q(j-g))+Q(l*Q(o-d))))))));x=x>Q(0)?x:Q(0);N[a+112>>2]=x;z=N[a+116>>2];w=e;e=Q(N[a+128>>2]-v);r=Q(r*(e>Q(0)?e:Q(0)));q=Q(x-q);i=Q(Q(p*Q(m*q))+i);e=g;g=Q(k*q);e=Q(e-Q(n*g));j=Q(j+Q(s*g));g=d;d=Q(l*q);g=Q(g-Q(n*d));o=Q(o+Q(s*d));c=Q(Q(u*Q(f*q))+c);d=Q(z-Q(w*Q(r+Q(Q(Q(m*i)+Q(Q(k*Q(e-j))+Q(l*Q(g-o))))-Q(f*c)))));d=d>Q(0)?d:Q(0);N[a+116>>2]=d;w=f;f=Q(d-z);c=Q(c-Q(u*Q(w*f)));l=Q(l*f);o=Q(o-Q(s*l));k=Q(k*f);j=Q(j-Q(s*k));d=Q(g+Q(n*l));g=Q(e+Q(n*k));i=Q(Q(t*Q(m*f))+i)}k=N[a+220>>2];l=N[a+200>>2];m=N[a+204>>2];t=N[a+216>>2];f=Q(Q(Q(Q(k*c)+Q(Q(l*Q(j-g))+Q(Q(o-d)*m)))-Q(t*i))*Q(-N[a+224>>2]));N[a+100>>2]=N[a+100>>2]+f;m=Q(m*f);N[h+4>>2]=d-Q(n*m);d=n;n=Q(l*f);N[h>>2]=g-Q(d*n);h=J[b+28>>2];N[(h+P(J[a+152>>2],12)|0)+8>>2]=Q(p*Q(t*f))+i;h=h+P(J[a+156>>2],12)|0;N[h+4>>2]=o+Q(s*m);N[h>>2]=j+Q(s*n);N[(J[b+28>>2]+P(J[a+156>>2],12)|0)+8>>2]=Q(u*Q(k*f))+c}function nh(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=0,F=Q(0);e=J[a+48>>2];v=J[e+8>>2];J[a+104>>2]=v;j=J[a+52>>2];p=J[j+8>>2];J[a+108>>2]=p;D=N[e+32>>2];c=J[e+32>>2];f=N[e+28>>2];J[a+128>>2]=J[e+28>>2];J[a+132>>2]=c;k=N[j+32>>2];E=J[j+32>>2];i=N[j+28>>2];c=J[j+28>>2];J[a+136>>2]=c;J[a+140>>2]=E;r=N[e+120>>2];N[a+156>>2]=r;s=N[j+120>>2];N[a+160>>2]=s;d=N[e+128>>2];N[a+164>>2]=d;q=N[j+128>>2];N[a+168>>2]=q;e=J[b+28>>2];j=P(p,12);c=e+j|0;w=N[c+8>>2];x=N[c+4>>2];y=N[c>>2];p=P(v,12);c=e+p|0;z=N[c+8>>2];A=N[c+4>>2];B=N[c>>2];e=J[b+24>>2];c=e+p|0;o=N[c>>2];e=e+j|0;t=N[e>>2];u=N[c+4>>2];F=N[e+4>>2];g=N[c+8>>2];n=N[e+8>>2];l=Q(d+q);N[a+188>>2]=l>Q(0)?Q(Q(1)/l):l;h=_a(n);m=Za(n);l=Q(Q(m*Q(-i))-Q(h*k));N[a+124>>2]=l;m=Q(Q(m*k)-Q(h*i));N[a+120>>2]=m;i=N[a+72>>2];h=_a(g);k=N[a+68>>2];C=Za(g);f=Q(k-f);k=Q(i-D);i=Q(Q(C*f)+Q(h*k));N[a+116>>2]=i;h=Q(Q(h*f)-Q(k*C));N[a+112>>2]=h;N[a+148>>2]=Q(Q(F+l)-u)-i;N[a+144>>2]=Q(Q(t+m)-o)-h;f=Q(r+s);o=Q(Q(Q(q*l)*l)+Q(Q(Q(d*i)*i)+f));k=o;o=Q(q*m);t=Q(Q(o*m)+Q(Q(Q(d*h)*h)+f));u=Q(-d);d=Q(Q(Q(h*u)*i)-Q(l*o));f=Q(Q(k*t)-Q(d*d));f=f!=Q(0)?Q(Q(1)/f):f;N[a+184>>2]=k*f;N[a+172>>2]=t*f;d=Q(d*Q(-f));N[a+180>>2]=d;N[a+176>>2]=d;N[a+152>>2]=Q(n-g)-N[a+76>>2];a:{if(K[b+20|0]){g=N[b+8>>2];d=Q(g*N[a+80>>2]);N[a+80>>2]=d;n=Q(g*N[a+88>>2]);N[a+88>>2]=n;g=Q(g*N[a+84>>2]);N[a+84>>2]=g;w=Q(Q(q*Q(Q(Q(m*g)-Q(d*l))+n))+w);z=Q(Q(u*Q(Q(Q(h*g)-Q(d*i))+n))+z);y=Q(y+Q(s*d));B=Q(B-Q(r*d));x=Q(x+Q(s*g));A=Q(A-Q(r*g));break a}J[a+88>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0}c=J[b+28>>2]+P(v,12)|0;N[c+4>>2]=A;N[c>>2]=B;c=J[b+28>>2];N[(c+P(J[a+104>>2],12)|0)+8>>2]=z;c=c+P(J[a+108>>2],12)|0;N[c+4>>2]=x;N[c>>2]=y;N[(J[b+28>>2]+P(J[a+108>>2],12)|0)+8>>2]=w}function Pg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=0,q=Q(0),r=0,s=0,t=0;g=J[J[a+48>>2]+12>>2];p=J[J[a+52>>2]+12>>2];J[b+60>>2]=0;e=N[c+12>>2];f=N[d+8>>2];h=N[p+12>>2];l=N[d+12>>2];m=N[p+16>>2];n=Q(Q(Q(Q(f*h)+Q(l*m))+N[d+4>>2])-N[c+4>>2]);i=N[c+8>>2];f=Q(Q(N[d>>2]+Q(Q(l*h)-Q(m*f)))-N[c>>2]);q=Q(Q(e*n)-Q(i*f));n=Q(Q(e*f)+Q(n*i));d=g+84|0;o=g+20|0;e=Q(N[g+8>>2]+N[p+8>>2]);a=1;c=0;g=J[g+148>>2];a:{if((g|0)>0){f=Q(-34028234663852886e22);a=0;while(1){j=a<<3;r=j+d|0;j=j+o|0;h=Q(Q(N[r>>2]*Q(n-N[j>>2]))+Q(Q(q-N[j+4>>2])*N[r+4>>2]));if(h>e){break a}j=f(j|0)?j:0)<<3)|0;j=J[g+4>>2];f=N[g+4>>2];r=J[g>>2];h=N[g>>2];g=o;o=c<<3;g=g+o|0;s=J[g+4>>2];l=N[g+4>>2];t=J[g>>2];m=N[g>>2];b:{if(a){J[b+56>>2]=1;J[b+60>>2]=1;a=d+o|0;c=J[a>>2];a=J[a+4>>2];N[b+52>>2]=Q(l+f)*Q(.5);N[b+48>>2]=Q(m+h)*Q(.5);J[b+40>>2]=c;J[b+44>>2]=a;break b}i=Q(n-m);k=Q(q-l);if(Q(Q(i*Q(h-m))+Q(k*Q(f-l)))<=Q(0)){f=Q(e*e);e=Q(Q(i*i)+Q(k*k));if(f>2]=1;J[b+60>>2]=1;N[b+40>>2]=i;N[b+44>>2]=k;e=Q(Y(e));if(!(e>2]=k*e;N[b+40>>2]=i*e}J[b+48>>2]=t;J[b+52>>2]=s;break b}i=Q(n-h);k=Q(q-f);if(Q(Q(i*Q(m-h))+Q(k*Q(l-f)))<=Q(0)){f=Q(e*e);e=Q(Q(i*i)+Q(k*k));if(f>2]=1;J[b+60>>2]=1;N[b+40>>2]=i;N[b+44>>2]=k;e=Q(Y(e));if(!(e>2]=k*e;N[b+40>>2]=i*e}J[b+48>>2]=r;J[b+52>>2]=j;break b}h=Q(Q(m+h)*Q(.5));a=d+(c<<3)|0;f=Q(Q(l+f)*Q(.5));if(e>2])+Q(Q(q-f)*N[a+4>>2]))){break a}J[b+56>>2]=1;J[b+60>>2]=1;c=J[a+4>>2];a=J[a>>2];N[b+52>>2]=f;N[b+48>>2]=h;J[b+40>>2]=a;J[b+44>>2]=c}a=J[p+16>>2];c=J[p+12>>2];J[b+16>>2]=0;J[b>>2]=c;J[b+4>>2]=a}}function id(a,b){var c=0,d=0,e=0,f=0,g=Q(0),h=0,i=0,j=Q(0),k=0,l=Q(0),m=0,n=0,o=0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;c=J[b+40>>2];J[a+32>>2]=c;d=J[b+28>>2];J[a+48>>2]=d;n=a,o=Fb(c,P(d,88)),J[n+36>>2]=o;n=a,o=Fb(J[a+32>>2],P(J[a+48>>2],156)),J[n+40>>2]=o;J[a+24>>2]=J[b+32>>2];J[a+28>>2]=J[b+36>>2];J[a+44>>2]=J[b+24>>2];if(J[a+48>>2]>0){while(1){b=J[J[a+44>>2]+(h<<2)>>2];c=J[b+48>>2];j=N[J[c+12>>2]+8>>2];d=J[b+52>>2];g=N[J[d+12>>2]+8>>2];k=J[b+124>>2];e=J[d+8>>2];f=J[c+8>>2];c=J[a+40>>2]+P(h,156)|0;N[c+136>>2]=N[b+136>>2];N[c+140>>2]=N[b+140>>2];N[c+144>>2]=N[b+144>>2];J[c+112>>2]=J[f+8>>2];J[c+116>>2]=J[e+8>>2];N[c+120>>2]=N[f+120>>2];N[c+124>>2]=N[e+120>>2];N[c+128>>2]=N[f+128>>2];l=N[e+128>>2];J[c+152>>2]=h;N[c+132>>2]=l;J[c+148>>2]=k;J[c+80>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+96>>2]=0;J[c+100>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;d=J[a+36>>2]+P(h,88)|0;J[d+32>>2]=J[f+8>>2];J[d+36>>2]=J[e+8>>2];N[d+40>>2]=N[f+120>>2];N[d+44>>2]=N[e+120>>2];i=J[f+32>>2];J[d+48>>2]=J[f+28>>2];J[d+52>>2]=i;i=J[e+32>>2];J[d+56>>2]=J[e+28>>2];J[d+60>>2]=i;N[d+64>>2]=N[f+128>>2];N[d+68>>2]=N[e+128>>2];e=J[b+108>>2];J[d+16>>2]=J[b+104>>2];J[d+20>>2]=e;e=J[b+116>>2];f=J[b+112>>2];J[d+84>>2]=k;J[d+24>>2]=f;J[d+28>>2]=e;N[d+80>>2]=g;N[d+76>>2]=j;J[d+72>>2]=J[b+120>>2];if((k|0)>0){i=b- -64|0;e=0;while(1){b=c+P(e,36)|0;f=P(e,20)+i|0;a:{if(!K[a+20|0]){j=Q(0);g=Q(0);break a}g=N[a+8>>2];j=Q(g*N[f+12>>2]);g=Q(g*N[f+8>>2])}J[b+32>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;N[b+20>>2]=j;N[b+16>>2]=g;J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;m=J[f+4>>2];b=d+(e<<3)|0;J[b>>2]=J[f>>2];J[b+4>>2]=m;e=e+1|0;if((k|0)!=(e|0)){continue}break}}h=h+1|0;if((h|0)>2]){continue}break}}return a}function dg(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=0,g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=Q(0),p=0,q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0);d=J[a+48>>2];s=J[d+8>>2];J[a+96>>2]=s;i=J[a+52>>2];n=J[i+8>>2];J[a+100>>2]=n;o=N[d+32>>2];f=J[d+32>>2];l=N[d+28>>2];p=J[d+28>>2];J[a+128>>2]=p;J[a+132>>2]=f;A=N[i+32>>2];f=J[i+32>>2];h=N[i+28>>2];J[a+136>>2]=J[i+28>>2];J[a+140>>2]=f;q=N[d+120>>2];N[a+144>>2]=q;r=N[i+120>>2];N[a+148>>2]=r;t=N[d+128>>2];N[a+152>>2]=t;u=N[i+128>>2];N[a+156>>2]=u;e=N[a+72>>2];i=J[b+24>>2];d=P(s,12);p=i+d|0;m=N[p+8>>2];k=Za(m);c=N[a+68>>2];g=_a(m);f=J[b+28>>2];d=d+f|0;m=N[d>>2];v=N[d+4>>2];w=N[d+8>>2];n=P(n,12);d=n+f|0;x=N[d>>2];y=N[d+4>>2];z=N[d+8>>2];B=N[p>>2];d=i+n|0;C=N[d>>2];D=N[p+4>>2];E=N[d+4>>2];j=N[d+8>>2];c=Q(c-l);e=Q(e-o);l=Q(Q(g*c)-Q(k*e));N[a+112>>2]=l;k=Q(Q(k*c)+Q(g*e));N[a+116>>2]=k;g=N[a+80>>2];e=Za(j);c=N[a+76>>2];j=_a(j);h=Q(c-h);c=Q(g-A);g=Q(Q(j*h)-Q(e*c));N[a+120>>2]=g;j=Q(Q(e*h)+Q(j*c));N[a+124>>2]=j;h=Q(Q(Q(C+g)-B)-l);e=Q(Q(Q(E+j)-D)-k);c=Q(Y(Q(Q(h*h)+Q(e*e))));N[a+88>>2]=c;if(c>Q(.004999999888241291)){c=Q(Q(1)/c);e=Q(e*c);N[a+108>>2]=e;h=Q(h*c);N[a+104>>2]=h;c=Q(Q(g*e)-Q(h*j));o=Q(Q(u*c)*c);c=Q(Q(l*e)-Q(h*k));c=Q(o+Q(r+Q(Q(Q(t*c)*c)+q)));N[a+160>>2]=c!=Q(0)?Q(Q(1)/c):Q(0);a:{if(K[b+20|0]){c=Q(N[b+8>>2]*N[a+92>>2]);N[a+92>>2]=c;o=g;g=Q(e*c);e=Q(h*c);z=Q(Q(u*Q(Q(o*g)+Q(e*Q(-j))))+z);w=Q(w-Q(t*Q(Q(l*g)+Q(e*Q(-k)))));y=Q(y+Q(r*g));x=Q(x+Q(r*e));v=Q(v-Q(q*g));m=Q(m-Q(q*e));break a}J[a+92>>2]=0}f=J[b+28>>2]+P(s,12)|0;N[f+4>>2]=v;N[f>>2]=m;f=J[b+28>>2];N[(f+P(J[a+96>>2],12)|0)+8>>2]=w;f=f+P(J[a+100>>2],12)|0;N[f+4>>2]=y;N[f>>2]=x;N[(J[b+28>>2]+P(J[a+100>>2],12)|0)+8>>2]=z;return}J[a+160>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+92>>2]=0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a>>2];g=J[a+4>>2]-d>>3;if(g>>>0>>0){d=b-g|0;g=a;a:{e=J[a+8>>2];b=J[a+4>>2];if(d>>>0<=e-b>>3>>>0){b:{if(!d){break b}a=b;f=d&7;if(f){e=0;while(1){i=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=i;a=a+8|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}b=(d<<3)+b|0;if((d-1&536870911)>>>0<7){break b}while(1){d=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=d;d=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=d;d=J[c+4>>2];J[a+16>>2]=J[c>>2];J[a+20>>2]=d;d=J[c+4>>2];J[a+24>>2]=J[c>>2];J[a+28>>2]=d;d=J[c+4>>2];J[a+32>>2]=J[c>>2];J[a+36>>2]=d;d=J[c+4>>2];J[a+40>>2]=J[c>>2];J[a+44>>2]=d;d=J[c+4>>2];J[a+48>>2]=J[c>>2];J[a+52>>2]=d;d=J[c+4>>2];J[a+56>>2]=J[c>>2];J[a+60>>2]=d;a=a- -64|0;if((b|0)!=(a|0)){continue}break}}J[g+4>>2]=b;break a}c:{f=J[g>>2];h=b-f>>3;a=h+d|0;if(a>>>0<536870912){e=e-f|0;f=e>>2;f=e>>>0>=2147483640?536870911:a>>>0>>0?f:a;if(f){if(f>>>0>=536870912){break c}i=Xa(f<<3)}e=(h<<3)+i|0;a=e;h=d&7;if(h){while(1){j=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=j;a=a+8|0;k=k+1|0;if((h|0)!=(k|0)){continue}break}}h=(d<<3)+e|0;if((d-1&536870911)>>>0>=7){while(1){d=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=d;d=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=d;d=J[c+4>>2];J[a+16>>2]=J[c>>2];J[a+20>>2]=d;d=J[c+4>>2];J[a+24>>2]=J[c>>2];J[a+28>>2]=d;d=J[c+4>>2];J[a+32>>2]=J[c>>2];J[a+36>>2]=d;d=J[c+4>>2];J[a+40>>2]=J[c>>2];J[a+44>>2]=d;d=J[c+4>>2];J[a+48>>2]=J[c>>2];J[a+52>>2]=d;d=J[c+4>>2];J[a+56>>2]=J[c>>2];J[a+60>>2]=d;a=a- -64|0;if((h|0)!=(a|0)){continue}break}}c=J[g>>2];if((c|0)!=(b|0)){while(1){b=b-8|0;a=b;j=J[a+4>>2];e=e-8|0;d=e;J[d>>2]=J[a>>2];J[d+4>>2]=j;if((a|0)!=(c|0)){continue}break}b=J[g>>2]}J[g+8>>2]=(f<<3)+i;J[g+4>>2]=h;J[g>>2]=e;if(b){ab(b)}break a}ma();B()}Tb();B()}return}if(b>>>0>>0){J[a+4>>2]=d+(b<<3)}}function qg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0);e=J[b+24>>2];l=e+P(J[a+136>>2],12)|0;m=N[l+8>>2];u=N[l+4>>2];v=N[l>>2];e=e+P(J[a+132>>2],12)|0;n=N[e+8>>2];k=N[e+4>>2];w=N[e>>2];l=1;o=N[a+180>>2];p=N[a+184>>2];if(!(!K[a+116|0]|Q(o+p)==Q(0))){d=Q(Q(m-n)-N[a+120>>2]);g=N[a+128>>2];f=N[a+124>>2];c=Q(g-f);a:{if((c>Q(0)?c:Q(-c))=g)){break a}c=Q(Q(d-g)+Q(-.03490658849477768));c=cQ(0)?c:Q(-c))<=Q(.03490658849477768);c=Q(c*Q(-N[a+208>>2]));m=Q(Q(p*c)+m);n=Q(n-Q(o*c))}h=N[a+168>>2];i=N[a+80>>2];x=Za(m);d=N[a+164>>2];f=N[a+76>>2];y=_a(m);g=N[a+160>>2];c=N[a+72>>2];j=Q(f-d);h=Q(i-h);q=Q(Q(x*j)+Q(y*h));i=Za(n);d=Q(N[a+68>>2]-N[a+156>>2]);f=_a(n);c=Q(c-g);r=Q(Q(i*d)+Q(f*c));s=N[a+172>>2];t=N[a+176>>2];g=Q(s+t);z=Q(Q(Q(q*p)*q)+Q(Q(Q(r*o)*r)+g));A=k;k=Q(Q(Q(u+q)-k)-r);h=Q(Q(y*j)-Q(h*x));j=Q(Q(f*d)-Q(c*i));i=Q(Q(Q(v+h)-w)-j);c=Q(h*p);d=Q(Q(Q(j*Q(-o))*r)-Q(q*c));g=Q(Q(c*h)+Q(Q(Q(j*o)*j)+g));c=Q(Q(z*g)-Q(d*d));c=Q(-(c!=Q(0)?Q(Q(1)/c):c));f=Q(Q(Q(z*k)-Q(i*d))*c);N[e+4>>2]=A-Q(s*f);c=Q(Q(Q(g*i)-Q(k*d))*c);N[e>>2]=w-Q(s*c);e=J[b+24>>2];N[(e+P(J[a+132>>2],12)|0)+8>>2]=n-Q(o*Q(Q(j*f)-Q(c*r)));e=e+P(J[a+136>>2],12)|0;N[e+4>>2]=u+Q(t*f);N[e>>2]=v+Q(t*c);N[(J[b+24>>2]+P(J[a+136>>2],12)|0)+8>>2]=Q(p*Q(Q(h*f)-Q(c*q)))+m;return Q(Y(Q(Q(i*i)+Q(k*k))))<=Q(.004999999888241291)&l}function kd(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=0;c=La-128|0;La=c;l=J[a+52>>2];i=J[a+48>>2];g=N[i+12>>2];f=N[i+20>>2];d=N[a+68>>2];e=N[i+24>>2];h=N[a+72>>2];N[c+124>>2]=Q(Q(f*d)+Q(e*h))+N[i+16>>2];N[c+120>>2]=g+Q(Q(e*d)-Q(h*f));g=N[l+12>>2];d=N[l+20>>2];h=N[a+76>>2];j=N[l+24>>2];k=N[a+80>>2];N[c+116>>2]=Q(Q(d*h)+Q(j*k))+N[l+16>>2];N[c+112>>2]=g+Q(Q(j*h)-Q(k*d));d=N[a+88>>2];h=N[a+84>>2];J[c+104>>2]=1060320051;J[c+108>>2]=1065353216;J[c+96>>2]=1060320051;J[c+100>>2]=1060320051;J[c+88>>2]=1050253722;J[c+92>>2]=1065353216;J[c+80>>2]=1050253722;J[c+84>>2]=1063675494;J[c+72>>2]=1050253722;J[c+76>>2]=1065353216;J[c+64>>2]=1063675494;J[c+68>>2]=1050253722;J[c+56>>2]=1063675494;J[c+60>>2]=1065353216;J[c+48>>2]=1050253722;J[c+52>>2]=1050253722;J[c+40>>2]=1053609165;J[c+44>>2]=1065353216;J[c+32>>2]=1053609165;J[c+36>>2]=1053609165;Na[J[J[b>>2]+24>>2]](b,c+120|0,c+112|0,c+32|0);g=Q(Q(f*h)+Q(e*d));f=Q(Q(e*h)-Q(d*f));a:{if(K[a+140|0]){e=N[a+124>>2];d=N[c+124>>2];N[c+28>>2]=Q(g*e)+d;h=N[c+120>>2];N[c+24>>2]=h+Q(f*e);e=g;g=N[a+128>>2];N[c+20>>2]=d+Q(e*g);N[c+16>>2]=h+Q(f*g);f=N[a+96>>2];e=N[i+20>>2];d=N[a+92>>2];h=N[i+24>>2];Na[J[J[b>>2]+24>>2]](b,c+24|0,c+16|0,c+96|0);j=N[c+28>>2];g=Q(Q(Q(e*d)+Q(h*f))*Q(.5));N[c+12>>2]=j-g;k=N[c+24>>2];f=Q(Q(Q(h*d)-Q(f*e))*Q(.5));N[c+8>>2]=k-f;N[c+4>>2]=g+j;N[c>>2]=f+k;a=c+8|0;Na[J[J[b>>2]+24>>2]](b,a,c,c+80|0);e=N[c+20>>2];N[c+12>>2]=e-g;d=N[c+16>>2];N[c+8>>2]=d-f;N[c+4>>2]=g+e;N[c>>2]=f+d;Na[J[J[b>>2]+24>>2]](b,a,c,c- -64|0);break a}e=N[c+124>>2];N[c+28>>2]=e-g;d=N[c+120>>2];N[c+24>>2]=d-f;N[c+20>>2]=g+e;N[c+16>>2]=f+d;Na[J[J[b>>2]+24>>2]](b,c+24|0,c+16|0,c+96|0)}Na[J[J[b>>2]+32>>2]](b,c+120|0,Q(5),c+96|0);Na[J[J[b>>2]+32>>2]](b,c+112|0,Q(5),c+48|0);La=c+128|0}function sh(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=0,l=0,m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0);j=J[a+48>>2];u=J[j+8>>2];J[a+104>>2]=u;k=J[a+52>>2];o=J[k+8>>2];J[a+108>>2]=o;q=N[j+32>>2];f=J[j+32>>2];n=N[j+28>>2];l=J[j+28>>2];J[a+128>>2]=l;J[a+132>>2]=f;r=N[k+32>>2];f=J[k+32>>2];g=N[k+28>>2];J[a+136>>2]=J[k+28>>2];J[a+140>>2]=f;s=N[j+120>>2];N[a+144>>2]=s;t=N[k+120>>2];N[a+148>>2]=t;d=N[j+128>>2];N[a+152>>2]=d;p=N[k+128>>2];N[a+156>>2]=p;h=N[a+72>>2];j=P(u,12);k=J[b+24>>2];e=N[(j+k|0)+8>>2];m=_a(e);i=N[a+68>>2];e=Za(e);f=J[b+28>>2];o=P(o,12);l=f+o|0;v=N[l+8>>2];w=N[l+4>>2];x=N[l>>2];l=j+f|0;y=N[l+8>>2];z=N[l+4>>2];A=N[l>>2];c=N[(k+o|0)+8>>2];i=Q(i-n);h=Q(h-q);n=Q(Q(e*i)+Q(m*h));N[a+116>>2]=n;m=Q(Q(m*i)-Q(h*e));N[a+112>>2]=m;e=Q(d+p);N[a+176>>2]=e>Q(0)?Q(Q(1)/e):e;e=N[a+80>>2];h=_a(c);i=N[a+76>>2];c=Za(c);g=Q(i-g);i=Q(e-r);e=Q(Q(c*g)+Q(h*i));N[a+124>>2]=e;h=Q(Q(h*g)-Q(i*c));N[a+120>>2]=h;c=Q(s+t);g=Q(Q(Q(p*e)*e)+Q(Q(Q(d*n)*n)+c));q=g;g=Q(p*h);i=Q(Q(g*h)+Q(Q(Q(d*m)*m)+c));r=Q(-d);d=Q(Q(Q(m*r)*n)-Q(e*g));c=Q(Q(q*i)-Q(d*d));c=c!=Q(0)?Q(Q(1)/c):c;N[a+172>>2]=q*c;N[a+160>>2]=i*c;d=Q(d*Q(-c));N[a+168>>2]=d;N[a+164>>2]=d;a:{if(K[b+20|0]){c=N[b+8>>2];d=Q(c*N[a+84>>2]);N[a+84>>2]=d;g=Q(c*N[a+92>>2]);N[a+92>>2]=g;c=Q(c*N[a+88>>2]);N[a+88>>2]=c;v=Q(Q(p*Q(g+Q(Q(h*c)-Q(d*e))))+v);y=Q(Q(r*Q(g+Q(Q(m*c)-Q(d*n))))+y);x=Q(x+Q(t*d));A=Q(A-Q(s*d));w=Q(w+Q(t*c));z=Q(z-Q(s*c));break a}J[a+92>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0}f=J[b+28>>2]+P(u,12)|0;N[f+4>>2]=z;N[f>>2]=A;f=J[b+28>>2];N[(f+P(J[a+104>>2],12)|0)+8>>2]=y;f=f+P(J[a+108>>2],12)|0;N[f+4>>2]=w;N[f>>2]=x;N[(J[b+28>>2]+P(J[a+108>>2],12)|0)+8>>2]=v}function Dd(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=0,f=0;c=La-416|0;La=c;Ya(7671,0);O[c+400>>3]=N[a+16>>2];Ya(6794,c+400|0);O[c+384>>3]=N[a+20>>2];Ya(6766,c+384|0);O[c+368>>3]=N[a>>2];Ya(6581,c+368|0);J[c+352>>2]=K[a+38|0];Ya(8706,c+352|0);J[c+336>>2]=L[a+32>>1];Ya(8944,c+336|0);J[c+320>>2]=L[a+34>>1];Ya(8986,c+320|0);J[c+304>>2]=I[a+36>>1];Ya(9024,c+304|0);a:{b:{c:{d:{e:{f:{a=J[a+12>>2];switch(J[a+4>>2]){case 0:break c;case 3:break d;case 2:break e;case 1:break f;default:break a}}Ya(7406,0);O[c+128>>3]=N[a+8>>2];Ya(6663,c+128|0);d=N[a+28>>2];O[c+120>>3]=N[a+32>>2];O[c+112>>3]=d;Ya(8413,c+112|0);d=N[a+12>>2];O[c+104>>3]=N[a+16>>2];O[c+96>>3]=d;Ya(8375,c+96|0);d=N[a+20>>2];O[c+88>>3]=N[a+24>>2];O[c+80>>3]=d;Ya(8337,c+80|0);d=N[a+36>>2];O[c+72>>3]=N[a+40>>2];O[c+64>>3]=d;Ya(8299,c- -64|0);J[c+48>>2]=K[a+44|0];Ya(8881,c+48|0);break b}Ya(7328,0);J[c+192>>2]=8;Ya(7710,c+192|0);e=J[a+148>>2];if((e|0)>0){while(1){e=a+(f<<3)|0;d=N[e+20>>2];O[c+176>>3]=N[e+24>>2];J[c+160>>2]=f;O[c+168>>3]=d;Ya(8090,c+160|0);f=f+1|0;e=J[a+148>>2];if((f|0)<(e|0)){continue}break}}J[c+144>>2]=e;Ya(9063,c+144|0);break b}Ya(7355,0);J[c+288>>2]=J[a+16>>2];Ya(7710,c+288|0);e=J[a+16>>2];if((e|0)>0){while(1){e=J[a+12>>2]+(f<<3)|0;d=N[e>>2];O[c+272>>3]=N[e+4>>2];J[c+256>>2]=f;O[c+264>>3]=d;Ya(8090,c+256|0);f=f+1|0;e=J[a+16>>2];if((f|0)<(e|0)){continue}break}}J[c+240>>2]=e;Ya(9087,c+240|0);d=N[a+20>>2];O[c+232>>3]=N[a+24>>2];O[c+224>>3]=d;Ya(7908,c+224|0);d=N[a+28>>2];O[c+216>>3]=N[a+32>>2];O[c+208>>3]=d;Ya(7949,c+208|0);break b}Ya(7380,0);O[c+32>>3]=N[a+8>>2];Ya(6663,c+32|0);d=N[a+12>>2];O[c+24>>3]=N[a+16>>2];O[c+16>>3]=d;Ya(8026,c+16|0)}Ya(9326,0);Ya(7304,0);Ya(9326,0);J[c>>2]=b;Ya(8542,c)}La=c+416|0}function eg(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=0,g=Q(0),h=0,i=Q(0),j=Q(0),k=0,l=0,m=0,n=Q(0);c=La-112|0;La=c;h=J[a+52>>2];f=J[a+48>>2];d=N[f+12>>2];e=N[f+20>>2];g=N[a+68>>2];i=N[f+24>>2];j=N[a+72>>2];N[c+108>>2]=Q(Q(e*g)+Q(i*j))+N[f+16>>2];N[c+104>>2]=d+Q(Q(i*g)-Q(j*e));d=N[h+12>>2];e=N[h+20>>2];g=N[a+76>>2];i=N[h+24>>2];j=N[a+80>>2];N[c+100>>2]=Q(Q(e*g)+Q(i*j))+N[h+16>>2];N[c+96>>2]=d+Q(Q(i*g)-Q(j*e));J[c+88>>2]=1060320051;J[c+92>>2]=1065353216;J[c+80>>2]=1060320051;J[c+84>>2]=1060320051;J[c+72>>2]=1050253722;J[c+76>>2]=1065353216;J[c+64>>2]=1050253722;J[c+68>>2]=1063675494;J[c+56>>2]=1050253722;J[c+60>>2]=1065353216;J[c+48>>2]=1063675494;J[c+52>>2]=1050253722;J[c+40>>2]=1063675494;J[c+44>>2]=1065353216;J[c+32>>2]=1050253722;J[c+36>>2]=1050253722;J[c+24>>2]=1053609165;J[c+28>>2]=1065353216;J[c+16>>2]=1053609165;J[c+20>>2]=1053609165;Na[J[J[b>>2]+32>>2]](b,c+104|0,Q(5),c+32|0);k=c+96|0;Na[J[J[b>>2]+32>>2]](b,k,Q(5),c+16|0);d=Q(Q(N[J[a+52>>2]+56>>2]-N[J[a+48>>2]+56>>2])-N[a+120>>2]);m=c,n=Q(Q(Za(d)*Q(.5))+N[c+100>>2]),N[m+4>>2]=n;d=_a(d);N[c>>2]=N[c+96>>2]+Q(d*Q(.5));l=c+80|0;Na[J[J[b>>2]+24>>2]](b,k,c,l);Na[J[J[b>>2]+16>>2]](b,k,Q(.5),l);if(K[a+116|0]){e=N[a+124>>2];g=Za(e);d=N[a+128>>2];N[c+4>>2]=Q(g*Q(.5))+N[c+100>>2];m=c,n=Q(Q(_a(e)*Q(.5))+N[c+96>>2]),N[m>>2]=n;a=c+96|0;Na[J[J[b>>2]+24>>2]](b,a,c,c- -64|0);m=c,n=Q(Q(Za(d)*Q(.5))+N[c+100>>2]),N[m+4>>2]=n;m=c,n=Q(Q(_a(d)*Q(.5))+N[c+96>>2]),N[m>>2]=n;Na[J[J[b>>2]+24>>2]](b,a,c,c+48|0)}J[c+8>>2]=1061997773;J[c+12>>2]=1065353216;J[c>>2]=1056964608;J[c+4>>2]=1061997773;a=c+104|0;Na[J[J[b>>2]+24>>2]](b,f+12|0,a,c);f=a;a=c+96|0;Na[J[J[b>>2]+24>>2]](b,f,a,c);Na[J[J[b>>2]+24>>2]](b,h+12|0,a,c);La=c+112|0}function ed(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);a:{switch(J[b+72>>2]){case 0:g=N[d>>2];f=N[c>>2];h=N[d+8>>2];i=N[b>>2];k=N[d+12>>2];m=N[b+4>>2];n=Q(Q(Q(h*i)+Q(k*m))+N[d+4>>2]);o=N[c+8>>2];p=N[b+24>>2];l=N[c+12>>2];q=N[b+28>>2];r=Q(Q(Q(o*p)+Q(l*q))+N[c+4>>2]);j=Q(n-r);N[a+4>>2]=j;h=Q(g+Q(Q(k*i)-Q(m*h)));i=Q(f+Q(Q(l*p)-Q(q*o)));g=Q(h-i);N[a>>2]=g;f=Q(Q(g*g)+Q(j*j));k=Q(Y(f));if(!(k>2]=k;f=Q(g*f);N[a>>2]=f;f=Q(Q(g*f)+Q(j*k))}N[a+12>>2]=Q(r+n)*Q(.5);N[a+8>>2]=Q(i+h)*Q(.5);N[a+16>>2]=Q(f-N[b+76>>2])-N[b+80>>2];return;case 1:j=N[c+8>>2];g=N[b+16>>2];f=N[c+12>>2];h=N[b+20>>2];i=Q(Q(j*g)+Q(f*h));N[a+4>>2]=i;k=Q(Q(f*g)-Q(h*j));N[a>>2]=k;j=N[b+28>>2];g=N[c+12>>2];m=N[b+80>>2];n=N[b+76>>2];o=N[c>>2];p=N[c+4>>2];f=N[c+8>>2];h=N[b+24>>2];l=N[d>>2];q=N[d+8>>2];b=(e<<3)+b|0;r=N[b>>2];t=N[d+12>>2];u=N[b+4>>2];s=Q(Q(Q(q*r)+Q(t*u))+N[d+4>>2]);N[a+12>>2]=s;l=Q(l+Q(Q(t*r)-Q(u*q)));N[a+8>>2]=l;N[a+16>>2]=Q(Q(Q(Q(l-Q(o+Q(Q(g*h)-Q(j*f))))*k)+Q(Q(s-Q(p+Q(Q(f*h)+Q(g*j))))*i))-n)-m;return;case 2:g=N[d+8>>2];f=N[b+16>>2];h=N[d+12>>2];i=N[b+20>>2];j=Q(Q(g*f)+Q(h*i));N[a+4>>2]=j;g=Q(Q(h*f)-Q(i*g));N[a>>2]=g;f=N[b+28>>2];h=N[d+12>>2];e=(e<<3)+b|0;i=N[e>>2];k=N[e+4>>2];m=N[c+12>>2];l=N[b+80>>2];q=N[b+76>>2];r=N[d>>2];t=N[d+4>>2];n=N[d+8>>2];o=N[b+24>>2];u=N[c>>2];s=N[c+4>>2];p=N[c+8>>2];N[a+4>>2]=-j;N[a>>2]=-g;s=Q(s+Q(Q(p*i)+Q(m*k)));N[a+12>>2]=s;i=Q(u+Q(Q(m*i)-Q(k*p)));N[a+8>>2]=i;N[a+16>>2]=Q(Q(Q(Q(i-Q(r+Q(Q(h*o)-Q(f*n))))*g)+Q(Q(s-Q(t+Q(Q(n*o)+Q(h*f))))*j))-q)-l;break;default:break a}}}function ec(a,b,c,d){var e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0);f=La-48|0;La=f;if(J[a+28>>2]>0){while(1){g=J[a+12>>2];e=J[a+24>>2]+P(q,28)|0;Na[J[J[g>>2]+24>>2]](g,f+32|0,c,J[e+20>>2]);g=J[a+12>>2];Na[J[J[g>>2]+24>>2]](g,f+16|0,d,J[e+20>>2]);h=N[f+16>>2];j=N[f+32>>2];i=N[f+36>>2];k=N[f+20>>2];N[e+4>>2]=i>2]=h>j?j:h;h=N[f+24>>2];j=N[f+40>>2];i=N[f+44>>2];k=N[f+28>>2];N[e+12>>2]=i>k?i:k;N[e+8>>2]=h>2]=Q(Q(N[f+20>>2]+N[f+28>>2])*Q(.5))-Q(Q(N[f+36>>2]+N[f+44>>2])*Q(.5));N[f+8>>2]=Q(Q(N[f+16>>2]+N[f+24>>2])*Q(.5))-Q(Q(N[f+32>>2]+N[f+40>>2])*Q(.5));h=Q(N[f+12>>2]*Q(4));g=h>2];j=Q(Q(n+Q(.10000000149011612))+(g?Q(-0):h));o=N[e+4>>2];h=Q(Q(o+Q(-.10000000149011612))+(g?h:Q(-0)));i=Q(N[f+8>>2]*Q(4));g=i>2];k=Q(Q(p+Q(.10000000149011612))+(g?Q(-0):i));l=N[e>>2];i=Q(Q(l+Q(-.10000000149011612))+(g?i:Q(-0)));g=J[e+24>>2];m=P(g,40);e=m+J[b+4>>2]|0;r=N[e>>2];a:{b:{if(!(l>=r)){break b}l=o;o=N[e+4>>2];if(!(l>=o)){break b}l=p;p=N[e+8>>2];if(!(l<=p)){break b}l=n;n=N[e+12>>2];if(!(l<=n)|!(Q(i+Q(-.4000000059604645))<=r)|(!(o>=Q(h+Q(-.4000000059604645)))|!(p<=Q(k+Q(.4000000059604645))))){break b}e=0;if(n<=Q(j+Q(.4000000059604645))){break a}}Nd(b,g);e=m+J[b+4>>2]|0;N[e+12>>2]=j;N[e+8>>2]=k;N[e+4>>2]=h;N[e>>2]=i;Pd(b,g);H[(m+J[b+4>>2]|0)+36|0]=1;e=1}if(e){e=J[b+40>>2];if((e|0)==J[b+36>>2]){J[b+36>>2]=e<<1;m=J[b+32>>2];e=fb(e<<3);J[b+32>>2]=e;rb(e,m,J[b+40>>2]<<2);ab(m);e=J[b+40>>2]}J[J[b+32>>2]+(e<<2)>>2]=g;J[b+40>>2]=J[b+40>>2]+1}q=q+1|0;if((q|0)>2]){continue}break}}La=f+48|0}function sg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0);q=J[b+28>>2];f=q+P(J[a+136>>2],12)|0;g=N[f+8>>2];r=N[f+4>>2];s=N[f>>2];f=P(J[a+132>>2],12)+q|0;d=N[f+8>>2];t=N[f+4>>2];u=N[f>>2];l=N[a+180>>2];m=N[a+184>>2];e=Q(l+m);if(!(!K[a+104|0]|e==Q(0))){c=Q(N[b>>2]*N[a+108>>2]);n=Q(-c);o=N[a+92>>2];i=Q(o-Q(N[a+208>>2]*Q(Q(g-d)-N[a+112>>2])));c=c>i?i:c;c=c>2]=c;c=Q(c-o);g=Q(Q(m*c)+g);d=Q(d-Q(l*c))}n=N[a+176>>2];o=N[a+172>>2];if(!(!K[a+116|0]|e==Q(0))){e=N[a+96>>2];c=N[a+208>>2];i=N[a+204>>2];h=Q(i-N[a+124>>2]);p=h>Q(0)?h:Q(0);h=N[b+4>>2];j=Q(e-Q(c*Q(Q(p*h)+Q(g-d))));j=j>Q(0)?j:Q(0);N[a+96>>2]=j;k=N[a+100>>2];p=c;c=Q(N[a+128>>2]-i);i=d;d=Q(j-e);e=Q(i-Q(l*d));g=Q(Q(m*d)+g);d=Q(k-Q(p*Q(Q(h*(c>Q(0)?c:Q(0)))+Q(e-g))));d=d>Q(0)?d:Q(0);N[a+100>>2]=d;d=Q(d-k);g=Q(g-Q(m*d));d=Q(Q(l*d)+e)}i=N[a+188>>2];h=N[a+200>>2];j=N[a+192>>2];k=N[a+196>>2];e=Q(Q(i*h)-Q(j*k));c=e!=Q(0)?Q(Q(1)/e):e;v=N[a+148>>2];w=N[a+140>>2];x=Q(Q(Q(r+Q(g*v))-t)-Q(d*w));e=Q(x*k);p=h;h=N[a+152>>2];k=N[a+144>>2];y=Q(Q(Q(s-Q(g*h))-u)+Q(d*k));e=Q(Q(e-Q(p*y))*c);N[a+84>>2]=N[a+84>>2]+e;c=Q(Q(Q(y*j)-Q(i*x))*c);N[a+88>>2]=N[a+88>>2]+c;N[f+4>>2]=t-Q(o*c);N[f>>2]=u-Q(o*e);f=J[b+28>>2];N[(f+P(J[a+132>>2],12)|0)+8>>2]=Q(Q(-l)*Q(Q(w*c)-Q(e*k)))+d;f=f+P(J[a+136>>2],12)|0;N[f+4>>2]=r+Q(n*c);N[f>>2]=s+Q(n*e);N[(J[b+28>>2]+P(J[a+136>>2],12)|0)+8>>2]=Q(m*Q(Q(v*c)-Q(e*h)))+g}function td(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=0,n=0,o=0,p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=0,z=0,A=0;j=J[b+148>>2];if((j|0)<=0){J[a>>2]=0;return Q(-34028234663852886e22)}a:{b:{c:{o=J[d+148>>2];if((o|0)<=0){c=j&3;if(j>>>0>=4){break c}g=Q(-34028234663852886e22);b=0;break b}g=N[e+12>>2];k=Q(N[c+4>>2]-N[e+4>>2]);f=N[e+8>>2];h=Q(N[c>>2]-N[e>>2]);v=Q(Q(g*k)-Q(f*h));w=Q(Q(g*h)+Q(f*k));h=N[c+12>>2];i=N[c+8>>2];k=Q(Q(g*h)+Q(i*f));d=d+20|0;x=b+20|0;y=b+84|0;p=Q(Q(g*i)-Q(h*f));r=Q(-p);z=o&-2;A=o&1;g=Q(-34028234663852886e22);c=0;while(1){b=c<<3;e=b+y|0;f=N[e>>2];i=N[e+4>>2];h=Q(Q(p*f)+Q(k*i));i=Q(Q(k*f)+Q(i*r));b=b+x|0;f=N[b>>2];l=N[b+4>>2];q=Q(v+Q(Q(p*f)+Q(k*l)));l=Q(w+Q(Q(k*f)+Q(l*r)));f=Q(34028234663852886e22);b=0;e=0;if((o|0)!=1){while(1){n=b<<3;s=d+(n|8)|0;t=Q(Q(i*Q(N[s>>2]-l))+Q(h*Q(N[s+4>>2]-q)));n=d+n|0;u=Q(Q(i*Q(N[n>>2]-l))+Q(h*Q(N[n+4>>2]-q)));f=f>u?u:f;f=f>t?t:f;b=b+2|0;e=e+2|0;if((z|0)!=(e|0)){continue}break}}if(A){b=d+(b<<3)|0;h=Q(Q(i*Q(N[b>>2]-l))+Q(h*Q(N[b+4>>2]-q)));f=f>h?h:f}b=f>g;m=b?c:m;g=b?f:g;c=c+1|0;if((j|0)!=(c|0)){continue}break}break a}d=j&-4;g=Q(-34028234663852886e22);b=0;e=0;while(1){j=g>2]=m;return g}function xg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0);r=N[a+164>>2];k=N[a+96>>2];p=J[b+24>>2];g=p+P(J[a+120>>2],12)|0;u=N[g+8>>2];j=_a(u);l=N[a+160>>2];n=N[a+92>>2];h=Za(u);w=N[g+4>>2];t=N[a+72>>2];x=N[g>>2];m=N[a+68>>2];d=N[a+172>>2];c=N[a+104>>2];p=p+P(J[a+124>>2],12)|0;v=N[p+8>>2];i=_a(v);s=N[a+168>>2];e=N[a+100>>2];f=Za(v);y=N[p>>2];q=Q(e-s);d=Q(c-d);s=Q(Q(i*q)-Q(f*d));e=Q(Q(y+s)-N[a+76>>2]);z=N[p+4>>2];q=Q(Q(f*q)+Q(i*d));o=Q(Q(z+q)-N[a+80>>2]);i=Q(Y(Q(Q(e*e)+Q(o*o))));f=Q(0);d=Q(0);c=Q(0);l=Q(n-l);n=Q(k-r);r=Q(Q(j*l)-Q(h*n));k=Q(Q(x+r)-m);l=Q(Q(h*l)+Q(j*n));j=Q(Q(w+l)-t);h=Q(Y(Q(Q(k*k)+Q(j*j))));if(h>Q(.04999999701976776)){d=Q(Q(1)/h);c=Q(j*d);d=Q(k*d)}j=Q(0);if(i>Q(.04999999701976776)){f=Q(Q(1)/i);j=Q(o*f);f=Q(e*f)}A=c;m=Q(N[a+108>>2]-h);h=N[a+112>>2];i=Q(m-Q(h*i));e=Q(Q(s*j)-Q(f*q));k=N[a+188>>2];m=Q(Q(e*k)*e);e=N[a+180>>2];o=N[a+176>>2];c=Q(Q(r*c)-Q(d*l));n=N[a+184>>2];c=Q(Q(Q(h*h)*Q(m+e))+Q(o+Q(Q(c*n)*c)));t=Q(i*Q(-(c>Q(0)?Q(Q(1)/c):c)));m=Q(-t);c=Q(A*m);N[g+4>>2]=w+Q(o*c);d=Q(d*m);N[g>>2]=x+Q(o*d);g=J[b+24>>2];N[(g+P(J[a+120>>2],12)|0)+8>>2]=Q(n*Q(Q(r*c)-Q(d*l)))+u;g=g+P(J[a+124>>2],12)|0;d=Q(t*Q(-h));c=Q(j*d);N[g+4>>2]=z+Q(e*c);f=Q(f*d);N[g>>2]=y+Q(e*f);N[(J[b+24>>2]+P(J[a+124>>2],12)|0)+8>>2]=Q(k*Q(Q(s*c)-Q(f*q)))+v;return(i>Q(0)?i:Q(-i))>2];c=s+P(J[a+120>>2],12)|0;e=N[c+8>>2];m=N[c+4>>2];n=N[c>>2];c=P(J[a+116>>2],12)+s|0;f=N[c+8>>2];o=N[c+4>>2];p=N[c>>2];q=N[a+168>>2];r=N[a+164>>2];t=N[a+160>>2];u=N[a+156>>2];a:{if(N[a+68>>2]>Q(0)){d=N[a+112>>2];g=Q(Q(Q(d*N[a+100>>2])+Q(Q(e-f)+N[a+76>>2]))*Q(-N[a+204>>2]));N[a+112>>2]=d+g;f=Q(f-Q(r*g));h=N[a+128>>2];i=N[a+136>>2];e=Q(Q(q*g)+e);d=Q(Q(f*h)+Q(Q(n-Q(i*e))-p));j=N[a+132>>2];k=N[a+124>>2];l=Q(Q(Q(m+Q(j*e))-o)-Q(f*k));g=Q(Q(N[a+172>>2]*d)+Q(N[a+184>>2]*l));N[a+104>>2]=N[a+104>>2]-g;d=Q(Q(N[a+176>>2]*d)+Q(l*N[a+188>>2]));N[a+108>>2]=N[a+108>>2]-d;f=Q(f-Q(r*Q(Q(h*g)-Q(k*d))));e=Q(Q(q*Q(Q(i*g)-Q(j*d)))+e);break a}k=N[a+136>>2];l=N[a+128>>2];h=Q(Q(Q(n-Q(e*k))-p)+Q(f*l));v=N[a+132>>2];w=N[a+124>>2];i=Q(Q(Q(m+Q(e*v))-o)-Q(f*w));j=Q(e-f);g=Q(Q(Q(h*N[a+172>>2])+Q(i*N[a+184>>2]))+Q(j*N[a+196>>2]));N[a+104>>2]=N[a+104>>2]-g;d=Q(Q(Q(h*N[a+176>>2])+Q(i*N[a+188>>2]))+Q(j*N[a+200>>2]));N[a+108>>2]=N[a+108>>2]-d;h=Q(Q(Q(h*N[a+180>>2])+Q(i*N[a+192>>2]))+Q(j*N[a+204>>2]));N[a+112>>2]=N[a+112>>2]-h;f=Q(f-Q(r*Q(Q(Q(l*g)-Q(w*d))-h)));e=Q(Q(q*Q(Q(Q(k*g)-Q(v*d))-h))+e)}N[c+4>>2]=o+Q(u*d);N[c>>2]=p+Q(u*g);c=J[b+28>>2];N[(c+P(J[a+116>>2],12)|0)+8>>2]=f;c=c+P(J[a+120>>2],12)|0;N[c+4>>2]=m-Q(t*d);N[c>>2]=n-Q(t*g);N[(J[b+28>>2]+P(J[a+120>>2],12)|0)+8>>2]=e}function fl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;c=Xa(103028);b=c;J[b+4>>2]=0;J[b+8>>2]=128;d=fb(1024);J[b>>2]=d;Db(d,0,J[b+8>>2]<<3);J[b+60>>2]=0;J[b+64>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+12>>2]=0;J[b+16>>2]=0;b=b+68|0;J[b+102796>>2]=0;J[b+102408>>2]=0;J[b+102400>>2]=0;J[b+102404>>2]=0;b=c+102868|0;J[b>>2]=-1;J[b+8>>2]=0;J[b+12>>2]=16;d=fb(640);J[b+4>>2]=d;Db(d,0,P(J[b+12>>2],40));d=J[b+12>>2];a:{if((d|0)<=1){e=d-1|0;d=J[b+4>>2];break a}d=J[b+4>>2];while(1){e=P(f,40);f=f+1|0;J[(e+d|0)+20>>2]=f;d=J[b+4>>2];J[(e+d|0)+32>>2]=-1;e=J[b+12>>2]-1|0;if((e|0)>(f|0)){continue}break}}J[(P(e,40)+d|0)+20>>2]=-1;J[(J[b+4>>2]+P(J[b+12>>2],40)|0)-8>>2]=-1;J[b+24>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+48>>2]=16;J[b+52>>2]=0;J[b+28>>2]=0;d=fb(128);J[b+36>>2]=16;J[b+40>>2]=0;J[b+44>>2]=d;g=b,h=fb(64),J[g+32>>2]=h;J[b+76>>2]=0;J[b+72>>2]=23652;J[b+68>>2]=23648;J[b+60>>2]=0;J[b+64>>2]=0;J[c+102948>>2]=0;J[c+102952>>2]=0;J[c+102976>>2]=0;J[c+102980>>2]=0;b=c+102956|0;J[b>>2]=0;J[b+4>>2]=0;H[c+102991|0]=1;H[c+102992|0]=1;H[c+102993|0]=0;H[c+102994|0]=1;H[c+102972|0]=1;b=J[a+4>>2];a=J[a>>2];H[c+102990|0]=1;I[c+102988>>1]=0;J[c+102964>>2]=a;J[c+102968>>2]=b;J[c+102984>>2]=0;J[c+102996>>2]=0;J[c+103e3>>2]=0;J[c+102944>>2]=c;a=c+103004|0;J[a>>2]=0;J[a+4>>2]=0;a=c+103012|0;J[a>>2]=0;J[a+4>>2]=0;a=c+103020|0;J[a>>2]=0;J[a+4>>2]=0;return c|0}function Id(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=0,s=Q(0),t=0,u=Q(0),v=0,w=0;J[a+60>>2]=0;t=J[b+24>>2];q=J[b+16>>2];f=N[c+12>>2];g=N[e+12>>2];h=N[d+12>>2];i=N[d+16>>2];k=N[e+8>>2];l=Q(Q(N[e>>2]+Q(Q(g*h)-Q(i*k)))-N[c>>2]);h=Q(Q(Q(Q(k*h)+Q(g*i))+N[e+4>>2])-N[c+4>>2]);m=N[c+8>>2];i=Q(Q(f*l)+Q(h*m));e=J[b+12>>2];c=J[b+20>>2];r=K[b+44|0];k=N[b+24>>2];j=N[b+16>>2];g=Q(k-j);n=N[b+12>>2];o=Q(i-n);l=Q(Q(f*h)-Q(m*l));p=Q(l-j);m=N[b+20>>2];f=Q(m-n);u=Q(Q(g*o)-Q(p*f));a:{if(u>2]+N[d+8>>2]);s=Q(Q(f*o)+Q(p*g));b:{if(s<=Q(0)){if(Q(Q(o*o)+Q(p*p))>Q(h*h)){break a}if(!r){g=Q(0);f=Q(0);break b}g=Q(0);f=Q(0);if(!(Q(Q(Q(n-N[b+28>>2])*Q(n-i))+Q(Q(j-l)*Q(j-N[b+32>>2])))>Q(0))){break b}break a}o=Q(Q(f*Q(m-i))+Q(g*Q(k-l)));if(o<=Q(0)){i=Q(i-m);j=Q(l-k);if(Q(Q(i*i)+Q(j*j))>Q(h*h)){break a}v=1;if(!r){g=Q(0);f=Q(0);e=c;q=t;break b}g=Q(0);f=Q(0);e=c;q=t;if(!(Q(Q(Q(N[b+36>>2]-m)*i)+Q(j*Q(N[b+40>>2]-k)))>Q(0))){break b}break a}p=i;i=Q(Q(1)/Q(Q(f*f)+Q(g*g)));n=Q(p-Q(i*Q(Q(o*n)+Q(s*m))));i=Q(l-Q(i*Q(Q(o*j)+Q(s*k))));if(Q(Q(n*n)+Q(i*i))>Q(h*h)){break a}v=65536;w=1;b=u>2]=w;J[a+60>>2]=1;J[a+48>>2]=e;N[a+40>>2]=g;J[a+16>>2]=v;J[a+52>>2]=q;N[a+44>>2]=f;b=J[d+16>>2];J[a>>2]=J[d+12>>2];J[a+4>>2]=b}}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=a+16|0;d=e;c=J[a+16>>2];a:{b:{if(!c){break b}while(1){d=c;c=J[c+16>>2];if(c>>>0>b>>>0){e=d;c=J[d>>2];if(c){continue}break b}if(b>>>0<=c>>>0){break a}c=J[d+4>>2];if(c){continue}break}e=d+4|0}c=Xa(20);J[c+8>>2]=d;J[c>>2]=0;J[c+4>>2]=0;J[c+16>>2]=b;J[e>>2]=c;b=J[J[a+12>>2]>>2];if(b){J[a+12>>2]=b;b=J[e>>2]}else{b=c}f=J[a+16>>2];d=(f|0)==(b|0);H[b+12|0]=d;c:{if(d){break c}while(1){c=J[b+8>>2];if(K[c+12|0]){break c}d:{d=J[c+8>>2];e=J[d>>2];if((e|0)==(c|0)){e=J[d+4>>2];if(!(!e|K[e+12|0])){break d}e:{if(J[c>>2]==(b|0)){b=c;break e}b=J[c+4>>2];e=J[b>>2];J[c+4>>2]=e;if(e){J[e+8>>2]=c;d=J[c+8>>2]}J[b+8>>2]=d;d=J[c+8>>2];J[((J[d>>2]!=(c|0))<<2)+d>>2]=b;J[b>>2]=c;J[c+8>>2]=b;d=J[b+8>>2];c=J[d>>2]}H[b+12|0]=1;H[d+12|0]=0;b=J[c+4>>2];J[d>>2]=b;if(b){J[b+8>>2]=d}J[c+8>>2]=J[d+8>>2];b=J[d+8>>2];J[((J[b>>2]!=(d|0))<<2)+b>>2]=c;J[c+4>>2]=d;J[d+8>>2]=c;break c}if(!(K[e+12|0]|!e)){break d}f:{if(J[c>>2]!=(b|0)){b=c;break f}e=J[b+4>>2];J[c>>2]=e;if(e){J[e+8>>2]=c;d=J[c+8>>2]}J[b+8>>2]=d;d=J[c+8>>2];J[((J[d>>2]!=(c|0))<<2)+d>>2]=b;J[b+4>>2]=c;J[c+8>>2]=b;d=J[b+8>>2]}H[b+12|0]=1;H[d+12|0]=0;b=J[d+4>>2];c=J[b>>2];J[d+4>>2]=c;if(c){J[c+8>>2]=d}J[b+8>>2]=J[d+8>>2];c=J[d+8>>2];J[((J[c>>2]!=(d|0))<<2)+c>>2]=b;J[b>>2]=d;J[d+8>>2]=b;break c}H[c+12|0]=1;H[d+12|0]=(d|0)==(f|0);H[e+12|0]=1;b=d;if((f|0)!=(d|0)){continue}break}}J[a+20>>2]=J[a+20>>2]+1}}function xh(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0);g=N[a+240>>2];e=J[b+28>>2];c=e+P(J[a+160>>2],12)|0;i=N[c>>2];j=e+P(J[a+168>>2],12)|0;n=N[j>>2];f=N[c+4>>2];o=N[j+4>>2];h=N[a+244>>2];k=N[a+248>>2];l=e+P(J[a+164>>2],12)|0;p=N[l>>2];e=e+P(J[a+172>>2],12)|0;q=N[e>>2];r=N[l+4>>2];s=N[e+4>>2];m=N[a+252>>2];t=N[a+256>>2];u=N[c+8>>2];v=N[j+8>>2];w=N[a+264>>2];x=N[a+260>>2];y=N[l+8>>2];z=N[e+8>>2];A=N[a+268>>2];d=Q(Q(Q(Q(Q(g*Q(i-n))+Q(Q(f-o)*h))+Q(Q(k*Q(p-q))+Q(Q(r-s)*m)))+Q(Q(Q(t*u)-Q(v*w))+Q(Q(x*y)-Q(z*A))))*Q(-N[a+272>>2]));N[a+156>>2]=N[a+156>>2]+d;B=N[a+236>>2];C=N[a+220>>2];D=N[a+232>>2];E=N[a+216>>2];F=N[a+228>>2];G=N[a+212>>2];H=N[a+224>>2];I=f;f=Q(N[a+208>>2]*d);N[c+4>>2]=I+Q(h*f);N[c>>2]=i+Q(g*f);c=J[b+28>>2];N[(c+P(J[a+160>>2],12)|0)+8>>2]=u+Q(t*Q(H*d));c=c+P(J[a+164>>2],12)|0;i=Q(d*G);N[c+4>>2]=r+Q(m*i);N[c>>2]=p+Q(k*i);c=J[b+28>>2];N[(c+P(J[a+164>>2],12)|0)+8>>2]=y+Q(x*Q(d*F));c=c+P(J[a+168>>2],12)|0;f=h;h=Q(d*E);N[c+4>>2]=o-Q(f*h);N[c>>2]=n-Q(g*h);c=J[b+28>>2];N[(c+P(J[a+168>>2],12)|0)+8>>2]=v-Q(w*Q(d*D));c=c+P(J[a+172>>2],12)|0;g=Q(d*C);N[c+4>>2]=s-Q(m*g);N[c>>2]=q-Q(k*g);N[(J[b+28>>2]+P(J[a+172>>2],12)|0)+8>>2]=z-Q(A*Q(d*B))}function Yg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=0,n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0);j=J[a+52>>2];o=J[j+8>>2];J[a+116>>2]=o;s=N[j+32>>2];m=J[j+32>>2];e=N[j+28>>2];f=J[j+28>>2];J[a+128>>2]=f;J[a+132>>2]=m;k=N[j+120>>2];N[a+136>>2]=k;l=N[j+128>>2];N[a+140>>2]=l;m=P(o,12);f=m+J[b+28>>2]|0;p=N[f+4>>2];q=N[f>>2];t=N[f+8>>2];f=J[b+24>>2]+m|0;u=N[f>>2];v=N[f+4>>2];i=N[f+8>>2];g=N[b>>2];d=N[j+116>>2];c=Q(N[a+84>>2]*Q(6.2831854820251465));h=Q(g*Q(d*Q(c*c)));d=Q(g*Q(h+Q(c*Q(Q(d+d)*N[a+88>>2]))));c=d!=Q(0)?Q(Q(1)/d):d;N[a+108>>2]=c;h=Q(h*c);N[a+92>>2]=h;g=N[a+72>>2];d=Za(i);n=N[a+68>>2];r=_a(i);e=Q(n-e);g=Q(g-s);i=Q(Q(r*e)-Q(d*g));N[a+120>>2]=i;d=Q(Q(d*e)+Q(r*g));N[a+124>>2]=d;g=Q(c+Q(k+Q(Q(l*i)*i)));n=Q(c+Q(k+Q(Q(l*d)*d)));e=Q(d*Q(i*Q(-l)));c=Q(Q(g*n)-Q(e*e));c=c!=Q(0)?Q(Q(1)/c):c;N[a+144>>2]=g*c;N[a+156>>2]=n*c;c=Q(e*Q(-c));N[a+148>>2]=c;N[a+152>>2]=c;N[a+164>>2]=h*Q(Q(v+d)-N[a+80>>2]);N[a+160>>2]=h*Q(Q(u+i)-N[a+76>>2]);c=Q(t*Q(.9800000190734863));a:{if(K[b+20|0]){e=N[b+8>>2];h=Q(e*N[a+96>>2]);N[a+96>>2]=h;e=Q(e*N[a+100>>2]);N[a+100>>2]=e;c=Q(Q(l*Q(Q(i*e)-Q(h*d)))+c);q=Q(q+Q(k*h));p=Q(p+Q(k*e));break a}J[a+96>>2]=0;J[a+100>>2]=0}f=J[b+28>>2]+P(o,12)|0;N[f+4>>2]=p;N[f>>2]=q;N[(J[b+28>>2]+P(J[a+116>>2],12)|0)+8>>2]=c}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=La+-64|0;La=f;a:{if(gb(b,18336,0)){J[c>>2]=0;d=1;break a}b:{if(K[a+8|0]&24){e=1}else{if(!b){break b}e=sb(b,18068);if(!e){break b}e=(K[e+8|0]&24)!=0}g=gb(a,b,e)}if(g){d=1;a=J[c>>2];if(!a){break a}J[c>>2]=J[a>>2];break a}c:{if(!b){break c}e=sb(b,18116);if(!e){break a}b=J[c>>2];if(b){J[c>>2]=J[b>>2]}g=J[e+8>>2];b=J[a+8>>2];if(g&(b^-1)&7|b&(g^-1)&96){break a}d=1;if(gb(J[a+12>>2],J[e+12>>2],0)){break a}if(gb(J[a+12>>2],18324,0)){a=J[e+12>>2];if(!a){break a}d=!sb(a,18168);break a}g=J[a+12>>2];if(!g){break c}d=0;b=sb(g,18116);if(b){if(!(H[a+8|0]&1)){break a}a=J[e+12>>2];c=0;d:{e:{while(1){d=0;if(!a){break d}a=sb(a,18116);if(!a|J[a+8>>2]&(J[b+8>>2]^-1)){break e}d=1;if(gb(J[b+12>>2],J[a+12>>2],0)){break d}if(!(H[b+8|0]&1)){break e}d=J[b+12>>2];if(!d){break e}b=sb(d,18116);if(b){a=J[a+12>>2];continue}break}b=sb(d,18228);if(!b){break e}c=Lc(b,J[a+12>>2])}d=c}break a}b=sb(g,18228);if(b){if(!(H[a+8|0]&1)){break a}d=Lc(b,J[e+12>>2]);break a}b=sb(g,18020);if(!b){break a}a=J[e+12>>2];if(!a){break a}a=sb(a,18020);if(!a){break a}Db(f+12|0,0,52);J[f+56>>2]=1;J[f+20>>2]=-1;J[f+16>>2]=b;J[f+8>>2]=a;Na[J[J[a>>2]+28>>2]](a,f+8|0,J[c>>2],1);a=J[f+32>>2];if(!(!J[c>>2]|(a|0)!=1)){J[c>>2]=J[f+24>>2]}d=(a|0)==1;break a}d=0}La=f- -64|0;return d|0}function mh(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0);h=J[b+28>>2];f=h+P(J[a+104>>2],12)|0;m=N[f>>2];h=h+P(J[a+108>>2],12)|0;n=N[h>>2];o=N[f+4>>2];p=N[h+4>>2];q=N[a+160>>2];r=N[a+156>>2];s=N[a+168>>2];t=N[a+164>>2];g=N[b>>2];c=Q(g*N[a+96>>2]);i=Q(-c);j=N[a+88>>2];d=Q(N[b+4>>2]*N[a+100>>2]);e=N[h+8>>2];k=N[f+8>>2];l=Q(j-Q(N[a+188>>2]*Q(Q(d*N[a+152>>2])+Q(e-k))));c=c>l?l:c;c=c>2]=c;l=N[a+80>>2];u=N[a+116>>2];c=Q(c-j);i=Q(k-Q(t*c));k=N[a+124>>2];j=Q(e+Q(s*c));e=Q(Q(d*N[a+144>>2])+Q(Q(u*i)+Q(Q(n-Q(k*j))-m)));v=N[a+120>>2];w=N[a+112>>2];d=Q(Q(d*N[a+148>>2])+Q(Q(Q(p+Q(v*j))-o)-Q(w*i)));c=Q(l-Q(Q(N[a+172>>2]*e)+Q(N[a+180>>2]*d)));N[a+80>>2]=c;x=N[a+84>>2];d=Q(x-Q(Q(N[a+176>>2]*e)+Q(N[a+184>>2]*d)));N[a+84>>2]=d;e=Q(Q(c*c)+Q(d*d));g=Q(g*N[a+92>>2]);if(e>Q(g*g)){e=Q(Y(e));if(!(e>2]=d;c=Q(g*c);N[a+80>>2]=c}d=Q(d-x);N[f+4>>2]=o-Q(r*d);c=Q(c-l);N[f>>2]=m-Q(r*c);f=J[b+28>>2];N[(f+P(J[a+104>>2],12)|0)+8>>2]=Q(Q(-t)*Q(Q(w*d)-Q(c*u)))+i;f=f+P(J[a+108>>2],12)|0;N[f+4>>2]=p+Q(q*d);N[f>>2]=n+Q(q*c);N[(J[b+28>>2]+P(J[a+108>>2],12)|0)+8>>2]=Q(s*Q(Q(v*d)-Q(c*k)))+j}function ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=J[a>>2];f=J[a+4>>2]-e>>2;if(f>>>0>>0){e=b-f|0;f=a;a:{d=J[a+8>>2];b=J[a+4>>2];if(e>>>0<=d-b>>2>>>0){b:{if(!e){break b}a=b;g=e&7;if(g){d=0;while(1){J[a>>2]=J[c>>2];a=a+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}b=(e<<2)+b|0;if((e-1&1073741823)>>>0<7){break b}while(1){J[a>>2]=J[c>>2];J[a+4>>2]=J[c>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=J[c>>2];J[a+16>>2]=J[c>>2];J[a+20>>2]=J[c>>2];J[a+24>>2]=J[c>>2];J[a+28>>2]=J[c>>2];a=a+32|0;if((b|0)!=(a|0)){continue}break}}J[f+4>>2]=b;break a}c:{g=J[f>>2];h=b-g>>2;a=h+e|0;if(a>>>0<1073741824){d=d-g|0;i=d>>1;i=d>>>0>=2147483644?1073741823:a>>>0>>0?i:a;if(i){if(i>>>0>=1073741824){break c}j=Xa(i<<2)}d=(h<<2)+j|0;a=d;h=e&7;if(h){while(1){J[a>>2]=J[c>>2];a=a+4|0;k=k+1|0;if((h|0)!=(k|0)){continue}break}}h=(e<<2)+d|0;if((e-1&1073741823)>>>0>=7){while(1){J[a>>2]=J[c>>2];J[a+4>>2]=J[c>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=J[c>>2];J[a+16>>2]=J[c>>2];J[a+20>>2]=J[c>>2];J[a+24>>2]=J[c>>2];J[a+28>>2]=J[c>>2];a=a+32|0;if((h|0)!=(a|0)){continue}break}}if((b|0)!=(g|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[f+8>>2]=(i<<2)+j;J[f+4>>2]=h;J[f>>2]=d;if(g){ab(g)}break a}ma();B()}Tb();B()}return}if(b>>>0>>0){J[a+4>>2]=e+(b<<2)}}function Jh(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0);if(N[a+68>>2]>Q(0)){a=1}else{d=N[a+144>>2];i=N[a+84>>2];j=J[b+24>>2];f=j+P(J[a+108>>2],12)|0;q=N[f+8>>2];c=_a(q);k=N[a+140>>2];n=N[a+80>>2];e=Za(q);g=N[a+152>>2];o=N[a+92>>2];j=j+P(J[a+112>>2],12)|0;r=N[j+8>>2];h=_a(r);l=N[a+148>>2];p=N[a+88>>2];m=Za(r);s=N[j>>2];l=Q(p-l);g=Q(o-g);o=Q(Q(h*l)-Q(m*g));p=N[f>>2];k=Q(n-k);i=Q(i-d);n=Q(Q(c*k)-Q(e*i));d=Q(Q(Q(s+o)-p)-n);t=N[j+4>>2];m=Q(Q(m*l)+Q(h*g));g=N[f+4>>2];i=Q(Q(e*k)+Q(c*i));c=Q(Q(Q(t+m)-g)-i);e=Q(Y(Q(Q(d*d)+Q(c*c))));a:{if(e>2];h=N[a+160>>2];l=N[a+164>>2];v=g;g=N[a+156>>2];w=c;c=Q(e-N[a+104>>2]);c=c>2]));e=Q(w*u);N[f+4>>2]=v-Q(g*e);d=Q(d*u);N[f>>2]=p-Q(g*d);f=J[b+24>>2];N[(f+P(J[a+108>>2],12)|0)+8>>2]=q-Q(l*Q(Q(n*e)-Q(d*i)));f=f+P(J[a+112>>2],12)|0;N[f+4>>2]=t+Q(h*e);N[f>>2]=s+Q(h*d);N[(J[b+24>>2]+P(J[a+112>>2],12)|0)+8>>2]=Q(k*Q(Q(o*e)-Q(d*m)))+r;a=(c>Q(0)?c:Q(-c))>2];e=h+P(J[a+104>>2],12)|0;m=N[e>>2];h=h+P(J[a+108>>2],12)|0;n=N[h>>2];o=N[e+4>>2];p=N[h+4>>2];q=N[a+148>>2];r=N[a+144>>2];s=N[a+156>>2];t=N[a+152>>2];g=N[b>>2];c=Q(g*N[a+100>>2]);d=Q(-c);i=N[a+92>>2];j=N[h+8>>2];k=N[e+8>>2];l=Q(i-Q(Q(j-k)*N[a+176>>2]));c=c>l?l:c;c=c>2]=c;l=N[a+84>>2];u=N[a+116>>2];c=Q(c-i);i=Q(k-Q(t*c));k=N[a+124>>2];j=Q(j+Q(s*c));d=Q(Q(u*i)+Q(Q(n-Q(k*j))-m));v=N[a+120>>2];w=N[a+112>>2];f=Q(Q(Q(p+Q(v*j))-o)-Q(w*i));c=Q(l-Q(Q(N[a+160>>2]*d)+Q(N[a+168>>2]*f)));N[a+84>>2]=c;x=N[a+88>>2];d=Q(x-Q(Q(N[a+164>>2]*d)+Q(N[a+172>>2]*f)));N[a+88>>2]=d;f=Q(Q(c*c)+Q(d*d));g=Q(g*N[a+96>>2]);if(f>Q(g*g)){f=Q(Y(f));if(!(f>2]=d;c=Q(g*c);N[a+84>>2]=c}d=Q(d-x);N[e+4>>2]=o-Q(r*d);c=Q(c-l);N[e>>2]=m-Q(r*c);e=J[b+28>>2];N[(e+P(J[a+104>>2],12)|0)+8>>2]=Q(Q(-t)*Q(Q(w*d)-Q(c*u)))+i;e=e+P(J[a+108>>2],12)|0;N[e+4>>2]=p+Q(q*d);N[e>>2]=n+Q(q*c);N[(J[b+28>>2]+P(J[a+108>>2],12)|0)+8>>2]=Q(s*Q(Q(v*d)-Q(c*k)))+j}function bg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0);d=N[a+132>>2];i=N[a+72>>2];j=J[b+24>>2];e=j+P(J[a+96>>2],12)|0;q=N[e+8>>2];c=_a(q);k=N[a+128>>2];n=N[a+68>>2];f=Za(q);g=N[a+140>>2];o=N[a+80>>2];j=j+P(J[a+100>>2],12)|0;r=N[j+8>>2];h=_a(r);l=N[a+136>>2];p=N[a+76>>2];m=Za(r);s=N[j>>2];l=Q(p-l);g=Q(o-g);o=Q(Q(h*l)-Q(m*g));p=N[e>>2];k=Q(n-k);i=Q(i-d);n=Q(Q(c*k)-Q(f*i));d=Q(Q(Q(s+o)-p)-n);t=N[j+4>>2];m=Q(Q(m*l)+Q(h*g));g=N[e+4>>2];i=Q(Q(f*k)+Q(c*i));c=Q(Q(Q(t+m)-g)-i);f=Q(Y(Q(Q(d*d)+Q(c*c))));a:{if(f>2]=f;k=N[a+156>>2];h=N[a+148>>2];l=N[a+152>>2];u=g;g=N[a+144>>2];v=c;c=Q(f-N[a+84>>2]);c=c>2]));c=Q(v*f);N[e+4>>2]=u-Q(g*c);d=Q(d*f);N[e>>2]=p-Q(g*d);e=J[b+24>>2];N[(e+P(J[a+96>>2],12)|0)+8>>2]=q-Q(l*Q(Q(n*c)-Q(d*i)));e=e+P(J[a+100>>2],12)|0;N[e+4>>2]=t+Q(h*c);N[e>>2]=s+Q(h*d);N[(J[b+24>>2]+P(J[a+100>>2],12)|0)+8>>2]=Q(k*Q(Q(o*c)-Q(d*m)))+r;return Q(N[a+88>>2]-N[a+84>>2])>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(gb(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;if(J[b+44>>2]!=4){f=a+16|0;h=f+(J[a+12>>2]<<3)|0;d=0;b:{c:{while(1){d:{if(f>>>0>=h>>>0){break d}I[b+52>>1]=0;nc(f,b,c,c,1,e);if(K[b+54|0]){break d}e:{if(!K[b+53|0]){break e}if(K[b+52|0]){d=1;if(J[b+24>>2]==1){break c}g=1;if(K[a+8|0]&2){break e}break c}g=1;if(!(H[a+8|0]&1)){break c}}f=f+8|0;continue}break}a=4;if(!g){break b}}a=3}J[b+44>>2]=a;if(d&1){break a}}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}g=J[a+12>>2];h=a+16|0;bc(h,b,c,d,e);f=a+24|0;g=h+(g<<3)|0;if(f>>>0>=g>>>0){break a}a=J[a+8>>2];if(!(!(a&2)&J[b+36>>2]!=1)){while(1){if(K[b+54|0]){break a}bc(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}break a}if(!(a&1)){while(1){if(K[b+54|0]|J[b+36>>2]==1){break a}bc(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break a}}while(1){if(K[b+54|0]|J[b+36>>2]==1&J[b+24>>2]==1){break a}bc(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}}}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=Q(0);e=J[a+88>>2];if(!K[e+102989|0]){c=eb(e,44);J[c+40>>2]=0;J[c+32>>2]=-65535;J[c+24>>2]=0;J[c+28>>2]=0;J[c>>2]=0;J[c+4>>2]=0;I[c+36>>1]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+40>>2]=J[b+4>>2];N[c+16>>2]=N[b+8>>2];j=N[b+12>>2];J[c+8>>2]=a;N[c+20>>2]=j;J[c+4>>2]=0;d=L[b+22>>1]|L[b+24>>1]<<16;I[c+32>>1]=d;I[c+34>>1]=d>>>16;I[c+36>>1]=L[b+26>>1];H[c+38|0]=K[b+20|0];d=J[b>>2];d=Na[J[J[d>>2]+8>>2]](d,e)|0;J[c+12>>2]=d;g=Na[J[J[d>>2]+12>>2]](d)|0;d=eb(e,P(g,28));J[c+24>>2]=d;a:{if((g|0)<=0){break a}e=0;if(g>>>0>=4){i=g&-4;while(1){f=d+P(e,28)|0;J[f+24>>2]=-1;J[f+16>>2]=0;f=d+P(e|1,28)|0;J[f+24>>2]=-1;J[f+16>>2]=0;f=d+P(e|2,28)|0;J[f+24>>2]=-1;J[f+16>>2]=0;f=d+P(e|3,28)|0;J[f+24>>2]=-1;J[f+16>>2]=0;e=e+4|0;h=h+4|0;if((i|0)!=(h|0)){continue}break}}g=g&3;if(!g){break a}h=0;while(1){i=d+P(e,28)|0;J[i+24>>2]=-1;J[i+16>>2]=0;e=e+1|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}J[c+28>>2]=0;N[c>>2]=N[b+16>>2];if(K[a+4|0]&32){Ed(c,J[a+88>>2]+102868|0,a+12|0)}J[c+4>>2]=J[a+100>>2];J[a+100>>2]=c;J[a+104>>2]=J[a+104>>2]+1;J[c+8>>2]=a;if(N[c>>2]>Q(0)){Sb(a)}H[J[a+88>>2]+102988|0]=1}return c|0}function ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=La-80|0;La=c;d=J[a+52>>2];e=J[a+48>>2];f=J[e+16>>2];J[c+72>>2]=J[e+12>>2];J[c+76>>2]=f;e=J[d+16>>2];J[c+64>>2]=J[d+12>>2];J[c+68>>2]=e;Na[J[J[a>>2]>>2]](c+56|0,a);Na[J[J[a>>2]+4>>2]](c+48|0,a);J[c+40>>2]=1061997773;J[c+44>>2]=1065353216;J[c+32>>2]=1056964608;J[c+36>>2]=1061997773;a:{b:{switch(J[a+4>>2]-3|0){case 0:Na[J[J[b>>2]+24>>2]](b,c+56|0,c+48|0,c+32|0);break a;case 1:f=J[a+72>>2];e=c+8|0;d=e;J[d>>2]=J[a+68>>2];J[d+4>>2]=f;f=J[a+80>>2];d=c+24|0;J[d>>2]=J[a+76>>2];J[d+4>>2]=f;a=c+32|0;Na[J[J[b>>2]+24>>2]](b,e,c+56|0,a);Na[J[J[b>>2]+24>>2]](b,d,c+48|0,a);Na[J[J[b>>2]+24>>2]](b,e,d,a);break a;case 2:J[c+16>>2]=0;J[c+20>>2]=1065353216;J[c+8>>2]=0;J[c+12>>2]=1065353216;d=c+56|0;a=c+8|0;Na[J[J[b>>2]+32>>2]](b,d,Q(4),a);e=c+48|0;Na[J[J[b>>2]+32>>2]](b,e,Q(4),a);J[c+16>>2]=1061997773;J[c+20>>2]=1065353216;J[c+8>>2]=1061997773;J[c+12>>2]=1061997773;Na[J[J[b>>2]+24>>2]](b,d,e,a);break a;default:break b}}d=c+56|0;a=c+32|0;Na[J[J[b>>2]+24>>2]](b,c+72|0,d,a);e=d;d=c+48|0;Na[J[J[b>>2]+24>>2]](b,e,d,a);Na[J[J[b>>2]+24>>2]](b,c- -64|0,d,a)}La=c+80|0}function rb(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){Ha(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function Ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=La-16|0;La=g;J[g+12>>2]=b;h=a+102868|0;J[g+8>>2]=h;d=La-1040|0;La=d;J[d+1036>>2]=256;b=d+8|0;J[d+4>>2]=b;J[d+8>>2]=J[h>>2];a=b;e=1;while(1){a:{e=e-1|0;J[d+1032>>2]=e;f=J[(e<<2)+a>>2];b:{if((f|0)==-1){break b}i=P(f,40);f=i+J[h+4>>2]|0;if(Q(N[c>>2]-N[f+8>>2])>Q(0)|Q(N[c+4>>2]-N[f+12>>2])>Q(0)|(Q(N[f>>2]-N[c+8>>2])>Q(0)|Q(N[f+4>>2]-N[c+12>>2])>Q(0))){break b}if(J[f+24>>2]==-1){a=J[g+12>>2];e=Na[J[J[a>>2]+8>>2]](a,J[J[(J[J[g+8>>2]+4>>2]+i|0)+16>>2]+16>>2])|0;a=J[d+4>>2];if(!e){break a}e=J[d+1032>>2];if((e|0)>0){continue}break a}c:{if(J[d+1036>>2]!=(e|0)){break c}J[d+1036>>2]=e<<1;e=fb(e<<3);J[d+4>>2]=e;rb(e,a,J[d+1032>>2]<<2);if((a|0)==(b|0)){break c}ab(a)}a=J[d+4>>2];J[a+(J[d+1032>>2]<<2)>>2]=J[f+24>>2];e=J[d+1032>>2]+1|0;J[d+1032>>2]=e;d:{if((e|0)!=J[d+1036>>2]){break d}J[d+1036>>2]=e<<1;e=fb(e<<3);J[d+4>>2]=e;rb(e,a,J[d+1032>>2]<<2);if((a|0)==(b|0)){break d}ab(a)}a=J[d+4>>2];J[a+(J[d+1032>>2]<<2)>>2]=J[f+28>>2];e=J[d+1032>>2]+1|0;J[d+1032>>2]=e}if((e|0)>0){continue}}break}if((a|0)!=(b|0)){ab(a)}La=d+1040|0;La=g+16|0} +function Sb(a){a=a|0;var b=Q(0),c=Q(0),d=Q(0),e=Q(0),f=0,g=0,h=Q(0),i=0,j=Q(0),k=Q(0);g=La-16|0;La=g;J[a+116>>2]=0;J[a+120>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;a:{if(M[a>>2]<=1){f=J[a+16>>2];i=J[a+12>>2];J[a+44>>2]=i;J[a+48>>2]=f;J[a+36>>2]=i;J[a+40>>2]=f;N[a+52>>2]=N[a+56>>2];break a}c=N[3050];d=N[3049];b:{c:{f=J[a+100>>2];if(!f){break c}while(1){b=N[f>>2];if(b!=Q(0)){i=J[f+12>>2];Na[J[J[i>>2]+28>>2]](i,g,b);b=N[g>>2];e=Q(b+N[a+116>>2]);N[a+116>>2]=e;j=N[g+4>>2];k=N[g+8>>2];h=Q(N[g+12>>2]+N[a+124>>2]);N[a+124>>2]=h;d=Q(d+Q(b*j));c=Q(c+Q(b*k))}f=J[f+4>>2];if(f){continue}break}if(e>Q(0)){b=Q(Q(1)/e);N[a+120>>2]=b;d=Q(d*b);c=Q(c*b)}if(!(h>Q(0))|K[a+4|0]&16){break c}e=Q(h-Q(e*Q(Q(d*d)+Q(c*c))));N[a+124>>2]=e;b=Q(Q(1)/e);break b}J[a+124>>2]=0;b=Q(0)}N[a+128>>2]=b;N[a+32>>2]=c;N[a+28>>2]=d;b=N[a+44>>2];h=N[a+24>>2];j=N[a+20>>2];e=Q(N[a+12>>2]+Q(Q(h*d)-Q(c*j)));N[a+44>>2]=e;k=N[a+48>>2];c=Q(Q(Q(j*d)+Q(h*c))+N[a+16>>2]);N[a+48>>2]=c;N[a+40>>2]=c;N[a+36>>2]=e;d=N[a+72>>2];N[a+64>>2]=N[a+64>>2]-Q(d*Q(c-k));N[a+68>>2]=Q(d*Q(e-b))+N[a+68>>2]}La=g+16|0}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=Q(0),f=0,g=0,h=Q(0);if(!K[a+102989|0]){c=eb(a,152);d=K[b+39|0];I[c+4>>1]=((d|0)!=0)<<3;d=d<<3;if(K[b+38|0]){d=d|16;I[c+4>>1]=d}if(K[b+36|0]){d=d|4;I[c+4>>1]=d}if(!(!K[b+37|0]|!J[b>>2])){d=d|2;I[c+4>>1]=d}if(K[b+40|0]){I[c+4>>1]=d|32}J[c+88>>2]=a;f=J[b+8>>2];d=J[b+4>>2];J[c+12>>2]=d;J[c+16>>2]=f;e=N[b+12>>2];J[c+44>>2]=d;J[c+48>>2]=f;J[c+36>>2]=d;J[c+40>>2]=f;J[c+28>>2]=0;J[c+32>>2]=0;g=c,h=_a(e),N[g+24>>2]=h;g=c,h=Za(e),N[g+20>>2]=h;e=N[b+12>>2];J[c+108>>2]=0;J[c+112>>2]=0;J[c+60>>2]=0;N[c+56>>2]=e;N[c+52>>2]=e;J[c+92>>2]=0;J[c+96>>2]=0;d=J[b+20>>2];J[c+64>>2]=J[b+16>>2];J[c+68>>2]=d;N[c+72>>2]=N[b+24>>2];N[c+132>>2]=N[b+28>>2];N[c+136>>2]=N[b+32>>2];e=N[b+48>>2];J[c+144>>2]=0;J[c+84>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;N[c+140>>2]=e;d=J[b>>2];J[c+124>>2]=0;J[c+128>>2]=0;J[c>>2]=d;e=(d|0)==2?Q(1):Q(0);N[c+120>>2]=e;N[c+116>>2]=e;b=J[b+44>>2];J[c+100>>2]=0;J[c+104>>2]=0;J[c+148>>2]=b;d=c;J[c+92>>2]=0;b=J[a+102948>>2];J[c+96>>2]=b;if(b){J[b+92>>2]=d}J[a+102948>>2]=d;J[a+102956>>2]=J[a+102956>>2]+1}return d|0}function Nd(a,b){var c=0,d=0,e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0;if(J[a>>2]==(b|0)){J[a>>2]=-1;return}f=J[a+4>>2];d=J[(f+P(b,40)|0)+20>>2];e=P(d,40)+f|0;c=J[e+20>>2];k=b;b=J[e+24>>2];if((k|0)==(b|0)){b=J[e+28>>2]}a:{if((c|0)!=-1){e=f+P(c,40)|0;J[((d|0)==J[e+24>>2]?e+24|0:e+28|0)>>2]=b;J[(f+P(b,40)|0)+20>>2]=c;b=P(d,40);J[(b+J[a+4>>2]|0)+20>>2]=J[a+16>>2];J[(b+J[a+4>>2]|0)+32>>2]=-1;J[a+16>>2]=d;J[a+8>>2]=J[a+8>>2]-1;while(1){b=Od(a,c);c=J[a+4>>2];e=P(b,40);b=c+e|0;f=P(J[b+28>>2],40);d=c+f|0;g=N[d>>2];k=P(J[b+24>>2],40);c=k+c|0;h=N[c>>2];i=N[c+4>>2];j=N[d+4>>2];N[b+4>>2]=i>2]=g>h?h:g;g=N[c+8>>2];h=N[d+8>>2];i=N[c+12>>2];j=N[d+12>>2];N[b+12>>2]=i>j?i:j;N[b+8>>2]=g>h?g:h;b=J[a+4>>2];d=b+e|0;c=J[(b+k|0)+32>>2];b=J[(b+f|0)+32>>2];J[d+32>>2]=((b|0)<(c|0)?c:b)+1;c=J[d+20>>2];if((c|0)!=-1){continue}break}break a}J[a>>2]=b;J[(f+P(b,40)|0)+20>>2]=-1;b=P(d,40);J[(b+J[a+4>>2]|0)+20>>2]=J[a+16>>2];J[(b+J[a+4>>2]|0)+32>>2]=-1;J[a+16>>2]=d;J[a+8>>2]=J[a+8>>2]-1}}function yg(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0);k=Q(-N[a+112>>2]);l=N[a+136>>2];m=J[b+28>>2];c=m+P(J[a+124>>2],12)|0;n=N[c>>2];j=N[c+8>>2];o=N[a+156>>2];p=N[c+4>>2];q=N[a+152>>2];r=N[a+140>>2];f=N[a+128>>2];c=P(J[a+120>>2],12)+m|0;s=N[c>>2];d=N[c+8>>2];t=N[a+148>>2];g=N[c+4>>2];u=N[a+144>>2];h=N[a+132>>2];e=Q(Q(Q(k*Q(Q(l*Q(n-Q(j*o)))+Q(Q(p+Q(j*q))*r)))-Q(Q(f*Q(s-Q(d*t)))+Q(Q(g+Q(d*u))*h)))*Q(-N[a+192>>2]));N[a+116>>2]=N[a+116>>2]+e;w=N[a+188>>2];v=N[a+180>>2];x=N[a+184>>2];y=g;g=N[a+176>>2];i=h;h=Q(-e);i=Q(i*h);N[c+4>>2]=y+Q(g*i);f=Q(f*h);N[c>>2]=s+Q(g*f);c=J[b+28>>2];N[(c+P(J[a+120>>2],12)|0)+8>>2]=d+Q(x*Q(Q(u*i)-Q(f*t)));c=c+P(J[a+124>>2],12)|0;d=Q(e*k);e=Q(r*d);N[c+4>>2]=p+Q(v*e);d=Q(l*d);N[c>>2]=n+Q(v*d);N[(J[b+28>>2]+P(J[a+124>>2],12)|0)+8>>2]=j+Q(w*Q(Q(q*e)-Q(d*o)))}function pi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);j=N[d+12>>2];g=N[d+4>>2];f=Q(N[c+4>>2]-g);k=N[d+8>>2];i=N[d>>2];h=Q(N[c>>2]-i);o=Q(Q(j*f)-Q(k*h));p=Q(Q(j*h)+Q(f*k));q=N[a+12>>2];m=Q(N[a+20>>2]-q);l=Q(-m);n=N[c+12>>2];u=N[c+8>>2];d=0;e=K[a+44|0];r=N[a+16>>2];h=Q(N[a+24>>2]-r);s=Q(Q(h*h)+Q(m*m));f=Q(Y(s));a:{if(fQ(0)?e:0){break b}i=Q(u-i);g=Q(n-g);n=Q(Q(Q(j*i)+Q(k*g))-p);i=Q(Q(Q(j*g)-Q(k*i))-o);g=Q(Q(f*n)+Q(i*l));if(g==Q(0)){break b}g=Q(t/g);if(gN[c+16>>2]|s==Q(0)){break b}h=Q(Q(Q(Q(Q(p+Q(n*g))-q)*m)+Q(h*Q(Q(o+Q(i*g))-r)))/s);if(hQ(1)){break b}N[b+8>>2]=g;h=Q(Q(k*f)+Q(j*l));a=t>Q(0);N[b+4>>2]=a?Q(-h):h;f=Q(Q(j*f)+Q(l*Q(-k)));N[b>>2]=a?Q(-f):f;d=1}return d|0}function cg(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0);e=N[a+92>>2];c=Q(N[a+88>>2]-N[a+84>>2]);k=N[a+104>>2];d=J[b+28>>2];h=d+P(J[a+100>>2],12)|0;l=N[h>>2];i=N[h+8>>2];m=N[a+124>>2];d=d+P(J[a+96>>2],12)|0;n=N[d>>2];j=N[d+8>>2];o=N[a+116>>2];p=N[h+4>>2];q=N[a+120>>2];f=N[d+4>>2];r=N[a+112>>2];s=N[a+108>>2];g=Q(Q(k*Q(Q(l-Q(i*m))-Q(n-Q(j*o))))+Q(Q(Q(p+Q(i*q))-Q(f+Q(j*r)))*s));c=Q(e-Q(N[a+160>>2]*(c>2]*c)+g):g)));c=c>Q(0)?Q(0):c;N[a+92>>2]=c;t=N[a+156>>2];g=N[a+148>>2];u=N[a+152>>2];v=f;f=N[a+144>>2];c=Q(c-e);e=Q(s*c);N[d+4>>2]=v-Q(f*e);c=Q(k*c);N[d>>2]=n-Q(f*c);d=J[b+28>>2];N[(d+P(J[a+96>>2],12)|0)+8>>2]=j-Q(u*Q(Q(r*e)-Q(c*o)));d=d+P(J[a+100>>2],12)|0;N[d+4>>2]=p+Q(g*e);N[d>>2]=l+Q(g*c);N[(J[b+28>>2]+P(J[a+100>>2],12)|0)+8>>2]=i+Q(t*Q(Q(q*e)-Q(c*m)))}function gi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0);l=J[a+148>>2];if((l|0)<=0){return 0}g=N[d+4>>2];f=Q(N[c+12>>2]-g);h=N[d>>2];i=Q(N[c+8>>2]-h);j=N[d+12>>2];k=Q(N[c+4>>2]-g);g=N[d+8>>2];h=Q(N[c>>2]-h);m=Q(Q(j*k)-Q(g*h));p=Q(Q(Q(j*f)-Q(g*i))-m);n=Q(Q(j*h)+Q(k*g));q=Q(Q(Q(j*i)+Q(g*f))-n);r=Q(-g);k=N[c+16>>2];e=-1;d=0;h=Q(0);a:{while(1){c=(d<<3)+a|0;f=N[c+84>>2];o=N[c+88>>2];i=Q(Q(f*Q(N[c+20>>2]-n))+Q(Q(N[c+24>>2]-m)*o));f=Q(Q(f*q)+Q(p*o));b:{if(f==Q(0)){if(!(iQ(0))|!(ik)){d=d+1|0;if((l|0)==(d|0)){break a}continue}break}return 0}if((e|0)>=0){N[b+8>>2]=h;a=(e<<3)+a|0;f=N[a+84>>2];h=Q(g*f);g=N[a+88>>2];N[b+4>>2]=h+Q(j*g);N[b>>2]=Q(j*f)+Q(g*r);a=1}else{a=0}return a|0}function ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=0;g=N[c+12>>2];f=N[c+4>>2];d=N[c>>2];e=Q(N[c+8>>2]-d);a:{b:{if((e>Q(0)?e:Q(-e))>2]|d>N[a+8>>2]){break a}e=Q(34028234663852886e22);d=Q(-34028234663852886e22);break b}e=Q(Q(1)/e);h=Q(e*Q(N[a+8>>2]-d));d=Q(e*Q(N[a>>2]-d));i=hQ(34028234663852886e22)?Q(34028234663852886e22):e;d=i?h:d;d=d>Q(-34028234663852886e22)?d:Q(-34028234663852886e22);if(eQ(0)?g:Q(-g))>2]-f));f=Q(j*Q(N[a+4>>2]-f));a=gd;d=i?j:d;f=a?f:g;if(d>(e>2]){break a}e=Q(0);if(f>N[a+12>>2]){break a}}if(d>2]>2]=e;N[b>>2]=h;N[b+8>>2]=d;k=1}return k|0}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;a:{if(K[a+102989|0]){break a}g=K[b+61|0];c=J[b+8>>2];if(c){J[c+12>>2]=J[b+12>>2]}d=J[b+12>>2];if(d){J[d+8>>2]=c}if(J[a+102952>>2]==(b|0)){J[a+102952>>2]=d}c=J[b+52>>2];d=J[b+48>>2];if(J[d>>2]){J[d+144>>2]=0;I[d+4>>1]=L[d+4>>1]|2}if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}e=J[b+24>>2];if(e){J[e+12>>2]=J[b+28>>2]}f=J[b+28>>2];if(f){J[f+8>>2]=e}if(J[d+108>>2]==(b+16|0)){J[d+108>>2]=f}J[b+24>>2]=0;J[b+28>>2]=0;e=J[b+40>>2];if(e){J[e+12>>2]=J[b+44>>2]}f=J[b+44>>2];if(f){J[f+8>>2]=e}if(J[c+108>>2]==(b+32|0)){J[c+108>>2]=f}J[b+40>>2]=0;J[b+44>>2]=0;Na[J[J[b>>2]+28>>2]](b)|0;e=J[b+4>>2]-1|0;if(e>>>0<=10){Ib(a,b,J[(e<<2)+12904>>2])}J[a+102960>>2]=J[a+102960>>2]-1;if(g){break a}b=J[c+112>>2];if(!b){break a}while(1){if((d|0)==J[b>>2]){a=J[b+4>>2];J[a+4>>2]=J[a+4>>2]|8}b=J[b+12>>2];if(b){continue}break}}}function eb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){return 0}if((b|0)>=641){return fb(b)}d=K[b+23924|0];g=(d<<2)+a|0;b=J[g+12>>2];if(b){J[g+12>>2]=J[b>>2];return b}b=J[a+4>>2];if((b|0)==J[a+8>>2]){c=b+128|0;J[a+8>>2]=c;b=J[a>>2];c=fb(c<<3);J[a>>2]=c;rb(c,b,J[a+4>>2]<<3);Db(J[a>>2]+(J[a+4>>2]<<3)|0,0,1024);ab(b);b=J[a+4>>2]}h=J[a>>2]+(b<<3)|0;c=fb(16384);J[h+4>>2]=c;d=J[(d<<2)+12096>>2];J[h>>2]=d;e=16384/(d|0)|0;i=e-1|0;a:{if((e|0)<2){break a}b=0;if(e-2>>>0>=3){l=i&-4;e=0;while(1){f=c+P(d,b|1)|0;J[c+P(b,d)>>2]=f;j=f;f=c+P(d,b|2)|0;J[j>>2]=f;j=f;f=c+P(d,b|3)|0;J[j>>2]=f;b=b+4|0;J[f>>2]=c+P(d,b);e=e+4|0;if((l|0)!=(e|0)){continue}break}}e=i&3;if(!e){break a}while(1){f=c+P(b,d)|0;b=b+1|0;J[f>>2]=c+P(d,b);k=k+1|0;if((e|0)!=(k|0)){continue}break}}J[c+P(d,i)>>2]=0;J[g+12>>2]=J[c>>2];J[a+4>>2]=J[a+4>>2]+1;return J[h+4>>2]}function ll(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{if(b){if(!c){break j}break i}Ma=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}break g}if(!(c-1&c)){break f}f=(S(c)+33|0)-S(b)|0;g=0-f|0;break d}Ma=0;a=(b>>>0)/0|0;break a}d=32-S(b)|0;if(d>>>0<31){break e}break c}if((c|0)==1){break b}f=jl(c);c=f&31;if((f&63)>>>0>=32){a=b>>>c|0}else{d=b>>>c|0;a=((1<>>c}Ma=d;break a}f=d+1|0;g=63-d|0}d=f&63;e=d&31;if(d>>>0>=32){d=0;h=b>>>e|0}else{d=b>>>e|0;h=((1<>>e}g=g&63;e=g&31;if(g>>>0>=32){b=a<>>32-e|b<>>31;d=h<<1|b>>>31;e=l-(i+(d>>>0>g>>>0)|0)>>31;j=c&e;h=d-j|0;d=i-(d>>>0>>0)|0;b=b<<1|a>>>31;a=k|a<<1;k=e&1;f=f-1|0;if(f){continue}break}}Ma=b<<1|a>>>31;a=k|a<<1;break a}a=0;b=0}Ma=b}return a}function Kh(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);f=N[a+100>>2];l=N[a+116>>2];c=J[b+28>>2];g=c+P(J[a+112>>2],12)|0;m=N[g>>2];h=N[g+8>>2];n=N[a+136>>2];c=c+P(J[a+108>>2],12)|0;o=N[c>>2];i=N[c+8>>2];p=N[a+128>>2];e=N[a+120>>2];q=N[g+4>>2];r=N[a+132>>2];d=N[c+4>>2];s=N[a+124>>2];j=Q(Q(Q(f*N[a+96>>2])+Q(N[a+76>>2]+Q(Q(l*Q(Q(m-Q(h*n))-Q(o-Q(i*p))))+Q(e*Q(Q(q+Q(h*r))-Q(d+Q(i*s)))))))*Q(-N[a+172>>2]));N[a+100>>2]=f+j;u=N[a+168>>2];t=N[a+160>>2];f=N[a+164>>2];k=d;d=N[a+156>>2];e=Q(e*j);N[c+4>>2]=k-Q(d*e);k=d;d=Q(l*j);N[c>>2]=o-Q(k*d);c=J[b+28>>2];N[(c+P(J[a+108>>2],12)|0)+8>>2]=i-Q(f*Q(Q(s*e)-Q(d*p)));c=c+P(J[a+112>>2],12)|0;N[c+4>>2]=q+Q(e*t);N[c>>2]=m+Q(d*t);N[(J[b+28>>2]+P(J[a+112>>2],12)|0)+8>>2]=h+Q(u*Q(Q(r*e)-Q(d*n)))}function Kd(a){a=a|0;var b=0,c=Q(0),d=0;b=La-224|0;La=b;d=J[a+8>>2];Ya(6540,0);Ya(7693,0);J[b+208>>2]=J[a>>2];Ya(8915,b+208|0);c=N[a+12>>2];O[b+200>>3]=N[a+16>>2];O[b+192>>3]=c;Ya(8058,b+192|0);O[b+176>>3]=N[a+56>>2];Ya(7058,b+176|0);c=N[a+64>>2];O[b+168>>3]=N[a+68>>2];O[b+160>>3]=c;Ya(7870,b+160|0);O[b+144>>3]=N[a+72>>2];Ya(6605,b+144|0);O[b+128>>3]=N[a+132>>2];Ya(6977,b+128|0);O[b+112>>3]=N[a+136>>2];Ya(6948,b+112|0);J[b+96>>2]=L[a+4>>1]&4;Ya(8735,b+96|0);J[b+80>>2]=L[a+4>>1]&2;Ya(8796,b+80|0);J[b+64>>2]=L[a+4>>1]&16;Ya(8764,b- -64|0);J[b+48>>2]=L[a+4>>1]&8;Ya(8651,b+48|0);J[b+32>>2]=L[a+4>>1]&32;Ya(8855,b+32|0);O[b+16>>3]=N[a+140>>2];Ya(7157,b+16|0);J[b>>2]=J[a+8>>2];Ya(8579,b);Ya(9326,0);a=J[a+100>>2];if(a){while(1){Ya(6538,0);Dd(a,d);Ya(6533,0);a=J[a+4>>2];if(a){continue}break}}Ya(6535,0);La=b+224|0}function _c(){Ka(18324,4903);Ja(18348,3231,1,1,0);ha(18360,2707,1,-128,127);ha(18384,2700,1,-128,127);ha(18372,2698,1,0,255);ha(18396,1434,2,-32768,32767);ha(18408,1425,2,0,65535);ha(18420,1802,4,-2147483648,2147483647);ha(18432,1793,4,0,-1);ha(18444,3448,4,-2147483648,2147483647);ha(18456,3439,4,0,-1);Kc(18468,2072,-2147483648,2147483647);Kc(18480,2071,0,-1);ua(18492,2065,4);ua(18504,4617,8);ta(19560,3466);ta(13852,6284);pa(13924,4,3453);pa(14e3,2,3478);pa(14076,4,3493);Ia(19140,3251);ea(14116,0,6215);ea(14156,0,6317);ea(14196,1,6245);ea(14236,2,5780);ea(14276,3,5811);ea(14316,4,5851);ea(14356,5,5880);ea(14396,4,6354);ea(14436,5,6384);ea(14156,0,5982);ea(14196,1,5949);ea(14236,2,6048);ea(14276,3,6014);ea(14316,4,6182);ea(14356,5,6148);ea(14476,8,6115);ea(14516,9,6081);ea(14556,6,5918);ea(14596,7,6423)}function _h(a,b){a=a|0;b=b|0;var c=0,d=0;a:{if(K[J[a+88>>2]+102989|0]|J[a>>2]==(b|0)){break a}J[a>>2]=b;Sb(a);b:{if(!J[a>>2]){J[a+72>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;N[a+52>>2]=N[a+56>>2];b=J[a+48>>2];J[a+36>>2]=J[a+44>>2];J[a+40>>2]=b;I[a+4>>1]=L[a+4>>1]&65533;b=J[a+100>>2];if(!b){break b}d=J[a+88>>2]+102868|0;c=a+12|0;while(1){ec(b,d,c,c);b=J[b+4>>2];if(b){continue}break}if(!J[a>>2]){break b}}J[a+144>>2]=0;I[a+4>>1]=L[a+4>>1]|2}J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+112>>2];if(b){while(1){c=J[b+12>>2];Rb(J[a+88>>2]+102868|0,J[b+4>>2]);b=c;if(b){continue}break}}J[a+112>>2]=0;c=J[a+100>>2];if(!c){break a}a=J[a+88>>2]+102868|0;while(1){d=J[c+28>>2];if((d|0)>0){b=0;while(1){wc(a,J[(J[c+24>>2]+P(b,28)|0)+24>>2]);b=b+1|0;if((d|0)!=(b|0)){continue}break}}c=J[c+4>>2];if(c){continue}break}}}function Rb(a,b){var c=0,d=0,e=0,f=0;f=J[J[b+52>>2]+8>>2];d=J[J[b+48>>2]+8>>2];c=J[a+72>>2];if(!(!c|!(K[b+4|0]&2))){Na[J[J[c>>2]+12>>2]](c,b)}c=J[b+8>>2];if(c){J[c+12>>2]=J[b+12>>2]}e=J[b+12>>2];if(e){J[e+8>>2]=c}if(J[a+60>>2]==(b|0)){J[a+60>>2]=e}c=J[b+24>>2];if(c){J[c+12>>2]=J[b+28>>2]}e=J[b+28>>2];if(e){J[e+8>>2]=c}if(J[d+112>>2]==(b+16|0)){J[d+112>>2]=e}d=J[b+40>>2];if(d){J[d+12>>2]=J[b+44>>2]}c=J[b+44>>2];if(c){J[c+8>>2]=d}if(J[f+112>>2]==(b+32|0)){J[f+112>>2]=c}e=J[a+76>>2];f=J[b+52>>2];d=J[b+48>>2];a:{if(K[f+38|0]|(K[d+38|0]|J[b+124>>2]<=0)){break a}c=J[d+8>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[f+8>>2];if(!J[c>>2]){break a}J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}Na[J[((P(J[J[d+12>>2]+4>>2],48)+24576|0)+P(J[J[f+12>>2]+4>>2],12)|0)+4>>2]](b,e);J[a+64>>2]=J[a+64>>2]-1}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=La-32|0;La=f;d=J[a+28>>2];J[f+16>>2]=d;g=J[a+20>>2];J[f+28>>2]=c;J[f+24>>2]=b;b=g-d|0;J[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=ra(J[a+60>>2],b|0,2,f+12|0)|0;if(d){J[6204]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=J[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=J[b+4>>2];j=h>>>0>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;J[d>>2]=h+J[d>>2];b=(j?12:4)+b|0;J[b>>2]=J[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=ra(J[a+60>>2],b|0,i|0,f+12|0)|0;if(e){J[6204]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];a=c;break a}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=J[a>>2]|32;a=0;if((i|0)==2){break a}a=c-J[d+4>>2]|0}La=f+32|0;return a|0}function _a(a){var b=Q(0),c=0,d=0,e=0,f=0;c=La-16|0;La=c;e=(C(a),v(2));d=e&2147483647;a:{if(d>>>0<=1061752794){b=Q(1);if(d>>>0<964689920){break a}b=wb(+a);break a}if(d>>>0<=1081824209){if(d>>>0>=1075235812){b=Q(-wb(((e|0)<0?3.141592653589793:-3.141592653589793)+ +a));break a}f=+a;if((e|0)<0){b=vb(f+1.5707963267948966);break a}b=vb(1.5707963267948966-f);break a}if(d>>>0<=1088565717){if(d>>>0>=1085271520){b=wb(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if((e|0)<0){b=vb(-4.71238898038469-+a);break a}b=vb(+a+-4.71238898038469);break a}b=Q(a-a);if(d>>>0>=2139095040){break a}b:{switch(Zc(a,c+8|0)&3){case 0:b=wb(O[c+8>>3]);break a;case 1:b=vb(-O[c+8>>3]);break a;case 2:b=Q(-wb(O[c+8>>3]));break a;default:break b}}b=vb(O[c+8>>3])}a=b;La=c+16|0;return a}function Ed(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=Q(0);e=J[a+12>>2];e=Na[J[J[e>>2]+12>>2]](e)|0;J[a+28>>2]=e;if((e|0)>0){while(1){g=J[a+12>>2];e=J[a+24>>2]+P(h,28)|0;Na[J[J[g>>2]+24>>2]](g,e,c,h);g=Qd(b);i=N[e>>2];d=P(g,40);f=d+J[b+4>>2]|0;N[f+4>>2]=N[e+4>>2]+Q(-.10000000149011612);N[f>>2]=i+Q(-.10000000149011612);i=N[e+12>>2];f=d+J[b+4>>2]|0;N[f+8>>2]=N[e+8>>2]+Q(.10000000149011612);N[f+12>>2]=i+Q(.10000000149011612);d=d+J[b+4>>2]|0;H[d+36|0]=1;J[d+32>>2]=0;J[d+16>>2]=e;Pd(b,g);J[b+28>>2]=J[b+28>>2]+1;d=J[b+40>>2];if((d|0)==J[b+36>>2]){J[b+36>>2]=d<<1;f=J[b+32>>2];d=fb(d<<3);J[b+32>>2]=d;rb(d,f,J[b+40>>2]<<2);ab(f);d=J[b+40>>2]}J[J[b+32>>2]+(d<<2)>>2]=g;J[b+40>>2]=J[b+40>>2]+1;J[e+20>>2]=h;J[e+16>>2]=a;J[e+24>>2]=g;h=h+1|0;if((h|0)>2]){continue}break}}}function Za(a){var b=0,c=0,d=0,e=0;b=La-16|0;La=b;e=(C(a),v(2));c=e&2147483647;a:{if(c>>>0<=1061752794){if(c>>>0<964689920){break a}a=vb(+a);break a}if(c>>>0<=1081824209){d=+a;if(c>>>0<=1075235811){if((e|0)<0){a=Q(-wb(d+1.5707963267948966));break a}a=wb(d+-1.5707963267948966);break a}a=vb(-(((e|0)>=0?-3.141592653589793:3.141592653589793)+d));break a}if(c>>>0<=1088565717){if(c>>>0<=1085271519){d=+a;if((e|0)<0){a=wb(d+4.71238898038469);break a}a=Q(-wb(d+-4.71238898038469));break a}a=vb(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if(c>>>0>=2139095040){a=Q(a-a);break a}b:{switch(Zc(a,b+8|0)&3){case 0:a=vb(O[b+8>>3]);break a;case 1:a=wb(O[b+8>>3]);break a;case 2:a=vb(-O[b+8>>3]);break a;default:break b}}a=Q(-wb(O[b+8>>3]))}La=b+16|0;return a}function ei(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=0,m=Q(0),n=0,o=0,p=0,q=0,r=Q(0),s=Q(0),t=Q(0);n=a+24|0;j=N[n>>2];k=N[a+20>>2];l=J[a+148>>2];if((l|0)>0){a=a+20|0;while(1){o=a+(i<<3)|0;g=Q(N[o>>2]-k);i=i+1|0;p=a+(i<<3)|0;q=(i|0)<(l|0);d=Q(N[(q?p+4|0:n)>>2]-j);e=Q(N[(q?p:a)>>2]-k);f=Q(N[o+4>>2]-j);h=Q(Q(g*d)-Q(e*f));r=Q(Q(Q(h*Q(.0833333358168602))*Q(Q(Q(d*d)+Q(Q(f*f)+Q(f*d)))+Q(Q(e*e)+Q(Q(g*g)+Q(g*e)))))+r);h=Q(h*Q(.5));m=Q(m+h);f=Q(f+d);d=Q(h*Q(.3333333432674408));s=Q(s+Q(f*d));t=Q(t+Q(Q(g+e)*d));if((i|0)!=(l|0)){continue}break}}h=Q(m*c);N[b>>2]=h;e=Q(Q(1)/m);g=Q(s*e);d=Q(j+g);N[b+8>>2]=d;e=Q(t*e);f=Q(k+e);N[b+4>>2]=f;N[b+12>>2]=Q(h*Q(Q(Q(f*f)+Q(d*d))-Q(Q(e*e)+Q(g*g))))+Q(r*c)}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if(!K[a+102989|0]){c=J[b+108>>2];if(c){while(1){d=J[c+12>>2];e=J[a+102976>>2];if(e){Na[J[J[e>>2]+8>>2]](e,J[c+4>>2])}$c(a,J[c+4>>2]);J[b+108>>2]=d;c=d;if(c){continue}break}}J[b+108>>2]=0;c=J[b+112>>2];if(c){e=a+102868|0;while(1){d=J[c+12>>2];Rb(e,J[c+4>>2]);c=d;if(c){continue}break}}J[b+112>>2]=0;c=J[b+100>>2];if(c){f=a+102868|0;while(1){d=J[c+4>>2];e=J[a+102976>>2];if(e){Na[J[J[e>>2]+12>>2]](e,c)}sc(c,f);tc(c,a);Ib(a,c,44);J[b+100>>2]=d;J[b+104>>2]=J[b+104>>2]-1;c=d;if(c){continue}break}}J[b+100>>2]=0;J[b+104>>2]=0;c=J[b+92>>2];if(c){J[c+96>>2]=J[b+96>>2]}d=J[b+96>>2];if(d){J[d+92>>2]=c}if(J[a+102948>>2]==(b|0)){J[a+102948>>2]=d}J[a+102956>>2]=J[a+102956>>2]-1;Ib(a,b,152)}}function wi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);e=0;k=N[c>>2];i=Q(N[c+8>>2]-k);l=N[c+4>>2];f=Q(N[c+12>>2]-l);h=Q(Q(i*i)+Q(f*f));a:{if(h>2];j=N[a+12>>2];n=N[a+16>>2];m=N[d+8>>2];k=Q(k-Q(N[d>>2]+Q(Q(g*j)-Q(n*m))));l=Q(l-Q(N[d+4>>2]+Q(Q(m*j)+Q(g*n))));g=Q(Q(k*i)+Q(l*f));j=N[a+8>>2];j=Q(Q(g*g)-Q(Q(Q(Q(k*k)+Q(l*l))-Q(j*j))*h));if(j>2]))){break a}h=Q(g/h);N[b+8>>2]=h;f=Q(l+Q(f*h));N[b+4>>2]=f;i=Q(k+Q(i*h));N[b>>2]=i;e=1;h=Q(Y(Q(Q(i*i)+Q(f*f))));if(h>2]=m*f;N[b>>2]=i*f}return e|0}function Ag(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-224|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7644,0);J[b+208>>2]=e;Ya(7810,b+208|0);J[b+192>>2]=d;Ya(7784,b+192|0);J[b+176>>2]=K[a+61|0];Ya(8820,b+176|0);c=N[a+68>>2];O[b+168>>3]=N[a+72>>2];O[b+160>>3]=c;Ya(8226,b+160|0);c=N[a+76>>2];O[b+152>>3]=N[a+80>>2];O[b+144>>3]=c;Ya(8119,b+144|0);c=N[a+84>>2];O[b+136>>3]=N[a+88>>2];O[b+128>>3]=c;Ya(8192,b+128|0);O[b+112>>3]=N[a+100>>2];Ya(7128,b+112|0);J[b+96>>2]=K[a+140|0];Ya(8621,b+96|0);O[b+80>>3]=N[a+124>>2];Ya(6819,b+80|0);O[b+64>>3]=N[a+128>>2];Ya(6850,b- -64|0);J[b+48>>2]=K[a+141|0];Ya(8676,b+48|0);O[b+32>>3]=N[a+136>>2];Ya(7235,b+32|0);O[b+16>>3]=N[a+132>>2];Ya(7207,b+16|0);J[b>>2]=J[a+56>>2];Ya(8499,b);La=b+224|0}function Sc(a,b,c){a:{switch(b-9|0){case 0:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];return;case 6:b=J[c>>2];J[c>>2]=b+4;b=I[b>>1];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 7:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=L[b>>1];J[a+4>>2]=0;return;case 8:b=J[c>>2];J[c>>2]=b+4;b=H[b|0];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 9:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=K[b|0];J[a+4>>2]=0;return;case 16:b=J[c>>2]+7&-8;J[c>>2]=b+8;O[a>>3]=O[b>>3];return;case 17:Pc(a,c);default:return;case 1:case 4:case 14:b=J[c>>2];J[c>>2]=b+4;b=J[b>>2];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];J[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=J[c>>2]+7&-8;J[c>>2]=b+8;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c}function sb(a,b){var c=0,d=0,e=0;c=La+-64|0;La=c;d=J[a>>2];e=J[d-4>>2];d=J[d-8>>2];J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;H[c+55|0]=0;H[c+56|0]=0;H[c+57|0]=0;H[c+58|0]=0;H[c+59|0]=0;H[c+60|0]=0;H[c+61|0]=0;H[c+62|0]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+20>>2]=0;J[c+16>>2]=17972;J[c+12>>2]=a;J[c+8>>2]=b;a=a+d|0;d=0;a:{if(gb(e,b,0)){J[c+56>>2]=1;Na[J[J[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=J[c+32>>2]==1?a:0;break a}Na[J[J[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(J[c+44>>2]){case 0:d=J[c+48>>2]==1?J[c+36>>2]==1?J[c+40>>2]==1?J[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[c+32>>2]!=1){if(J[c+48>>2]|J[c+36>>2]!=1|J[c+40>>2]!=1){break a}}d=J[c+24>>2]}La=c- -64|0;return d}function Xg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);g=J[b+28>>2]+P(J[a+116>>2],12)|0;j=N[g>>2];h=N[g+8>>2];k=N[a+124>>2];c=N[a+108>>2];i=N[a+96>>2];d=Q(-Q(Q(Q(j-Q(h*k))+N[a+160>>2])+Q(c*i)));l=N[g+4>>2];m=N[a+120>>2];f=N[a+100>>2];e=Q(Q(Q(l+Q(h*m))+N[a+164>>2])+Q(c*f));c=Q(f+Q(Q(N[a+148>>2]*d)-Q(N[a+156>>2]*e)));N[a+100>>2]=c;d=Q(i+Q(Q(N[a+144>>2]*d)-Q(N[a+152>>2]*e)));N[a+96>>2]=d;n=Q(Q(d*d)+Q(c*c));e=Q(N[b>>2]*N[a+104>>2]);if(n>Q(e*e)){e=Q(e/Q(Y(n)));c=Q(c*e);N[a+100>>2]=c;d=Q(d*e);N[a+96>>2]=d}e=N[a+140>>2];c=Q(c-f);f=N[a+136>>2];N[g+4>>2]=l+Q(c*f);d=Q(d-i);N[g>>2]=j+Q(f*d);N[(J[b+28>>2]+P(J[a+116>>2],12)|0)+8>>2]=Q(e*Q(Q(m*c)-Q(d*k)))+h}function ki(a,b,c,d,e){a=a|0;b=Q(b);c=Q(c);d=d|0;e=Q(e);var f=Q(0),g=Q(0),h=0,i=0,j=Q(0),k=Q(0);J[a+84>>2]=0;J[a+88>>2]=-1082130432;J[a+148>>2]=4;J[a+108>>2]=-1082130432;J[a+112>>2]=0;J[a+100>>2]=0;J[a+104>>2]=1065353216;J[a+92>>2]=1065353216;J[a+96>>2]=0;N[a+48>>2]=c;f=Q(-b);N[a+44>>2]=f;N[a+40>>2]=c;N[a+36>>2]=b;c=Q(-c);N[a+32>>2]=c;N[a+28>>2]=b;N[a+24>>2]=c;N[a+20>>2]=f;i=J[d+4>>2];J[a+12>>2]=J[d>>2];J[a+16>>2]=i;c=Za(e);f=Q(-c);j=N[d+4>>2];k=N[d>>2];b=_a(e);while(1){d=(h<<3)+a|0;e=N[d+84>>2];g=N[d+88>>2];N[d+84>>2]=Q(b*e)+Q(g*f);N[d+88>>2]=Q(c*e)+Q(b*g);e=N[d+20>>2];g=N[d+24>>2];N[d+24>>2]=j+Q(Q(c*e)+Q(b*g));N[d+20>>2]=k+Q(Q(b*e)+Q(g*f));h=h+1|0;if((h|0)>2]){continue}break}}function Db(a,b,c){var d=0,e=0;a:{if(!c){break a}H[a|0]=b;d=a+c|0;H[d-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[d-3|0]=b;H[d-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;a=P(b&255,16843009);J[e>>2]=a;c=c-d&-4;b=c+e|0;J[b-4>>2]=a;if(c>>>0<9){break a}J[e+8>>2]=a;J[e+4>>2]=a;J[b-8>>2]=a;J[b-12>>2]=a;if(c>>>0<25){break a}J[e+24>>2]=a;J[e+20>>2]=a;J[e+16>>2]=a;J[e+12>>2]=a;J[b-16>>2]=a;J[b-20>>2]=a;J[b-24>>2]=a;J[b-28>>2]=a;b=e&4|24;c=c-b|0;if(c>>>0<32){break a}a=kl(a,0,1,1);d=Ma;b=b+e|0;while(1){J[b+24>>2]=a;J[b+28>>2]=d;J[b+16>>2]=a;J[b+20>>2]=d;J[b+8>>2]=a;J[b+12>>2]=d;J[b>>2]=a;J[b+4>>2]=d;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}}function Gg(a){a=a|0;var b=0,c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0);b=J[a+52>>2];f=N[b+20>>2];g=Q(N[a+76>>2]-N[b+28>>2]);i=N[b+24>>2];j=Q(N[a+80>>2]-N[b+32>>2]);k=Q(Q(f*g)+Q(i*j));c=J[a+48>>2];d=N[c+20>>2];l=Q(N[a+68>>2]-N[c+28>>2]);e=N[c+24>>2];m=Q(N[a+72>>2]-N[c+32>>2]);n=Q(Q(d*l)+Q(e*m));o=N[a+84>>2];p=N[a+88>>2];q=Q(Q(e*o)-Q(p*d));h=N[c+72>>2];f=Q(Q(i*g)-Q(j*f));g=Q(Q(e*l)-Q(m*d));d=Q(Q(d*o)+Q(e*p));e=N[b+72>>2];return Q(Q(Q(Q(Q(Q(k+N[b+48>>2])-Q(n+N[c+48>>2]))*Q(q*h))-Q(Q(Q(f+N[b+44>>2])-Q(g+N[c+44>>2]))*Q(d*h)))+Q(Q(q*Q(Q(n*h)+Q(Q(N[b+64>>2]-Q(k*e))-N[c+64>>2])))+Q(d*Q(Q(Q(N[b+68>>2]+Q(f*e))-N[c+68>>2])-Q(g*h))))))}function dk(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0);if(!(K[J[a+88>>2]+102989|0]|J[a>>2]!=2)){J[a+124>>2]=0;J[a+128>>2]=0;c=N[b>>2];c=c<=Q(0)?Q(1):c;N[a+116>>2]=c;N[a+120>>2]=Q(1)/c;e=N[b+12>>2];if(!(!(e>Q(0))|K[a+4|0]&16)){f=c;c=N[b+4>>2];d=Q(c*c);c=N[b+8>>2];c=Q(e-Q(f*Q(d+Q(c*c))));N[a+124>>2]=c;N[a+128>>2]=Q(1)/c}f=N[b+8>>2];h=J[b+8>>2];c=N[b+4>>2];b=J[b+4>>2];J[a+28>>2]=b;J[a+32>>2]=h;i=N[a+48>>2];d=N[a+20>>2];g=N[a+24>>2];e=Q(Q(Q(d*c)+Q(g*f))+N[a+16>>2]);N[a+48>>2]=e;j=N[a+44>>2];c=Q(N[a+12>>2]+Q(Q(g*c)-Q(f*d)));N[a+44>>2]=c;N[a+40>>2]=e;N[a+36>>2]=c;d=N[a+72>>2];N[a+64>>2]=N[a+64>>2]-Q(d*Q(e-i));N[a+68>>2]=Q(d*Q(c-j))+N[a+68>>2]}}function fg(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-208|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7548,0);J[b+192>>2]=e;Ya(7810,b+192|0);J[b+176>>2]=d;Ya(7784,b+176|0);J[b+160>>2]=K[a+61|0];Ya(8820,b+160|0);c=N[a+68>>2];O[b+152>>3]=N[a+72>>2];O[b+144>>3]=c;Ya(8226,b+144|0);c=N[a+76>>2];O[b+136>>3]=N[a+80>>2];O[b+128>>3]=c;Ya(8119,b+128|0);O[b+112>>3]=N[a+120>>2];Ya(7128,b+112|0);J[b+96>>2]=K[a+116|0];Ya(8621,b+96|0);O[b+80>>3]=N[a+124>>2];Ya(7078,b+80|0);O[b+64>>3]=N[a+128>>2];Ya(7103,b- -64|0);J[b+48>>2]=K[a+104|0];Ya(8676,b+48|0);O[b+32>>3]=N[a+112>>2];Ya(7235,b+32|0);O[b+16>>3]=N[a+108>>2];Ya(7029,b+16|0);J[b>>2]=J[a+56>>2];Ya(8499,b);La=b+208|0}function Nf(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-192|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7525,0);J[b+176>>2]=e;Ya(7810,b+176|0);J[b+160>>2]=d;Ya(7784,b+160|0);J[b+144>>2]=K[a+61|0];Ya(8820,b+144|0);c=N[a+68>>2];O[b+136>>3]=N[a+72>>2];O[b+128>>3]=c;Ya(8226,b+128|0);c=N[a+76>>2];O[b+120>>3]=N[a+80>>2];O[b+112>>3]=c;Ya(8119,b+112|0);c=N[a+84>>2];O[b+104>>3]=N[a+88>>2];O[b+96>>3]=c;Ya(8192,b+96|0);J[b+80>>2]=K[a+141|0];Ya(8676,b+80|0);O[b+64>>3]=N[a+136>>2];Ya(7235,b- -64|0);O[b+48>>3]=N[a+132>>2];Ya(7029,b+48|0);O[b+32>>3]=N[a+144>>2];Ya(6691,b+32|0);O[b+16>>3]=N[a+148>>2];Ya(6926,b+16|0);J[b>>2]=J[a+56>>2];Ya(8499,b);La=b+192|0}function vg(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-176|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7430,0);J[b+160>>2]=e;Ya(7810,b+160|0);J[b+144>>2]=d;Ya(7784,b+144|0);J[b+128>>2]=K[a+61|0];Ya(8820,b+128|0);c=N[a+68>>2];O[b+120>>3]=N[a+72>>2];O[b+112>>3]=c;Ya(8262,b+112|0);c=N[a+76>>2];O[b+104>>3]=N[a+80>>2];O[b+96>>3]=c;Ya(8155,b+96|0);c=N[a+92>>2];O[b+88>>3]=N[a+96>>2];O[b+80>>3]=c;Ya(8226,b+80|0);c=N[a+100>>2];O[b+72>>3]=N[a+104>>2];O[b+64>>3]=c;Ya(8119,b- -64|0);O[b+48>>3]=N[a+84>>2];Ya(7282,b+48|0);O[b+32>>3]=N[a+88>>2];Ya(7260,b+32|0);O[b+16>>3]=N[a+112>>2];Ya(6746,b+16|0);J[b>>2]=J[a+56>>2];Ya(8499,b);La=b+176|0}function Rh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);f=J[J[a+48>>2]+12>>2];a=J[J[a+52>>2]+12>>2];J[b+60>>2]=0;e=N[d+12>>2];g=N[a+12>>2];h=N[a+16>>2];i=N[d+8>>2];j=N[c+12>>2];k=N[f+12>>2];l=N[f+16>>2];m=N[c+8>>2];n=Q(Q(N[d>>2]+Q(Q(e*g)-Q(h*i)))-Q(N[c>>2]+Q(Q(j*k)-Q(l*m))));e=Q(Q(Q(Q(i*g)+Q(e*h))+N[d+4>>2])-Q(Q(Q(m*k)+Q(j*l))+N[c+4>>2]));g=Q(Q(n*n)+Q(e*e));e=Q(N[f+8>>2]+N[a+8>>2]);if(!(g>Q(e*e))){J[b+56>>2]=0;c=J[f+12>>2];d=J[f+16>>2];J[b+60>>2]=1;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=c;J[b+52>>2]=d;c=J[a+12>>2];a=J[a+16>>2];J[b+16>>2]=0;J[b>>2]=c;J[b+4>>2]=a}}function Td(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0);l=N[b+8>>2];g=N[b+12>>2];h=N[b+28>>2];i=N[b+24>>2];d=N[b+16>>2];p=Q(Q(g*h)-Q(i*d));m=N[b>>2];j=N[b+32>>2];k=N[b+20>>2];q=Q(Q(d*j)-Q(h*k));n=N[b+4>>2];r=Q(Q(k*i)-Q(j*g));e=Q(Q(l*p)+Q(Q(m*q)+Q(n*r)));o=e!=Q(0)?Q(Q(1)/e):e;e=N[c+4>>2];f=N[c>>2];s=Q(l*Q(Q(g*e)-Q(f*d)));t=d;d=N[c+8>>2];N[a+8>>2]=o*Q(s+Q(Q(m*Q(Q(t*d)-Q(e*k)))+Q(n*Q(Q(k*f)-Q(d*g)))));N[a+4>>2]=o*Q(Q(l*Q(Q(f*h)-Q(i*e)))+Q(Q(m*Q(Q(e*j)-Q(h*d)))+Q(n*Q(Q(d*i)-Q(j*f)))));N[a>>2]=o*Q(Q(d*p)+Q(Q(f*q)+Q(r*e)))}function Qd(a){var b=0,c=0,d=0;b=J[a+4>>2];c=J[a+16>>2];if((c|0)==-1){c=J[a+12>>2];J[a+12>>2]=c<<1;c=fb(P(c,80));J[a+4>>2]=c;rb(c,b,P(J[a+8>>2],40));ab(b);c=J[a+4>>2];b=J[a+8>>2];d=J[a+12>>2]-1|0;if((b|0)<(d|0)){while(1){d=P(b,40);b=b+1|0;J[(d+c|0)+20>>2]=b;c=J[a+4>>2];J[(d+c|0)+32>>2]=-1;d=J[a+12>>2]-1|0;if((d|0)>(b|0)){continue}break}}J[(P(d,40)+c|0)+20>>2]=-1;b=J[a+4>>2];J[(b+P(J[a+12>>2],40)|0)-8>>2]=-1;c=J[a+8>>2];J[a+16>>2]=c}d=b;b=P(c,40);d=d+b|0;J[a+16>>2]=J[d+20>>2];J[d+20>>2]=-1;b=b+J[a+4>>2]|0;J[b+32>>2]=0;J[b+24>>2]=-1;J[b+28>>2]=-1;H[b+36|0]=0;J[b+16>>2]=0;J[a+8>>2]=J[a+8>>2]+1;return c}function gf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(gb(a,J[b+8>>2],f)){oc(b,c,d,e);return}g=K[b+53|0];j=J[a+12>>2];H[b+53|0]=0;h=K[b+52|0];H[b+52|0]=0;m=a+16|0;nc(m,b,c,d,e,f);k=K[b+53|0];g=g|k;l=K[b+52|0];h=h|l;i=a+24|0;j=(j<<3)+m|0;a:{if(i>>>0>=j>>>0){break a}while(1){if(K[b+54|0]){break a}b:{if(l){if(J[b+24>>2]==1){break a}if(K[a+8|0]&2){break b}break a}if(!k){break b}if(!(H[a+8|0]&1)){break a}}I[b+52>>1]=0;nc(i,b,c,d,e,f);k=K[b+53|0];g=k|g;l=K[b+52|0];h=l|h;i=i+8|0;if(j>>>0>i>>>0){continue}break}}H[b+53|0]=(g&255)!=0;H[b+52|0]=(h&255)!=0}function bj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=J[a+4>>2];if((c|0)!=J[a+8>>2]){e=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=e;J[a+4>>2]=c+8;return}a:{h=J[a>>2];e=c-h|0;g=e>>3;d=g+1|0;if(d>>>0<536870912){f=e>>2;f=e>>>0>=2147483640?536870911:d>>>0>>0?f:d;if(f){if(f>>>0>=536870912){break a}e=Xa(f<<3)}else{e=0}d=e+(g<<3)|0;g=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=g;b=d+8|0;if((c|0)!=(h|0)){while(1){c=c-8|0;g=J[c+4>>2];d=d-8|0;J[d>>2]=J[c>>2];J[d+4>>2]=g;if((c|0)!=(h|0)){continue}break}c=J[a>>2]}J[a+8>>2]=e+(f<<3);J[a+4>>2]=b;J[a>>2]=d;if(c){ab(c)}return}ma();B()}Tb();B()}function fi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0);j=N[c+8>>2];f=N[a+20>>2];k=N[c+12>>2];e=N[a+24>>2];n=N[c+4>>2];h=Q(Q(Q(j*f)+Q(k*e))+n);o=N[c>>2];i=Q(o+Q(Q(k*f)-Q(e*j)));c=1;p=J[a+148>>2];a:{if((p|0)<=1){f=i;e=h;break a}m=Q(-j);e=h;f=i;while(1){d=(c<<3)+a|0;q=N[d+20>>2];g=N[d+24>>2];l=Q(n+Q(Q(j*q)+Q(k*g)));e=e>l?e:l;g=Q(o+Q(Q(k*q)+Q(g*m)));f=f>g?f:g;h=h>2];N[b+12>>2]=m+e;N[b+8>>2]=f+e;N[b+4>>2]=h-e;N[b>>2]=i-e}function hc(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=0,j=0,k=0,l=Q(0),m=Q(0);f=N[c>>2];g=N[c+4>>2];h=Q(Q(Q(f*N[b+12>>2])+Q(g*N[b+16>>2]))-d);c=0;d=Q(Q(Q(f*N[b>>2])+Q(g*N[b+4>>2]))-d);if(d<=Q(0)){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];c=1}if(h<=Q(0)){i=b+12|0;k=J[i+4>>2];j=P(c,12)+a|0;J[j>>2]=J[i>>2];J[j+4>>2]=k;J[j+8>>2]=J[i+8>>2];c=c+1|0}if(Q(d*h)>2];l=N[b+12>>2];g=N[b+4>>2];m=N[b+16>>2];a=P(c,12)+a|0;H[a+8|0]=e;d=Q(d/Q(d-h));N[a+4>>2]=g+Q(d*Q(m-g));N[a>>2]=f+Q(d*Q(l-f));b=K[b+9|0];I[a+10>>1]=256;H[a+9|0]=b;c=c+1|0}return c}function jf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(gb(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(gb(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;b:{if(J[b+44>>2]==4){break b}I[b+52>>1]=0;a=J[a+8>>2];Na[J[J[a>>2]+20>>2]](a,b,c,c,1,e);if(K[b+53|0]){J[b+44>>2]=3;if(!K[b+52|0]){break b}break a}J[b+44>>2]=4}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}a=J[a+8>>2];Na[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function Rc(a,b,c){var d=0,e=0,f=0;d=La-208|0;La=d;J[d+204>>2]=c;c=d+160|0;Db(c,0,40);J[d+200>>2]=J[d+204>>2];a:{if((Uc(0,b,d+200|0,d+80|0,c)|0)<0){break a}f=J[a+76>>2]>=0;c=J[a>>2];if(J[a+72>>2]<=0){J[a>>2]=c&-33}b:{c:{d:{if(!J[a+48>>2]){J[a+48>>2]=80;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;e=J[a+44>>2];J[a+44>>2]=d;break d}if(J[a+16>>2]){break c}}if(Wc(a)){break b}}Uc(a,b,d+200|0,d+80|0,d+160|0)}if(e){Na[J[a+36>>2]](a,0,0)|0;J[a+48>>2]=0;J[a+44>>2]=e;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0}J[a>>2]=J[a>>2]|c&32;if(!f){break a}}La=d+208|0}function Mi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=La-16|0;La=h;f=a+16|0;g=J[f>>2];a:{if(!g){break a}j=J[b+48>>2];e=f;d=g;while(1){i=M[d+16>>2]>>0;e=i?e:d;d=J[(i?d+4|0:d)>>2];if(d){continue}break}if(!((e|0)!=(f|0)&M[e+16>>2]<=j>>>0)){i=J[b+52>>2];d=f;while(1){e=i>>>0>M[g+16>>2];d=e?d:g;e=J[(e?g+4|0:g)>>2];g=e;if(e){continue}break}if((d|0)==(f|0)|i>>>0>2]){break a}}f=J[a+8>>2];if(!(H[23868]&1)){a=ba(3,20060)|0;H[23868]=1;J[5966]=a}a=J[5966];J[h+8>>2]=c;J[h>>2]=b;da(a|0,f|0,3897,h|0)}La=h+16|0}function Li(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=La-16|0;La=h;f=a+16|0;g=J[f>>2];a:{if(!g){break a}j=J[b+48>>2];e=f;d=g;while(1){i=M[d+16>>2]>>0;e=i?e:d;d=J[(i?d+4|0:d)>>2];if(d){continue}break}if(!((e|0)!=(f|0)&M[e+16>>2]<=j>>>0)){i=J[b+52>>2];d=f;while(1){e=i>>>0>M[g+16>>2];d=e?d:g;e=J[(e?g+4|0:g)>>2];g=e;if(e){continue}break}if((d|0)==(f|0)|i>>>0>2]){break a}}f=J[a+8>>2];if(!(H[23868]&1)){a=ba(3,20060)|0;H[23868]=1;J[5966]=a}a=J[5966];J[h+8>>2]=c;J[h>>2]=b;da(a|0,f|0,3887,h|0)}La=h+16|0}function Oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=La-16|0;La=h;e=a+16|0;f=J[e>>2];a:{if(!f){break a}i=J[b+48>>2];d=e;c=f;while(1){g=M[c+16>>2]>>0;d=g?d:c;c=J[(g?c+4|0:c)>>2];if(c){continue}break}if(!((d|0)!=(e|0)&M[d+16>>2]<=i>>>0)){g=J[b+52>>2];c=e;while(1){d=g>>>0>M[f+16>>2];c=d?c:f;d=J[(d?f+4|0:f)>>2];f=d;if(d){continue}break}if((c|0)==(e|0)|g>>>0>2]){break a}}e=J[a+8>>2];if(!(H[23860]&1)){a=ba(2,20052)|0;H[23860]=1;J[5964]=a}a=J[5964];J[h+8>>2]=b;da(a|0,e|0,2041,h+8|0)}La=h+16|0}function Ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=La-16|0;La=h;e=a+16|0;f=J[e>>2];a:{if(!f){break a}i=J[b+48>>2];d=e;c=f;while(1){g=M[c+16>>2]>>0;d=g?d:c;c=J[(g?c+4|0:c)>>2];if(c){continue}break}if(!((d|0)!=(e|0)&M[d+16>>2]<=i>>>0)){g=J[b+52>>2];c=e;while(1){d=g>>>0>M[f+16>>2];c=d?c:f;d=J[(d?f+4|0:f)>>2];f=d;if(d){continue}break}if((c|0)==(e|0)|g>>>0>2]){break a}}e=J[a+8>>2];if(!(H[23860]&1)){a=ba(2,20052)|0;H[23860]=1;J[5964]=a}a=J[5964];J[h+8>>2]=b;da(a|0,e|0,2054,h+8|0)}La=h+16|0}function Wh(a,b,c){a=a|0;b=b|0;c=Q(c);var d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0);d=J[a+88>>2];if(!K[d+102989|0]){f=_a(c);N[a+24>>2]=f;g=Za(c);N[a+20>>2]=g;j=N[b+4>>2];h=J[b+4>>2];e=N[b>>2];b=J[b>>2];J[a+12>>2]=b;J[a+16>>2]=h;N[a+56>>2]=c;N[a+52>>2]=c;c=N[a+28>>2];i=N[a+32>>2];e=Q(Q(Q(f*c)-Q(g*i))+e);N[a+44>>2]=e;N[a+36>>2]=e;c=Q(Q(Q(g*c)+Q(f*i))+j);N[a+48>>2]=c;N[a+40>>2]=c;b=J[a+100>>2];if(b){h=d+102868|0;d=a+12|0;while(1){ec(b,h,d,d);b=J[b+4>>2];if(b){continue}break}d=J[a+88>>2]}fc(d+102868|0)}}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0;if(!(K[J[a+88>>2]+102989|0]|!b)){c=J[a+100>>2];a:{if(!c){break a}if((b|0)==(c|0)){d=a+100|0}else{while(1){d=c;c=J[c+4>>2];if(!c){break a}if((b|0)!=(c|0)){continue}break}d=d+4|0}J[d>>2]=J[b+4>>2]}c=J[a+112>>2];if(c){while(1){d=J[c+4>>2];c=J[c+12>>2];if(!(J[d+48>>2]!=(b|0)&J[d+52>>2]!=(b|0))){Rb(J[a+88>>2]+102868|0,d)}if(c){continue}break}}d=J[a+88>>2];if(K[a+4|0]&32){sc(b,d+102868|0)}J[b+4>>2]=0;J[b+8>>2]=0;tc(b,d);Ib(d,b,44);J[a+104>>2]=J[a+104>>2]-1;Sb(a)}}function kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=J[a+4>>2];if((e|0)!=J[a+8>>2]){J[e>>2]=J[b>>2];J[a+4>>2]=e+4;return}a:{g=J[a>>2];f=e-g|0;c=f>>2;d=c+1|0;if(d>>>0<1073741824){h=c<<2;c=f>>1;c=f>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(c){if(c>>>0>=1073741824){break a}f=Xa(c<<2)}else{f=0}d=h+f|0;J[d>>2]=J[b>>2];b=d+4|0;if((e|0)!=(g|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(g|0)){continue}break}}J[a+8>>2]=f+(c<<2);J[a+4>>2]=b;J[a>>2]=d;if(g){ab(g)}return}ma();B()}Tb();B()}function Gh(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-144|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7596,0);J[b+128>>2]=e;Ya(7810,b+128|0);J[b+112>>2]=d;Ya(7784,b+112|0);J[b+96>>2]=K[a+61|0];Ya(8820,b+96|0);c=N[a+80>>2];O[b+88>>3]=N[a+84>>2];O[b+80>>3]=c;Ya(8226,b+80|0);c=N[a+88>>2];O[b+72>>3]=N[a+92>>2];O[b+64>>3]=c;Ya(8119,b- -64|0);O[b+48>>3]=N[a+104>>2];Ya(6881,b+48|0);O[b+32>>3]=N[a+68>>2];Ya(6691,b+32|0);O[b+16>>3]=N[a+72>>2];Ya(6926,b+16|0);J[b>>2]=J[a+56>>2];Ya(8499,b);La=b+144|0}function Vf(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-144|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7622,0);J[b+128>>2]=e;Ya(7810,b+128|0);J[b+112>>2]=d;Ya(7784,b+112|0);J[b+96>>2]=K[a+61|0];Ya(8820,b+96|0);c=N[a+80>>2];O[b+88>>3]=N[a+84>>2];O[b+80>>3]=c;Ya(8226,b+80|0);c=N[a+88>>2];O[b+72>>3]=N[a+92>>2];O[b+64>>3]=c;Ya(8119,b- -64|0);O[b+48>>3]=N[a+96>>2];Ya(7128,b+48|0);O[b+32>>3]=N[a+68>>2];Ya(6691,b+32|0);O[b+16>>3]=N[a+72>>2];Ya(6926,b+16|0);J[b>>2]=J[a+56>>2];Ya(8499,b);La=b+144|0}function $e(a,b,c){a=a|0;b=Q(b);c=Q(c);var d=0,e=Q(0),f=Q(0),g=0;d=La-16|0;La=d;b=Q(b*Q(6.2831854820251465));f=N[J[a+48>>2]+116>>2];g=f>Q(0);e=N[J[a+52>>2]+116>>2];a:{if(!(!g|!(e>Q(0)))){e=Q(Q(f*e)/Q(f+e));break a}e=g?f:e}N[d+12>>2]=b*Q(b*e);N[d+8>>2]=b*Q(Q(e+e)*c);b:{c:{switch(J[a+4>>2]-3|0){case 0:N[a+68>>2]=N[d+12>>2];N[a+72>>2]=N[d+8>>2];break b;case 5:N[a+68>>2]=N[d+12>>2];N[a+72>>2]=N[d+8>>2];break b;case 4:break c;default:break b}}N[a+144>>2]=N[d+12>>2];N[a+148>>2]=N[d+8>>2]}La=d+16|0}function di(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0);f=1;c=J[a+148>>2];a:{if((c|0)<=0){break a}l=c-1|0;h=a+20|0;f=0;while(1){g=d+1|0;i=(d|0)<(l|0)?g:0;b=(i<<3)+h|0;e=(d<<3)+h|0;j=N[e>>2];m=Q(N[b>>2]-j);k=N[e+4>>2];n=Q(-Q(N[b+4>>2]-k));b=0;while(1){if(!((b|0)==(d|0)|(b|0)==(i|0))){e=(b<<3)+a|0;if(Q(Q(m*Q(N[e+24>>2]-k))+Q(Q(N[e+20>>2]-j)*n))>2];d=1;a:{if((g|0)<=0){break a}e=N[b+12>>2];h=Q(N[c>>2]-N[b>>2]);i=Q(N[c+4>>2]-N[b+4>>2]);j=N[b+8>>2];k=Q(Q(e*h)+Q(i*j));e=Q(Q(e*i)-Q(j*h));d=0;if(Q(Q(N[a+84>>2]*Q(k-N[a+20>>2]))+Q(Q(e-N[a+24>>2])*N[a+88>>2]))>Q(0)){break a}while(1){f=f+1|0;if((g|0)!=(f|0)){b=(f<<3)+a|0;if(!(Q(Q(N[b+84>>2]*Q(k-N[b+20>>2]))+Q(Q(e-N[b+24>>2])*N[b+88>>2]))>Q(0))){continue}}break}d=(f|0)>=(g|0)}return d|0}function dc(a){var b=0,c=0,d=0;if(!a){if(J[5952]){b=dc(J[5952])}if(J[6203]){b=dc(J[6203])|b}a=J[6220];if(a){while(1){if(J[a+20>>2]!=J[a+28>>2]){b=dc(a)|b}a=J[a+56>>2];if(a){continue}break}}return b}d=J[a+76>>2]>=0;a:{b:{if(J[a+20>>2]==J[a+28>>2]){break b}Na[J[a+36>>2]](a,0,0)|0;if(J[a+20>>2]){break b}b=-1;break a}b=J[a+8>>2];c=J[a+4>>2];if((b|0)!=(c|0)){b=c-b|0;Na[J[a+40>>2]](a,b,b>>31,1)|0}b=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;if(!d){break a}}return b}function Md(a){var b=0,c=0,d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0);c=La-16|0;La=c;f=J[a+88>>2]+102868|0;a:{if(K[a+4|0]&2){d=N[a+52>>2];e=_a(d);N[c+12>>2]=e;d=Za(d);N[c+8>>2]=d;i=N[a+36>>2];g=N[a+28>>2];h=N[a+32>>2];N[c+4>>2]=N[a+40>>2]-Q(Q(d*g)+Q(e*h));N[c>>2]=i-Q(Q(e*g)-Q(h*d));b=J[a+100>>2];if(!b){break a}a=a+12|0;while(1){ec(b,f,c,a);b=J[b+4>>2];if(b){continue}break}break a}b=J[a+100>>2];if(!b){break a}a=a+12|0;while(1){ec(b,f,a,a);b=J[b+4>>2];if(b){continue}break}}La=c+16|0}function uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=La-32|0;La=e;J[e+16>>2]=b;d=J[a+48>>2];J[e+20>>2]=c-((d|0)!=0);f=J[a+44>>2];J[e+28>>2]=d;J[e+24>>2]=f;a:{b:{d=Ea(J[a+60>>2],e+16|0,2,e+12|0)|0;if(d){J[6204]=d;d=-1}else{d=0}if(d){b=32}else{d=J[e+12>>2];if((d|0)>0){break b}b=d?32:16}J[a>>2]=b|J[a>>2];break a}g=d;f=J[e+20>>2];if(f>>>0>=d>>>0){break a}d=J[a+44>>2];J[a+4>>2]=d;J[a+8>>2]=d+(g-f|0);if(J[a+48>>2]){J[a+4>>2]=d+1;H[(b+c|0)-1|0]=K[d|0]}g=c}La=e+32|0;return g|0}function $g(a){a=a|0;var b=0,c=0,d=0,e=Q(0);b=La-144|0;La=b;c=J[J[a+52>>2]+8>>2];d=J[J[a+48>>2]+8>>2];Ya(7454,0);J[b+128>>2]=d;Ya(7810,b+128|0);J[b+112>>2]=c;Ya(7784,b+112|0);J[b+96>>2]=K[a+61|0];Ya(8820,b+96|0);e=N[a+68>>2];O[b+88>>3]=N[a+72>>2];O[b+80>>3]=e;Ya(7990,b+80|0);O[b+64>>3]=N[a+76>>2];Ya(6635,b- -64|0);O[b+48>>3]=N[a+92>>2];Ya(7184,b+48|0);O[b+32>>3]=N[a+96>>2];Ya(7005,b+32|0);O[b+16>>3]=N[a+100>>2];Ya(6715,b+16|0);J[b>>2]=J[a+56>>2];Ya(8499,b);La=b+144|0}function sc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;if(J[a+28>>2]>0){while(1){g=J[a+24>>2]+P(e,28)|0;d=J[g+24>>2];c=0;f=J[b+40>>2];if((f|0)>0){i=J[b+32>>2];while(1){h=(c<<2)+i|0;if(J[h>>2]==(d|0)){J[h>>2]=-1;f=J[b+40>>2]}c=c+1|0;if((f|0)>(c|0)){continue}break}}J[b+28>>2]=J[b+28>>2]-1;Nd(b,d);c=P(d,40);J[(c+J[b+4>>2]|0)+20>>2]=J[b+16>>2];J[(c+J[b+4>>2]|0)+32>>2]=-1;J[b+16>>2]=d;J[b+8>>2]=J[b+8>>2]-1;J[g+24>>2]=-1;e=e+1|0;if((e|0)>2]){continue}break}}J[a+28>>2]=0}function Vh(a,b){a=a|0;b=b|0;var c=0,d=0;c=L[a+4>>1];if(((c&32)>>>5|0)!=(b|0)){if(b){I[a+4>>1]=c|32;c=J[a+88>>2];b=J[a+100>>2];if(b){c=c+102868|0;d=a+12|0;while(1){Ed(b,c,d);b=J[b+4>>2];if(b){continue}break}c=J[a+88>>2]}H[c+102988|0]=1;return}I[a+4>>1]=c&65503;b=J[a+100>>2];if(b){c=J[a+88>>2]+102868|0;while(1){sc(b,c);b=J[b+4>>2];if(b){continue}break}}b=J[a+112>>2];if(b){while(1){c=J[b+12>>2];Rb(J[a+88>>2]+102868|0,J[b+4>>2]);b=c;if(b){continue}break}}J[a+112>>2]=0}}function Oc(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!J[J[6506]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){H[a+1|0]=b&63|128;H[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){H[a+2|0]=b&63|128;H[a|0]=b>>>12|224;H[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){H[a+3|0]=b&63|128;H[a|0]=b>>>18|240;H[a+2|0]=b>>>6&63|128;H[a+1|0]=b>>>12&63|128;a=4;break a}}J[6204]=25;a=-1}else{a=1}break a}H[a|0]=b;a=1}return a}function qh(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-128|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7499,0);J[b+112>>2]=e;Ya(7810,b+112|0);J[b+96>>2]=d;Ya(7784,b+96|0);J[b+80>>2]=K[a+61|0];Ya(8820,b+80|0);c=N[a+68>>2];O[b+72>>3]=N[a+72>>2];O[b+64>>3]=c;Ya(8226,b- -64|0);c=N[a+76>>2];O[b+56>>3]=N[a+80>>2];O[b+48>>3]=c;Ya(8119,b+48|0);O[b+32>>3]=N[a+96>>2];Ya(7184,b+32|0);O[b+16>>3]=N[a+100>>2];Ya(7005,b+16|0);J[b>>2]=J[a+56>>2];Ya(8499,b);La=b+128|0}function Lb(a,b){var c=0,d=0;d=b&255;a:{if(d){if(a&3){while(1){c=K[a|0];if(!c|(c|0)==(b&255)){break a}a=a+1|0;if(a&3){continue}break}}c=J[a>>2];b:{if((c^-1)&c-16843009&-2139062144){break b}d=P(d,16843009);while(1){c=c^d;if((c^-1)&c-16843009&-2139062144){break b}c=J[a+4>>2];a=a+4|0;if(!(c-16843009&(c^-1)&-2139062144)){continue}break}}while(1){c=a;d=K[a|0];if(d){a=c+1|0;if((d|0)!=(b&255)){continue}}break}a=c;break a}a=Xc(a)+a|0}return K[a|0]==(b&255)?a:0}function sd(a){a=a|0;var b=0,c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);b=J[a+52>>2];f=N[b+24>>2];c=J[a+48>>2];d=N[c+24>>2];g=N[a+76>>2];h=N[a+80>>2];i=N[b+20>>2];j=N[a+68>>2];k=N[a+72>>2];e=N[c+20>>2];l=N[a+84>>2];m=N[a+88>>2];return Q(Q(Q(Q(Q(N[b+12>>2]+Q(Q(f*g)-Q(h*i)))-Q(N[c+12>>2]+Q(Q(d*j)-Q(k*e))))*Q(Q(d*l)-Q(m*e)))+Q(Q(Q(Q(Q(i*g)+Q(f*h))+N[b+16>>2])-Q(Q(Q(e*j)+Q(d*k))+N[c+16>>2]))*Q(Q(e*l)+Q(d*m)))))}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0;c=L[b>>1]|L[b+2>>1]<<16;I[a+32>>1]=c;I[a+34>>1]=c>>>16;I[a+36>>1]=L[b+4>>1];d=J[a+8>>2];a:{if(!d){break a}b=J[d+112>>2];if(b){while(1){c=J[b+4>>2];if(!(J[c+48>>2]!=(a|0)&J[c+52>>2]!=(a|0))){J[c+4>>2]=J[c+4>>2]|8}b=J[b+12>>2];if(b){continue}break}}b=J[d+88>>2];if(!b|J[a+28>>2]<=0){break a}c=b+102868|0;b=0;while(1){wc(c,J[(J[a+24>>2]+P(b,28)|0)+24>>2]);b=b+1|0;if((b|0)>2]){continue}break}}}function Di(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=La-32|0;La=f;g=J[a+12>>2];if(!(H[23892]&1)){a=ba(5,20496)|0;H[23892]=1;J[5972]=a}h=J[5972];a=Xa(8);i=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=i;N[f+8>>2]=c;J[f>>2]=a;a=Xa(8);b=J[d+4>>2];J[a>>2]=J[d>>2];J[a+4>>2]=b;J[f+16>>2]=a;a=Xa(16);b=J[e+12>>2];J[a+8>>2]=J[e+8>>2];J[a+12>>2]=b;b=J[e+4>>2];J[a>>2]=J[e>>2];J[a+4>>2]=b;J[f+24>>2]=a;da(h|0,g|0,4601,f|0);La=f+32|0}function ri(a,b){a=a|0;b=b|0;var c=0;b=eb(b,48);J[b+4>>2]=1;J[b+8>>2]=1008981770;J[b>>2]=11960;J[b+28>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;H[b+44|0]=0;c=J[a+8>>2];J[b+4>>2]=J[a+4>>2];J[b+8>>2]=c;c=J[a+16>>2];J[b+12>>2]=J[a+12>>2];J[b+16>>2]=c;c=J[a+24>>2];J[b+20>>2]=J[a+20>>2];J[b+24>>2]=c;c=J[a+32>>2];J[b+28>>2]=J[a+28>>2];J[b+32>>2]=c;c=J[a+40>>2];J[b+36>>2]=J[a+36>>2];J[b+40>>2]=c;H[b+44|0]=K[a+44|0];return b|0}function Ci(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=La-32|0;La=e;f=J[a+12>>2];if(!(H[23900]&1)){a=ba(4,20528)|0;H[23900]=1;J[5974]=a}g=J[5974];a=Xa(8);h=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=h;J[e+8>>2]=a;a=Xa(8);b=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=b;J[e+16>>2]=a;a=Xa(16);b=J[d+12>>2];J[a+8>>2]=J[d+8>>2];J[a+12>>2]=b;b=J[d+4>>2];J[a>>2]=J[d>>2];J[a+4>>2]=b;J[e+24>>2]=a;da(g|0,f|0,1806,e+8|0);La=e+32|0}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=La-32|0;La=d;e=J[b>>2];if(e>>>0<2147483632){a:{if(e>>>0<=10){H[d+27|0]=e;f=d+16|0;break a}g=(e|15)+1|0;f=Xa(g);J[d+24>>2]=g|-2147483648;J[d+16>>2]=f;J[d+20>>2]=e}h=rb(f,b+4|0,e)+e|0,i=0,H[h|0]=i;J[d+12>>2]=c;Na[a|0](d+28|0,d+16|0,d+12|0);ya(J[d+28>>2]);a=J[d+28>>2];ga(a|0);ga(J[d+12>>2]);if(H[d+27|0]<0){ab(J[d+16>>2])}La=d+32|0;return a|0}ma();B()}function $f(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-112|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7574,0);J[b+96>>2]=e;Ya(7810,b+96|0);J[b+80>>2]=d;Ya(7784,b+80|0);J[b+64>>2]=K[a+61|0];Ya(8820,b- -64|0);c=N[a+68>>2];O[b+56>>3]=N[a+72>>2];O[b+48>>3]=c;Ya(8226,b+48|0);c=N[a+76>>2];O[b+40>>3]=N[a+80>>2];O[b+32>>3]=c;Ya(8119,b+32|0);O[b+16>>3]=N[a+84>>2];Ya(6902,b+16|0);J[b>>2]=J[a+56>>2];Ya(8499,b);La=b+112|0}function oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);k=N[c>>2];h=N[a+8>>2];e=N[c+8>>2];f=N[a+12>>2];i=N[c+12>>2];l=N[a+16>>2];g=N[c+4>>2];j=Q(Q(Q(e*f)+Q(i*l))+g);m=N[a+20>>2];n=N[a+24>>2];g=Q(g+Q(Q(e*m)+Q(i*n)));N[b+12>>2]=h+(g>2]=h+(e>2]=(g>j?j:g)-h;N[b>>2]=(e>f?f:e)-h}function gc(a,b,c){var d=0,e=0;a:{b:{c:{d:{switch(J[b+4>>2]){case 0:J[a+16>>2]=b+12;c=1;break b;case 2:J[a+16>>2]=b+20;c=J[b+148>>2];break b;case 3:d=J[b+12>>2]+(c<<3)|0;e=J[d+4>>2];J[a>>2]=J[d>>2];J[a+4>>2]=e;c=c+1|0;c=J[b+12>>2]+(((c|0)>2]?c:0)<<3)|0;d=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=d;J[a+16>>2]=a;break c;case 1:break d;default:break a}}J[a+16>>2]=b+12}c=2}J[a+20>>2]=c;N[a+24>>2]=N[b+8>>2]}}function Jd(a,b,c){var d=0,e=0,f=0;J[b+4>>2]=1;N[b+8>>2]=N[a+8>>2];f=c<<3;d=f+J[a+12>>2]|0;e=J[d+4>>2];J[b+12>>2]=J[d>>2];J[b+16>>2]=e;d=J[a+12>>2]+f|0;e=J[d+8>>2];d=J[d+12>>2];H[b+44|0]=1;J[b+20>>2]=e;J[b+24>>2]=d;d=(c|0)>0?(J[a+12>>2]+f|0)-8|0:a+20|0;e=J[d+4>>2];J[b+28>>2]=J[d>>2];J[b+32>>2]=e;a=(J[a+16>>2]-2|0)>(c|0)?(J[a+12>>2]+f|0)+16|0:a+28|0;c=J[a+4>>2];J[b+36>>2]=J[a>>2];J[b+40>>2]=c}function tc(a,b){var c=0,d=0;c=J[a+12>>2];c=Na[J[J[c>>2]+12>>2]](c)|0;Ib(b,J[a+24>>2],P(c,28));J[a+24>>2]=0;a:{b:{c:{d:{e:{f:{c=J[a+12>>2];switch(J[c+4>>2]){case 3:break c;case 2:break d;case 1:break e;case 0:break f;default:break a}}Na[J[J[c>>2]>>2]](c)|0;d=20;break b}Na[J[J[c>>2]>>2]](c)|0;d=48;break b}Na[J[J[c>>2]>>2]](c)|0;d=152;break b}Na[J[J[c>>2]>>2]](c)|0;d=36}Ib(b,c,d)}J[a+12>>2]=0}function th(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=La-112|0;La=b;c=J[J[a+72>>2]+56>>2];d=J[J[a+68>>2]+56>>2];e=J[J[a+52>>2]+8>>2];f=J[J[a+48>>2]+8>>2];Ya(7477,0);J[b+96>>2]=f;Ya(7810,b+96|0);J[b+80>>2]=e;Ya(7784,b+80|0);J[b+64>>2]=K[a+61|0];Ya(8820,b- -64|0);J[b+48>>2]=d;Ya(7757,b+48|0);J[b+32>>2]=c;Ya(7730,b+32|0);O[b+16>>3]=N[a+152>>2];Ya(6746,b+16|0);J[b>>2]=J[a+56>>2];Ya(8499,b);La=b+112|0}function jb(a,b,c){var d=0,e=0,f=0;if(!(K[a|0]&32)){a:{d=b;b=a;a=J[b+16>>2];b:{if(!a){if(Wc(b)){break b}a=J[b+16>>2]}f=J[b+20>>2];if(a-f>>>0>>0){Na[J[b+36>>2]](b,d,c)|0;break a}c:{if(J[b+80>>2]<0){break c}a=c;while(1){e=a;if(!a){break c}a=e-1|0;if(K[d+a|0]!=10){continue}break}if(Na[J[b+36>>2]](b,d,e)>>>0>>0){break b}d=d+e|0;c=c-e|0;f=J[b+20>>2]}rb(f,d,c);J[b+20>>2]=J[b+20>>2]+c}}}}function Si(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=Q(e);var f=0,g=0,h=0,i=0;f=La-48|0;La=f;g=J[a+8>>2];if(!(H[23852]&1)){a=ba(5,19776)|0;H[23852]=1;J[5962]=a}h=J[5962];J[f+16>>2]=b;a=Xa(8);b=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=b;J[f+24>>2]=a;a=Xa(8);b=J[d+4>>2];J[a>>2]=J[d>>2];J[a+4>>2]=b;N[f+40>>2]=e;J[f+32>>2]=a;i=+wa(h|0,g|0,4277,f+12|0,f+16|0);va(J[f+12>>2]);La=f+48|0;return Q(Q(i))}function Gb(a,b,c,d,e){var f=Q(0),g=Q(0);J[a+60>>2]=e;J[a+56>>2]=c;J[a+52>>2]=d;J[a+48>>2]=b;J[a+4>>2]=4;J[a+8>>2]=0;J[a+12>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;J[a>>2]=12384;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;N[a+136>>2]=Y(Q(N[b+16>>2]*N[d+16>>2]));f=N[d+20>>2];g=N[b+20>>2];J[a+144>>2]=0;N[a+140>>2]=f>2]=0;J[a+8>>2]=0;J[a>>2]=1;J[a+56>>2]=0;J[a+60>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0;H[a+13|0]=0;H[a+14|0]=0;H[a+15|0]=0;H[a+16|0]=0;J[a+28>>2]=0;J[a+32>>2]=0;H[a+33|0]=0;H[a+34|0]=0;H[a+35|0]=0;H[a+36|0]=0;H[a+37|0]=0;H[a+38|0]=0;H[a+39|0]=0;H[a+40|0]=0;H[a+52|0]=0;return a|0}function hl(a){a=a|0;var b=0,c=0,d=0;if(a){b=a;c=J[a+102948>>2];if(c){while(1){a=J[c+100>>2];c=J[c+96>>2];if(a){while(1){J[a+28>>2]=0;d=J[a+4>>2];tc(a,b);a=d;if(a){continue}break}}if(c){continue}break}}a=b+102868|0;ab(J[a+32>>2]);ab(J[a+44>>2]);ab(J[a+4>>2]);a=0;if(J[b+4>>2]>0){while(1){ab(J[(J[b>>2]+(a<<3)|0)+4>>2]);a=a+1|0;if((a|0)>2]){continue}break}}ab(J[b>>2]);ab(b)}}function jk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=Q(0);a:{if(J[a>>2]!=2){break a}f=!d;d=L[a+4>>1];if(!(f|d&2)){J[a+144>>2]=0;d=d|2;I[a+4>>1]=d}if(!(d&2)){break a}g=N[b+4>>2];e=N[a+120>>2];N[a+64>>2]=Q(e*N[b>>2])+N[a+64>>2];N[a+68>>2]=Q(e*g)+N[a+68>>2];N[a+72>>2]=Q(N[a+128>>2]*Q(Q(Q(N[c>>2]-N[a+44>>2])*N[b+4>>2])-Q(N[b>>2]*Q(N[c+4>>2]-N[a+48>>2]))))+N[a+72>>2]}}function Ei(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;var e=0,f=0,g=0,h=0;e=La-32|0;La=e;f=J[a+12>>2];if(!(H[23884]&1)){a=ba(4,20480)|0;H[23884]=1;J[5970]=a}g=J[5970];a=Xa(8);h=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=h;N[e+16>>2]=c;J[e+8>>2]=a;a=Xa(16);b=J[d+12>>2];J[a+8>>2]=J[d+8>>2];J[a+12>>2]=b;b=J[d+4>>2];J[a>>2]=J[d>>2];J[a+4>>2]=b;J[e+24>>2]=a;da(g|0,f|0,4590,e+8|0);La=e+32|0}function Ai(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;var e=0,f=0,g=0,h=0;e=La-32|0;La=e;f=J[a+12>>2];if(!(H[23884]&1)){a=ba(4,20480)|0;H[23884]=1;J[5970]=a}g=J[5970];a=Xa(8);h=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=h;N[e+16>>2]=c;J[e+8>>2]=a;a=Xa(16);b=J[d+12>>2];J[a+8>>2]=J[d+8>>2];J[a+12>>2]=b;b=J[d+4>>2];J[a>>2]=J[d>>2];J[a+4>>2]=b;J[e+24>>2]=a;da(g|0,f|0,1560,e+8|0);La=e+32|0}function Bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=J[c+8>>2];e=J[b+8>>2];if(!(J[a>>2]|J[e>>2])){return 0}a=J[a+108>>2];a:{if(a){while(1){d=0;if(!(K[J[a+4>>2]+61|0]|(e|0)!=J[a>>2])){break a}a=J[a+12>>2];if(a){continue}break}}d=1}if(d){a=I[b+36>>1];if(!(!a|L[c+36>>1]!=(a&65535))){return(a|0)>0|0}a=(L[c+32>>1]&L[b+34>>1])!=0&(L[c+34>>1]&L[b+32>>1])!=0}else{a=0}return a|0}function mj(){var a=0;a=Xa(76);J[a+4>>2]=0;J[a+8>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a>>2]=7;J[a+48>>2]=0;J[a+52>>2]=0;H[a+44|0]=0;J[a+36>>2]=1065353216;J[a+40>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0;H[a+13|0]=0;H[a+14|0]=0;H[a+15|0]=0;H[a+16|0]=0;J[a+28>>2]=0;J[a+32>>2]=0;H[a+56|0]=0;J[a+68>>2]=0;J[a+72>>2]=0;return a|0}function hf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(gb(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(!gb(a,J[b>>2],e)){break a}if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+20>>2]=c;J[b+32>>2]=d;J[b+40>>2]=J[b+40>>2]+1;if(!(J[b+36>>2]!=1|J[b+24>>2]!=2)){H[b+54|0]=1}J[b+44>>2]=4}}function Ah(a){a=a|0;var b=0,c=0,d=0;a:{d=J[a+8>>2];if(!d){break a}b=J[d+112>>2];if(b){while(1){c=J[b+4>>2];if(!(J[c+48>>2]!=(a|0)&J[c+52>>2]!=(a|0))){J[c+4>>2]=J[c+4>>2]|8}b=J[b+12>>2];if(b){continue}break}}b=J[d+88>>2];if(!b|J[a+28>>2]<=0){break a}c=b+102868|0;b=0;while(1){wc(c,J[(J[a+24>>2]+P(b,28)|0)+24>>2]);b=b+1|0;if((b|0)>2]){continue}break}}}function li(a,b,c){a=a|0;b=Q(b);c=Q(c);var d=Q(0);J[a+84>>2]=0;J[a+88>>2]=-1082130432;J[a+148>>2]=4;J[a+12>>2]=0;J[a+16>>2]=0;J[a+108>>2]=-1082130432;J[a+112>>2]=0;J[a+100>>2]=0;J[a+104>>2]=1065353216;J[a+92>>2]=1065353216;J[a+96>>2]=0;N[a+48>>2]=c;d=Q(-b);N[a+44>>2]=d;N[a+40>>2]=c;N[a+36>>2]=b;c=Q(-c);N[a+32>>2]=c;N[a+28>>2]=b;N[a+24>>2]=c;N[a+20>>2]=d}function Fb(a,b){var c=0,d=0,e=0,f=0;f=a+102412|0;c=J[a+102796>>2];J[(f+P(c,12)|0)+4>>2]=b;d=J[a+102400>>2];e=d+b|0;a:{if((e|0)>=102401){e=1;d=fb(b);break a}J[a+102400>>2]=e;e=0;d=a+d|0}c=f+P(c,12)|0;H[c+8|0]=e;J[c>>2]=d;b=J[a+102404>>2]+b|0;J[a+102404>>2]=b;J[a+102796>>2]=J[a+102796>>2]+1;c=a;a=J[a+102408>>2];J[c+102408>>2]=(a|0)>(b|0)?a:b;return d}function zj(){var a=0;a=Xa(72);J[a+4>>2]=0;J[a+8>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a>>2]=2;J[a+64>>2]=0;J[a+68>>2]=0;J[a+36>>2]=1065353216;J[a+52>>2]=0;J[a+56>>2]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0;H[a+13|0]=0;H[a+14|0]=0;H[a+15|0]=0;H[a+16|0]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;H[a+48|0]=0;H[a+60|0]=0;return a|0}function oc(a,b,c,d){H[a+53|0]=1;a:{if(J[a+4>>2]!=(c|0)){break a}H[a+52|0]=1;c=J[a+16>>2];b:{if(!c){J[a+36>>2]=1;J[a+24>>2]=d;J[a+16>>2]=b;if((d|0)!=1){break a}if(J[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=J[a+24>>2];if((c|0)==2){J[a+24>>2]=d;c=d}if(J[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}J[a+36>>2]=J[a+36>>2]+1}H[a+54|0]=1}}function dd(a,b,c,d,e,f){var g=0,h=0;J[a+48>>2]=d;J[a+44>>2]=c;J[a+40>>2]=b;J[a+36>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+4>>2]=f;J[a>>2]=e;g=a,h=Fb(e,b<<2),J[g+8>>2]=h;g=a,h=Fb(J[a>>2],c<<2),J[g+12>>2]=h;g=a,h=Fb(J[a>>2],d<<2),J[g+16>>2]=h;g=a,h=Fb(J[a>>2],P(J[a+40>>2],12)),J[g+24>>2]=h;g=a,h=Fb(J[a>>2],P(J[a+40>>2],12)),J[g+20>>2]=h;return a}function cc(a,b){a:{if((b|0)>=1024){a=a*898846567431158e293;if(b>>>0<2047){b=b-1023|0;break a}a=a*898846567431158e293;b=((b|0)>=3069?3069:b)-2046|0;break a}if((b|0)>-1023){break a}a=a*2004168360008973e-307;if(b>>>0>4294965304){b=b+969|0;break a}a=a*2004168360008973e-307;b=((b|0)<=-2960?-2960:b)+1938|0}x(0,0);x(1,b+1023<<20);return a*+z()}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=La+-64|0;La=d;e=1;a:{if(gb(a,b,0)){break a}e=0;if(!b){break a}b=sb(b,18020);e=0;if(!b){break a}Db(d+12|0,0,52);J[d+56>>2]=1;J[d+20>>2]=-1;J[d+16>>2]=a;J[d+8>>2]=b;Na[J[J[b>>2]+28>>2]](b,d+8|0,J[c>>2],1);a=J[d+32>>2];if((a|0)==1){J[c>>2]=J[d+24>>2]}e=(a|0)==1}a=e;La=d- -64|0;return a|0}function ze(){var a=0,b=0;J[5957]=0;J[5956]=719;oe();J[5957]=J[6200];J[6200]=23824;H[23924]=0;a=1;while(1){b=(J[(b<<2)+12096>>2]<(a|0))+b|0;H[a+23924|0]=b;b=b+(J[(b<<2)+12096>>2]<=(a|0))|0;H[a+23925|0]=b;a=a+2|0;if((a|0)!=641){continue}break}J[6201]=919;J[6202]=0;_c();J[6202]=J[6200];J[6200]=24804;J[6506]=24852;J[6488]=42}function Ge(a){a=a|0;var b=Q(0),c=Q(0),d=Q(0),e=Q(0),f=0;c=N[a+8>>2];b=N[a>>2];a:{if(!(Q(c-b)>=Q(0))){break a}d=N[a+12>>2];e=N[a+4>>2];if(!(Q(d-e)>=Q(0))){break a}b=Q(R(b));if(!(b>Q(Infinity)|bQ(Infinity)|b>2]=12836;c=J[b>>2];J[a+8>>2]=0;J[a+12>>2]=0;J[a+4>>2]=c;J[a+48>>2]=J[b+8>>2];c=J[b+12>>2];J[a+56>>2]=0;J[a+52>>2]=c;c=K[b+16|0];H[a+60|0]=0;H[a+61|0]=c;b=J[b+4>>2];J[a+16>>2]=0;J[a+20>>2]=0;J[a+64>>2]=b;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;return a}function Gi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=La-32|0;La=e;f=J[a+12>>2];if(!(H[23876]&1)){a=ba(4,20464)|0;H[23876]=1;J[5968]=a}g=J[5968];J[e+16>>2]=c;J[e+8>>2]=b;a=Xa(16);b=J[d+12>>2];J[a+8>>2]=J[d+8>>2];J[a+12>>2]=b;b=J[d+4>>2];J[a>>2]=J[d>>2];J[a+4>>2]=b;J[e+24>>2]=a;da(g|0,f|0,3150,e+8|0);La=e+32|0}function Fi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=La-32|0;La=e;f=J[a+12>>2];if(!(H[23876]&1)){a=ba(4,20464)|0;H[23876]=1;J[5968]=a}g=J[5968];J[e+16>>2]=c;J[e+8>>2]=b;a=Xa(16);b=J[d+12>>2];J[a+8>>2]=J[d+8>>2];J[a+12>>2]=b;b=J[d+4>>2];J[a>>2]=J[d>>2];J[a+4>>2]=b;J[e+24>>2]=a;da(g|0,f|0,3162,e+8|0);La=e+32|0}function nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a:{if(J[a>>2]!=2){break a}e=!d;d=L[a+4>>1];if(!(e|d&2)){J[a+144>>2]=0;d=d|2;I[a+4>>1]=d}if(!(d&2)){break a}N[a+76>>2]=N[b>>2]+N[a+76>>2];N[a+80>>2]=N[b+4>>2]+N[a+80>>2];N[a+84>>2]=N[a+84>>2]+Q(Q(Q(N[c>>2]-N[a+44>>2])*N[b+4>>2])-Q(N[b>>2]*Q(N[c+4>>2]-N[a+48>>2])))}}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);i=N[b+48>>2];j=N[b+16>>2];k=N[b+64>>2];d=N[b+72>>2];e=N[b+24>>2];f=N[c>>2];g=N[c+4>>2];h=N[b+20>>2];N[a+4>>2]=Q(d*Q(Q(N[b+12>>2]+Q(Q(e*f)-Q(g*h)))-N[b+44>>2]))+N[b+68>>2];N[a>>2]=k-Q(d*Q(Q(j+Q(Q(h*f)+Q(e*g)))-i))}function Xc(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!K[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(K[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=J[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(K[b|0]){continue}break}}return b-a|0}function vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);e=N[c>>2];g=N[c+8>>2];h=N[a+12>>2];i=N[c+12>>2];j=N[a+16>>2];k=Q(N[c+4>>2]+Q(Q(g*h)+Q(i*j)));f=N[a+8>>2];N[b+12>>2]=k+f;e=Q(e+Q(Q(i*h)-Q(j*g)));N[b+8>>2]=f+e;N[b+4>>2]=k-f;N[b>>2]=e-f}function Bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=La-16|0;La=c;e=J[a+12>>2];if(!(H[23908]&1)){a=ba(2,20544)|0;H[23908]=1;J[5976]=a}f=J[5976];a=Xa(16);d=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=d;d=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=d;J[c+8>>2]=a;da(f|0,e|0,3191,c+8|0);La=c+16|0}function Rd(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0);c=N[a+16>>2];d=N[a>>2];e=N[a+4>>2];f=N[a+12>>2];J[b+8>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;g=c;c=Q(Q(d*c)-Q(e*f));c=c!=Q(0)?Q(Q(1)/c):c;N[b>>2]=g*c;N[b+16>>2]=d*c;c=Q(-c);N[b+12>>2]=f*c;N[b+4>>2]=e*c}function Dj(){var a=0;a=Xa(44);J[a+4>>2]=0;J[a+8>>2]=0;J[a+36>>2]=1065353216;J[a+40>>2]=1050253722;J[a+28>>2]=0;J[a+32>>2]=1065353216;J[a+20>>2]=0;J[a+24>>2]=0;J[a>>2]=11;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0;H[a+13|0]=0;H[a+14|0]=0;H[a+15|0]=0;H[a+16|0]=0;return a|0}function gb(a,b,c){var d=0;if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}d=J[a+4>>2];a=K[d|0];c=J[b+4>>2];b=K[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=K[c+1|0];a=K[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function ui(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0),e=0,f=Q(0),g=Q(0);d=N[a+8>>2];c=Q(d*Q(d*Q(c*Q(3.1415927410125732))));N[b>>2]=c;e=J[a+16>>2];J[b+4>>2]=J[a+12>>2];J[b+8>>2]=e;d=c;c=N[a+8>>2];f=Q(Q(c*Q(.5))*c);c=N[a+12>>2];g=Q(c*c);c=N[a+16>>2];N[b+12>>2]=d*Q(f+Q(g+Q(c*c)))}function Fj(){var a=0;a=Xa(48);J[a+4>>2]=0;J[a+8>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a>>2]=3;J[a+44>>2]=0;J[a+36>>2]=1065353216;J[a+40>>2]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0;H[a+13|0]=0;H[a+14|0]=0;H[a+15|0]=0;H[a+16|0]=0;J[a+28>>2]=0;J[a+32>>2]=0;return a|0}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=La-48|0;La=e;f=J[J[a+48>>2]+12>>2];J[e+36>>2]=0;J[e+40>>2]=0;H[e+44|0]=0;J[e+28>>2]=0;J[e+32>>2]=0;J[e+4>>2]=1;J[e+8>>2]=1008981770;J[e>>2]=11960;Jd(f,e,J[a+56>>2]);Id(b,e,c,J[J[a+52>>2]+12>>2],d);La=e+48|0}function Nh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=La-48|0;La=e;f=J[J[a+48>>2]+12>>2];J[e+36>>2]=0;J[e+40>>2]=0;H[e+44|0]=0;J[e+28>>2]=0;J[e+32>>2]=0;J[e+4>>2]=1;J[e+8>>2]=1008981770;J[e>>2]=11960;Jd(f,e,J[a+56>>2]);Hd(b,e,c,J[J[a+52>>2]+12>>2],d);La=e+48|0}function nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(gb(a,J[b+8>>2],0)){pc(b,c,d);return}e=J[a+12>>2];f=a+16|0;Mc(f,b,c,d);a=a+24|0;e=(e<<3)+f|0;a:{if(a>>>0>=e>>>0){break a}while(1){Mc(a,b,c,d);if(K[b+54|0]){break a}a=a+8|0;if(e>>>0>a>>>0){continue}break}}}function xi(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);d=N[b+12>>2];e=N[a+12>>2];f=N[a+16>>2];g=N[b+8>>2];h=Q(N[c>>2]-Q(N[b>>2]+Q(Q(d*e)-Q(f*g))));d=Q(N[c+4>>2]-Q(N[b+4>>2]+Q(Q(g*e)+Q(d*f))));e=Q(Q(h*h)+Q(d*d));d=N[a+8>>2];return e<=Q(d*d)|0}function Cg(a,b,c){a=a|0;b=Q(b);c=Q(c);var d=0;if(!(N[a+124>>2]==b&N[a+128>>2]==c)){d=J[a+48>>2];if(J[d>>2]){J[d+144>>2]=0;I[d+4>>1]=L[d+4>>1]|2}d=J[a+52>>2];if(J[d>>2]){J[d+144>>2]=0;I[d+4>>1]=L[d+4>>1]|2}N[a+128>>2]=c;N[a+124>>2]=b;J[a+116>>2]=0;J[a+120>>2]=0}}function pj(){var a=0;a=Xa(48);J[a+4>>2]=0;J[a+8>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a>>2]=8;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0;H[a+13|0]=0;H[a+14|0]=0;H[a+15|0]=0;H[a+16|0]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;return a|0}function gg(a,b,c){a=a|0;b=Q(b);c=Q(c);var d=0;if(!(N[a+124>>2]==b&N[a+128>>2]==c)){d=J[a+48>>2];if(J[d>>2]){J[d+144>>2]=0;I[d+4>>1]=L[d+4>>1]|2}d=J[a+52>>2];if(J[d>>2]){J[d+144>>2]=0;I[d+4>>1]=L[d+4>>1]|2}N[a+128>>2]=c;N[a+124>>2]=b;J[a+96>>2]=0;J[a+100>>2]=0}}function ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=0,f=Q(0);a:{if(J[a>>2]!=2){break a}e=!c;c=L[a+4>>1];if(!(e|c&2)){J[a+144>>2]=0;c=c|2;I[a+4>>1]=c}if(!(c&2)){break a}f=N[b+4>>2];d=N[a+120>>2];N[a+64>>2]=Q(d*N[b>>2])+N[a+64>>2];N[a+68>>2]=Q(d*f)+N[a+68>>2]}}function sj(){var a=0;a=Xa(40);J[a+4>>2]=0;J[a+8>>2]=0;J[a+36>>2]=0;J[a+28>>2]=1065353216;J[a+32>>2]=0;J[a+20>>2]=-1082130432;J[a+24>>2]=0;J[a>>2]=10;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0;H[a+13|0]=0;H[a+14|0]=0;H[a+15|0]=0;H[a+16|0]=0;return a|0}function Kb(a,b,c){var d=0,e=0,f=0,g=0;if(b){while(1){c=c-1|0;e=a;a=ll(a,b,10);d=Ma;f=c,g=e-kl(a,d,10,0)|48,H[f|0]=g;e=b>>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;H[c|0]=a-P(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function Bj(){var a=0;a=Xa(40);J[a+4>>2]=0;J[a+8>>2]=0;J[a+36>>2]=1060320051;J[a+28>>2]=0;J[a+32>>2]=1084227584;J[a+20>>2]=0;J[a+24>>2]=0;J[a>>2]=5;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0;H[a+13|0]=0;H[a+14|0]=0;H[a+15|0]=0;H[a+16|0]=0;return a|0}function ch(a,b){a=a|0;b=b|0;var c=0;if(!(N[b>>2]==N[a+68>>2]&N[b+4>>2]==N[a+72>>2])){c=J[a+48>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[a+52>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[b+4>>2];J[a+68>>2]=J[b>>2];J[a+72>>2]=c}}function Vc(a,b){var c=0,d=0,e=0;A(+a);d=v(1)|0;e=v(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=Vc(a*0x10000000000000000,b);c=J[b>>2]+-64|0}J[b>>2]=c;return a}J[b>>2]=c-1022;x(0,e|0);x(1,d&-2146435073|1071644672);a=+z()}return a}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=a+16|0;a=J[d>>2];a:{b:{if(!a){break b}c=d;while(1){e=M[a+16>>2]>>0;c=e?c:a;a=J[(e?a+4|0:a)>>2];if(a){continue}break}if((c|0)==(d|0)){break b}if(M[c+16>>2]<=b>>>0){break a}}c=d}return(c|0)!=(d|0)|0}function Sd(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0);e=N[b>>2];f=N[b+16>>2];g=N[b+4>>2];h=N[b+12>>2];d=Q(Q(e*f)-Q(g*h));d=d!=Q(0)?Q(Q(1)/d):d;j=e;e=N[c+4>>2];i=N[c>>2];N[a+4>>2]=d*Q(Q(j*e)-Q(i*g));N[a>>2]=d*Q(Q(f*i)-Q(e*h))}function Yh(a,b,c){a=a|0;b=b|0;c=Q(c);var d=0;d=La-32|0;La=d;I[d+30>>1]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;I[d+26>>1]=1;I[d+28>>1]=65535;J[d+8>>2]=0;J[d+12>>2]=1045220557;J[d+4>>2]=b;N[d+20>>2]=c;a=Ld(a,d+4|0);La=d+32|0;return a|0}function Eb(a,b){var c=0,d=0,e=0;c=J[a+102796>>2];d=P(c,12)+a|0;e=d+102412|0;a:{if(K[d+102408|0]){ab(b);b=J[e-8>>2];c=J[a+102796>>2];break a}b=J[e-8>>2];J[a+102400>>2]=J[a+102400>>2]-b}J[a+102796>>2]=c-1;J[a+102404>>2]=J[a+102404>>2]-b}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0);d=N[c>>2];e=N[b>>2];f=N[b+4>>2];g=N[c+4>>2];N[a+4>>2]=f>2]=d>e?e:d;d=N[c+8>>2];e=N[b+8>>2];f=N[b+12>>2];g=N[c+12>>2];N[a+12>>2]=f>g?f:g;N[a+8>>2]=d>2];g=N[b+192>>2];d=N[b+104>>2];e=Q(Q(N[b+112>>2]+N[b+116>>2])+N[b+120>>2]);N[a+4>>2]=Q(Q(d*N[b+196>>2])+Q(e*N[b+188>>2]))*c;N[a>>2]=Q(Q(d*g)+Q(f*e))*c}function Tc(a){var b=0,c=0,d=0;if(H[J[a>>2]]-48>>>0>=10){return 0}while(1){d=J[a>>2];c=-1;if(b>>>0<=214748364){c=H[d|0]-48|0;b=P(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}J[a>>2]=d+1;b=c;if(H[d+1|0]-48>>>0<10){continue}break}return b}function yk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){d=J[d+J[b>>2]>>2]}a=Na[d|0](b,c)|0;b=Xa(16);c=J[a+12>>2];J[b+8>>2]=J[a+8>>2];J[b+12>>2]=c;c=J[a+4>>2];J[b>>2]=J[a>>2];J[b+4>>2]=c;return b|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=La-16|0;La=d;e=a;a=J[b>>2];if(J[b+4>>2]-a>>3>>>0>c>>>0){b=Xa(8);c=a+(c<<3)|0;a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[d+8>>2]=b;a=za(18924,d+8|0)|0}else{a=1}J[e>>2]=a;La=d+16|0}function pe(a,b,c){a=a|0;b=b|0;c=Q(c);var d=0,e=0,f=0;d=La-16|0;La=d;e=J[a>>2];f=d+8|0;a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){e=J[e+J[b>>2]>>2]}Na[e|0](f,b,c);a=Xa(8);b=J[d+12>>2];J[a>>2]=J[d+8>>2];J[a+4>>2]=b;La=d+16|0;return a|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=La-16|0;La=d;e=J[a>>2];f=d+8|0;a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){e=J[e+J[b>>2]>>2]}Na[e|0](f,b,c);a=Xa(8);b=J[d+12>>2];J[a>>2]=J[d+8>>2];J[a+4>>2]=b;La=d+16|0;return a|0}function Dg(a,b){a=a|0;b=b|0;var c=0;if(K[a+140|0]!=(b|0)){c=J[a+48>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[a+52>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}J[a+116>>2]=0;J[a+120>>2]=0;H[a+140|0]=b}}function hg(a,b){a=a|0;b=b|0;var c=0;if(K[a+116|0]!=(b|0)){c=J[a+48>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[a+52>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}J[a+96>>2]=0;J[a+100>>2]=0;H[a+116|0]=b}}function Hf(a,b){a=a|0;b=b|0;a:{if(K[a+102972|0]==(b|0)){break a}H[a+102972|0]=b;if(b){break a}b=J[a+102948>>2];if(!b){break a}while(1){if(J[b>>2]){J[b+144>>2]=0;I[b+4>>1]=L[b+4>>1]|2}b=J[b+96>>2];if(b){continue}break}}}function tk(a,b){a=a|0;b=b|0;var c=0;c=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){c=J[c+J[b>>2]>>2]}a=Na[c|0](b)|0;b=Xa(16);c=J[a+12>>2];J[b+8>>2]=J[a+8>>2];J[b+12>>2]=c;c=J[a+4>>2];J[b>>2]=J[a>>2];J[b+4>>2]=c;return b|0}function Vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=La-16|0;La=c;a=J[a+8>>2];if(!(H[23844]&1)){d=ba(2,19540)|0;H[23844]=1;J[5960]=d}d=J[5960];J[c+8>>2]=b;e=+wa(d|0,a|0,4277,c+4|0,c+8|0);va(J[c+4>>2]);La=c+16|0;return e!=0|0}function Ce(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0);d=N[b>>2];c=N[a+4>>2];e=N[b+4>>2];N[a+4>>2]=c>2];N[a>>2]=c>2];c=N[a+12>>2];e=N[b+12>>2];N[a+12>>2]=c>e?c:e;c=N[a+8>>2];N[a+8>>2]=c>d?c:d}function Bd(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);c=J[b+52>>2];h=N[c+12>>2];d=N[c+20>>2];e=N[b+100>>2];f=N[c+24>>2];g=N[b+104>>2];N[a+4>>2]=Q(Q(d*e)+Q(f*g))+N[c+16>>2];N[a>>2]=h+Q(Q(f*e)-Q(g*d))}function wk(){var a=0;a=Xa(52);J[a+4>>2]=0;J[a+8>>2]=0;J[a+44>>2]=0;J[a+48>>2]=1065353216;J[a+36>>2]=257;H[a+40|0]=1;J[a>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;return a|0}function kl(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=P(e,f);g=c&65535;h=a&65535;i=P(g,h);f=(i>>>16|0)+P(f,g)|0;e=(f&65535)+P(e,h)|0;Ma=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function yi(a,b){a=a|0;b=b|0;var c=0;b=eb(b,20);J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=11892;J[b+12>>2]=0;J[b+16>>2]=0;c=J[a+8>>2];J[b+4>>2]=J[a+4>>2];J[b+8>>2]=c;c=J[a+16>>2];J[b+12>>2]=J[a+12>>2];J[b+16>>2]=c;return b|0}function mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(J[a>>2]!=2){break a}d=!c;c=L[a+4>>1];if(!(d|c&2)){J[a+144>>2]=0;c=c|2;I[a+4>>1]=c}if(!(c&2)){break a}N[a+76>>2]=N[b>>2]+N[a+76>>2];N[a+80>>2]=N[b+4>>2]+N[a+80>>2]}}function Vg(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);c=J[b+52>>2];h=N[c+12>>2];d=N[c+20>>2];e=N[b+68>>2];f=N[c+24>>2];g=N[b+72>>2];N[a+4>>2]=Q(Q(d*e)+Q(f*g))+N[c+16>>2];N[a>>2]=h+Q(Q(f*e)-Q(g*d))}function Qb(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);c=J[b+48>>2];h=N[c+12>>2];d=N[c+20>>2];e=N[b+68>>2];f=N[c+24>>2];g=N[b+72>>2];N[a+4>>2]=Q(Q(d*e)+Q(f*g))+N[c+16>>2];N[a>>2]=h+Q(Q(f*e)-Q(g*d))}function Pb(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);c=J[b+52>>2];h=N[c+12>>2];d=N[c+20>>2];e=N[b+76>>2];f=N[c+24>>2];g=N[b+80>>2];N[a+4>>2]=Q(Q(d*e)+Q(f*g))+N[c+16>>2];N[a>>2]=h+Q(Q(f*e)-Q(g*d))}function Gd(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);c=J[b+48>>2];h=N[c+12>>2];d=N[c+20>>2];e=N[b+80>>2];f=N[c+24>>2];g=N[b+84>>2];N[a+4>>2]=Q(Q(d*e)+Q(f*g))+N[c+16>>2];N[a>>2]=h+Q(Q(f*e)-Q(g*d))}function Fd(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);c=J[b+52>>2];h=N[c+12>>2];d=N[c+20>>2];e=N[b+88>>2];f=N[c+24>>2];g=N[b+92>>2];N[a+4>>2]=Q(Q(d*e)+Q(f*g))+N[c+16>>2];N[a>>2]=h+Q(Q(f*e)-Q(g*d))}function Cd(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);c=J[b+48>>2];h=N[c+12>>2];d=N[c+20>>2];e=N[b+92>>2];f=N[c+24>>2];g=N[b+96>>2];N[a+4>>2]=Q(Q(d*e)+Q(f*g))+N[c+16>>2];N[a>>2]=h+Q(Q(f*e)-Q(g*d))}function lc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=La-16|0;La=c;d=J[a>>2];e=c+8|0;a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){d=J[d+J[b>>2]>>2]}Na[d|0](e,b);a=Xa(8);b=J[c+12>>2];J[a>>2]=J[c+8>>2];J[a+4>>2]=b;La=c+16|0;return a|0}function mi(a,b){a=a|0;b=b|0;var c=0;b=eb(b,152);J[b+148>>2]=0;J[b+4>>2]=2;J[b+8>>2]=1008981770;J[b>>2]=12028;J[b+12>>2]=0;J[b+16>>2]=0;c=J[a+8>>2];J[b+4>>2]=J[a+4>>2];J[b+8>>2]=c;rb(b+12|0,a+12|0,140);return b|0}function Sj(a,b){a=a|0;b=b|0;var c=0;if(J[a>>2]){c=L[a+4>>1];if(b){J[a+144>>2]=0;I[a+4>>1]=c|2;return}J[a+144>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;I[a+4>>1]=c&65533;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0}}function Qi(a){a=a|0;var b=0,c=0;J[a>>2]=19996;ic(a+12|0,J[a+16>>2]);J[a>>2]=20028;if(K[a+4|0]){b=J[a+8>>2];if(!(H[23836]&1)){c=ba(1,19536)|0;H[23836]=1;J[5958]=c}da(J[5958],b|0,2030,0)}ga(J[a+8>>2]);return a|0}function pc(a,b,c){var d=0;d=J[a+16>>2];if(!d){J[a+36>>2]=1;J[a+24>>2]=c;J[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(J[a+24>>2]!=2){break a}J[a+24>>2]=c;return}H[a+54|0]=1;J[a+24>>2]=2;J[a+36>>2]=J[a+36>>2]+1}}function wc(a,b){var c=0,d=0;c=J[a+40>>2];if((c|0)==J[a+36>>2]){J[a+36>>2]=c<<1;d=J[a+32>>2];c=fb(c<<3);J[a+32>>2]=c;rb(c,d,J[a+40>>2]<<2);ab(d);c=J[a+40>>2]}J[J[a+32>>2]+(c<<2)>>2]=b;J[a+40>>2]=J[a+40>>2]+1}function ek(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0;c=N[a+116>>2];N[b>>2]=c;d=c;c=N[a+28>>2];e=Q(c*c);c=N[a+32>>2];N[b+12>>2]=Q(d*Q(e+Q(c*c)))+N[a+124>>2];f=J[a+32>>2];J[b+4>>2]=J[a+28>>2];J[b+8>>2]=f}function Pi(a){a=a|0;var b=0,c=0;J[a>>2]=19996;ic(a+12|0,J[a+16>>2]);J[a>>2]=20028;if(K[a+4|0]){b=J[a+8>>2];if(!(H[23836]&1)){c=ba(1,19536)|0;H[23836]=1;J[5958]=c}da(J[5958],b|0,2030,0)}ga(J[a+8>>2]);ab(a)}function kb(a,b,c,d,e){var f=0;f=La-256|0;La=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;Db(f,b&255,c?d:256);if(!c){while(1){jb(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}jb(a,f,d)}La=f+256|0}function Kk(a,b){a=a|0;b=b|0;var c=0;c=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){c=J[c+J[b>>2]>>2]}a=Na[c|0](b)|0;b=Xa(6);I[b+4>>1]=L[a+4>>1];a=L[a>>1]|L[a+2>>1]<<16;I[b>>1]=a;I[b+2>>1]=a>>>16;return b|0}function ck(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);h=N[b+12>>2];d=N[b+20>>2];e=N[c>>2];f=N[b+24>>2];g=N[c+4>>2];N[a+4>>2]=Q(Q(d*e)+Q(f*g))+N[b+16>>2];N[a>>2]=h+Q(Q(f*e)-Q(g*d))}function Rf(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0),e=Q(0),f=Q(0),g=Q(0);f=N[b+204>>2];g=N[b+196>>2];d=N[b+100>>2];e=N[b+108>>2];N[a>>2]=Q(Q(d*N[b+200>>2])+Q(e*N[b+192>>2]))*c;N[a+4>>2]=Q(Q(d*f)+Q(e*g))*c}function Oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);h=N[b>>2];d=N[b+8>>2];e=N[c>>2];f=N[b+12>>2];g=N[c+4>>2];N[a+4>>2]=Q(Q(d*e)+Q(f*g))+N[b+4>>2];N[a>>2]=h+Q(Q(f*e)-Q(g*d))}function pk(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=0;if(J[a>>2]){c=N[b>>2];d=Q(c*c);c=N[b+4>>2];if(Q(d+Q(c*c))>Q(0)){J[a+144>>2]=0;I[a+4>>1]=L[a+4>>1]|2}e=J[b+4>>2];J[a+64>>2]=J[b>>2];J[a+68>>2]=e}}function od(a,b){a=a|0;b=b|0;var c=0;if(K[a+141|0]!=(b|0)){c=J[a+48>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[a+52>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}H[a+141|0]=b}}function lg(a,b){a=a|0;b=b|0;var c=0;if(K[a+104|0]!=(b|0)){c=J[a+48>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[a+52>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}H[a+104|0]=b}}function nd(a,b){a=a|0;b=Q(b);var c=0;if(N[a+136>>2]!=b){c=J[a+48>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[a+52>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}N[a+136>>2]=b}}function md(a,b){a=a|0;b=Q(b);var c=0;if(N[a+132>>2]!=b){c=J[a+48>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[a+52>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}N[a+132>>2]=b}}function kg(a,b){a=a|0;b=Q(b);var c=0;if(N[a+112>>2]!=b){c=J[a+48>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[a+52>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}N[a+112>>2]=b}}function jg(a,b){a=a|0;b=Q(b);var c=0;if(N[a+108>>2]!=b){c=J[a+48>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[a+52>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}N[a+108>>2]=b}}function hk(a,b,c){a=a|0;b=Q(b);c=c|0;var d=0;a:{if(J[a>>2]!=2){break a}d=!c;c=L[a+4>>1];if(!(d|c&2)){J[a+144>>2]=0;c=c|2;I[a+4>>1]=c}if(!(c&2)){break a}N[a+72>>2]=Q(N[a+128>>2]*b)+N[a+72>>2]}}function bh(a,b){a=a|0;b=Q(b);var c=0;if(N[a+76>>2]!=b){c=J[a+48>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[a+52>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}N[a+76>>2]=b}}function _g(a,b){a=a|0;b=b|0;var c=0;if(!(N[b>>2]==N[a+76>>2]&N[b+4>>2]==N[a+80>>2])){c=J[a+52>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[b+4>>2];J[a+76>>2]=J[b>>2];J[a+80>>2]=c}}function wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=La-16|0;La=e;a=Ba(J[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){J[6204]=a;a=-1}else{a=0}La=e+16|0;Ma=a?-1:J[e+12>>2];return(a?-1:J[e+8>>2])|0}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0);d=N[b+24>>2];e=Q(N[c+4>>2]-N[b+16>>2]);f=N[b+20>>2];g=Q(N[c>>2]-N[b+12>>2]);N[a+4>>2]=Q(d*e)-Q(f*g);N[a>>2]=Q(d*g)+Q(e*f)}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0);e=N[b+48>>2];f=N[b+64>>2];g=N[c+4>>2];d=N[b+72>>2];N[a+4>>2]=Q(d*Q(N[c>>2]-N[b+44>>2]))+N[b+68>>2];N[a>>2]=f-Q(d*Q(g-e))}function Wc(a){var b=0;b=J[a+72>>2];J[a+72>>2]=b-1|b;b=J[a>>2];if(b&8){J[a>>2]=b|32;return-1}J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];return 0}function ni(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0),e=Q(0),f=Q(0);J[b>>2]=0;c=N[a+24>>2];d=N[a+16>>2];e=N[a+20>>2];f=N[a+12>>2];J[b+12>>2]=0;N[b+8>>2]=Q(d+c)*Q(.5);N[b+4>>2]=Q(f+e)*Q(.5)}function fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=La-16|0;La=d;e=J[b+4>>2];b=J[b>>2];if(e-b>>2>>>0>c>>>0){J[d+8>>2]=J[b+(c<<2)>>2];b=za(18420,d+8|0)|0}else{b=1}J[a>>2]=b;La=d+16|0}function lk(a,b,c){a=a|0;b=Q(b);c=c|0;var d=0;a:{if(J[a>>2]!=2){break a}d=!c;c=L[a+4>>1];if(!(d|c&2)){J[a+144>>2]=0;c=c|2;I[a+4>>1]=c}if(!(c&2)){break a}N[a+84>>2]=N[a+84>>2]+b}}function Lc(a,b){var c=0;a:{if(!b){break a}b=sb(b,18228);if(!b|J[b+8>>2]&(J[a+8>>2]^-1)){break a}if(!gb(J[a+12>>2],J[b+12>>2],0)){break a}c=gb(J[a+16>>2],J[b+16>>2],0)}return c}function Ii(a){a=a|0;var b=0,c=0;J[a>>2]=20416;if(K[a+8|0]){b=J[a+12>>2];if(!(H[23836]&1)){c=ba(1,19536)|0;H[23836]=1;J[5958]=c}da(J[5958],b|0,2030,0)}ga(J[a+12>>2]);return a|0}function Xi(a){a=a|0;var b=0,c=0;J[a>>2]=19524;if(K[a+4|0]){b=J[a+8>>2];if(!(H[23836]&1)){c=ba(1,19536)|0;H[23836]=1;J[5958]=c}da(J[5958],b|0,2030,0)}ga(J[a+8>>2]);return a|0}function Ui(a){a=a|0;var b=0,c=0;J[a>>2]=19760;if(K[a+4|0]){b=J[a+8>>2];if(!(H[23836]&1)){c=ba(1,19536)|0;H[23836]=1;J[5958]=c}da(J[5958],b|0,2030,0)}ga(J[a+8>>2]);return a|0}function Ki(a){a=a|0;var b=0,c=0;J[a>>2]=20028;if(K[a+4|0]){b=J[a+8>>2];if(!(H[23836]&1)){c=ba(1,19536)|0;H[23836]=1;J[5958]=c}da(J[5958],b|0,2030,0)}ga(J[a+8>>2]);return a|0}function hj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=La-16|0;La=e;f=J[a+4>>2];b=(f>>1)+b|0;a=J[a>>2];a=f&1?J[J[b>>2]+a>>2]:a;J[e+12>>2]=d;Na[a|0](b,c,e+12|0);La=e+16|0}function Jb(a){var b=0,c=0;b=J[5953];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>Oa()<<16>>>0){if(!(Da(a|0)|0)){break a}}J[5953]=a;return b}J[6204]=48;return-1}function Hi(a){a=a|0;var b=0,c=0;J[a>>2]=20416;if(K[a+8|0]){b=J[a+12>>2];if(!(H[23836]&1)){c=ba(1,19536)|0;H[23836]=1;J[5958]=c}da(J[5958],b|0,2030,0)}ga(J[a+12>>2]);ab(a)}function Ab(a,b){a=a|0;b=b|0;var c=0;c=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){c=J[c+J[b>>2]>>2]}a=Na[c|0](b)|0;b=Xa(8);c=J[a+4>>2];J[b>>2]=J[a>>2];J[b+4>>2]=c;return b|0}function Wi(a){a=a|0;var b=0,c=0;J[a>>2]=19524;if(K[a+4|0]){b=J[a+8>>2];if(!(H[23836]&1)){c=ba(1,19536)|0;H[23836]=1;J[5958]=c}da(J[5958],b|0,2030,0)}ga(J[a+8>>2]);ab(a)}function Ti(a){a=a|0;var b=0,c=0;J[a>>2]=19760;if(K[a+4|0]){b=J[a+8>>2];if(!(H[23836]&1)){c=ba(1,19536)|0;H[23836]=1;J[5958]=c}da(J[5958],b|0,2030,0)}ga(J[a+8>>2]);ab(a)}function Ji(a){a=a|0;var b=0,c=0;J[a>>2]=20028;if(K[a+4|0]){b=J[a+8>>2];if(!(H[23836]&1)){c=ba(1,19536)|0;H[23836]=1;J[5958]=c}da(J[5958],b|0,2030,0)}ga(J[a+8>>2]);ab(a)}function Fk(a,b){a=a|0;b=Q(b);var c=0,d=0;c=(C(b),v(2));d=c&2147483647;if(!(!d|c-1>>>0<8388607|d-8388608>>>0<2130706432&(c|0)>=0)){Aa(3842,3377,300,1066);B()}N[a>>2]=b}function Tk(){var a=0;a=Xa(28);I[a+22>>1]=1;I[a+24>>1]=65535;J[a+12>>2]=0;J[a+16>>2]=0;J[a+8>>2]=1045220557;J[a>>2]=0;J[a+4>>2]=0;I[a+26>>1]=0;H[a+20|0]=0;return a|0}function jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=La-16|0;La=d;e=J[a+4>>2];b=(e>>1)+b|0;a=J[a>>2];a=e&1?J[J[b>>2]+a>>2]:a;J[d+12>>2]=c;Na[a|0](b,d+12|0);La=d+16|0}function ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0);d=N[b+20>>2];e=N[c>>2];f=N[b+24>>2];g=N[c+4>>2];N[a+4>>2]=Q(d*e)+Q(f*g);N[a>>2]=Q(f*e)-Q(g*d)}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0);d=N[b+24>>2];e=N[c+4>>2];f=N[b+20>>2];g=N[c>>2];N[a+4>>2]=Q(d*e)-Q(f*g);N[a>>2]=Q(d*g)+Q(f*e)}function Ve(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);var g=0;g=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){g=J[g+J[b>>2]>>2]}return Q(Q(Na[g|0](b,c,d,e,f)))}function Mc(a,b,c,d){var e=0,f=0;e=J[a+4>>2];f=J[a>>2];a=0;a:{if(!c){break a}a=e>>8;if(!(e&1)){break a}a=J[a+J[c>>2]>>2]}Na[J[J[f>>2]+28>>2]](f,b,a+c|0,e&2?d:2)}function kc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){g=J[g+J[b>>2]>>2]}return Na[g|0](b,c,d,e,f)|0}function Ri(a,b){a=a|0;b=b|0;var c=0,d=0;c=b;d=a- -64|0;b=J[a+48>>2];a=J[a+52>>2];Vd(c,d,J[b+8>>2]+12|0,N[J[b+12>>2]+8>>2],J[a+8>>2]+12|0,N[J[a+12>>2]+8>>2])}function vb(a){var b=0,c=0;b=a*a;c=b*a;return Q(c*(b*b)*(b*2718311493989822e-21+-.00019839334836096632)+(c*(b*.008333329385889463+-.16666666641626524)+a))}function ug(a,b){a=a|0;b=b|0;N[a+68>>2]=N[a+68>>2]-N[b>>2];N[a+72>>2]=N[a+72>>2]-N[b+4>>2];N[a+76>>2]=N[a+76>>2]-N[b>>2];N[a+80>>2]=N[a+80>>2]-N[b+4>>2]}function Vk(a,b,c,d,e,f){a=a|0;b=b|0;c=Q(c);d=Q(d);e=e|0;f=Q(f);var g=0;g=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){g=J[g+J[b>>2]>>2]}Na[g|0](b,c,d,e,f)}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=La-16|0;La=d;Na[a|0](d+8|0,b,c);a=Xa(8);b=J[d+12>>2];J[a>>2]=J[d+8>>2];J[a+4>>2]=b;La=d+16|0;return a|0}function Le(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=Q(d);e=e|0;f=f|0;var g=0;g=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){g=J[g+J[b>>2]>>2]}Na[g|0](b,c,d,e,f)}function Ae(a,b){a=a|0;b=b|0;var c=0;if(!(!(N[b+8>>2]<=N[a+8>>2])|(!(N[a>>2]<=N[b>>2])|!(N[a+4>>2]<=N[b+4>>2])))){c=N[b+12>>2]<=N[a+12>>2]}return c|0}function ff(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(gb(a,J[b+8>>2],f)){oc(b,c,d,e);return}a=J[a+8>>2];Na[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function Hk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){f=J[f+J[b>>2]>>2]}return Na[f|0](b,c,d,e)|0}function Pe(a){a=a|0;var b=0;b=Xa(24);H[b+4|0]=0;J[b+8>>2]=J[a>>2];J[a>>2]=0;a=b+16|0;J[a>>2]=0;J[a+4>>2]=0;J[b>>2]=19996;J[b+12>>2]=a;return b|0}function Pk(a,b){a=a|0;b=b|0;var c=0;c=J[a>>2];a=Xa(6);b=b+c|0;c=L[b>>1]|L[b+2>>1]<<16;I[a>>1]=c;I[a+2>>1]=c>>>16;I[a+4>>1]=L[b+4>>1];return a|0}function wb(a){var b=0;a=a*a;b=a*a;return Q(a*b*(a*2439044879627741e-20+-.001388676377460993)+(b*.04166662332373906+(a*-.499999997251031+1)))}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=La-16|0;La=d;Na[J[a>>2]](d+12|0,b,c);ya(J[d+12>>2]);a=J[d+12>>2];ga(a|0);La=d+16|0;return a|0}function Og(){var a=0;a=Xa(32);J[a>>2]=0;J[a+4>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function dl(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=d|0;e=e|0;var f=0;f=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){f=J[f+J[b>>2]>>2]}Na[f|0](b,c,d,e)}function Me(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=Q(d);e=e|0;var f=0;f=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){f=J[f+J[b>>2]>>2]}Na[f|0](b,c,d,e)}function uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=0;e=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){e=J[e+J[b>>2]>>2]}return Na[e|0](b,c,d)|0}function el(a,b){a=a|0;b=b|0;var c=0,d=0;c=La-16|0;La=c;d=J[b+4>>2];J[c+8>>2]=J[b>>2];J[c+12>>2]=d;a=Na[a|0](c+8|0)|0;La=c+16|0;return a|0}function Uj(a,b){a=a|0;b=b|0;var c=0;c=L[a+4>>1];if(b){I[a+4>>1]=c|4;return}b=c&65531;I[a+4>>1]=b;if(J[a>>2]){J[a+144>>2]=0;I[a+4>>1]=b|2}}function Bb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){f=J[f+J[b>>2]>>2]}Na[f|0](b,c,d,e)}function Yb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){e=J[e+J[b>>2]>>2]}return Na[e|0](b,c,d)|0}function nc(a,b,c,d,e,f){var g=0,h=0;g=J[a+4>>2];h=g>>8;a=J[a>>2];if(g&1){h=J[J[d>>2]+h>>2]}Na[J[J[a>>2]+20>>2]](a,b,c,d+h|0,g&2?e:2,f)}function dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=La-16|0;La=e;a=J[a>>2];J[e+12>>2]=d;a=Na[a|0](b,c,e+12|0)|0;La=e+16|0;return a|0}function Wb(a,b,c){a=a|0;b=b|0;c=Q(c);var d=0;d=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){d=J[d+J[b>>2]>>2]}return Q(Q(Na[d|0](b,c)))}function bc(a,b,c,d,e){var f=0,g=0;f=J[a+4>>2];g=f>>8;a=J[a>>2];if(f&1){g=J[J[c>>2]+g>>2]}Na[J[J[a>>2]+24>>2]](a,b,c+g|0,f&2?d:2,e)}function zh(a,b){a=a|0;b=b|0;var c=0;if(K[a+38|0]!=(b|0)){c=J[a+8>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}H[a+38|0]=b}}function Xa(a){var b=0;a=a>>>0<=1?1:a;a:{while(1){b=fb(a);if(b){break a}b=J[6639];if(b){Na[b|0]();continue}break}ma();B()}return b}function Bc(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=Q(d);var e=0;e=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){e=J[e+J[b>>2]>>2]}Na[e|0](b,c,d)}function wg(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0),e=Q(0);e=N[b+140>>2];d=N[b+116>>2];N[a>>2]=Q(d*N[b+136>>2])*c;N[a+4>>2]=Q(d*e)*c}function vh(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0),e=Q(0);e=N[b+244>>2];d=N[b+156>>2];N[a>>2]=Q(d*N[b+240>>2])*c;N[a+4>>2]=Q(d*e)*c}function kk(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;var e=0;e=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){e=J[e+J[b>>2]>>2]}Na[e|0](b,c,d)}function Xk(){var a=0;a=Xa(152);J[a+148>>2]=0;J[a+4>>2]=2;J[a+8>>2]=1008981770;J[a>>2]=12028;J[a+12>>2]=0;J[a+16>>2]=0;return a|0}function Xb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=0;e=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){e=J[e+J[b>>2]>>2]}Na[e|0](b,c,d)}function Fe(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0);c=N[b+12>>2];d=N[b+4>>2];N[a>>2]=Q(N[b>>2]+N[b+8>>2])*Q(.5);N[a+4>>2]=Q(d+c)*Q(.5)}function Ee(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0);c=N[b+12>>2];d=N[b+4>>2];N[a>>2]=Q(N[b+8>>2]-N[b>>2])*Q(.5);N[a+4>>2]=Q(c-d)*Q(.5)}function cd(a){Eb(J[a>>2],J[a+20>>2]);Eb(J[a>>2],J[a+24>>2]);Eb(J[a>>2],J[a+16>>2]);Eb(J[a>>2],J[a+12>>2]);Eb(J[a>>2],J[a+8>>2])}function _b(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){e=J[e+J[b>>2]>>2]}Na[e|0](b,c,d)}function Je(a){a=a|0;var b=0;b=Xa(16);J[b+4>>2]=0;J[b>>2]=12160;H[b+8|0]=0;J[b+12>>2]=J[a>>2];J[a>>2]=0;J[b>>2]=20372;return b|0}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){d=J[d+J[b>>2]>>2]}return Na[d|0](b,c)|0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(gb(a,J[b+8>>2],0)){pc(b,c,d);return}a=J[a+8>>2];Na[J[J[a>>2]+28>>2]](a,b,c,d)}function fk(a){a=a|0;var b=Q(0),c=Q(0);b=N[a+28>>2];c=Q(b*b);b=N[a+32>>2];return Q(Q(Q(N[a+116>>2]*Q(c+Q(b*b)))+N[a+124>>2]))}function ub(a,b){a=a|0;b=b|0;var c=0;c=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){c=J[c+J[b>>2]>>2]}return Q(Q(Na[c|0](b)))}function Th(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=eb(e,148);f=Gb(b,a,0,c,0),g=12212,J[f>>2]=g;return b|0}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;a=J[a>>2]+b|0;b=L[c>>1]|L[c+2>>1]<<16;I[a>>1]=b;I[a+2>>1]=b>>>16;I[a+4>>1]=L[c+4>>1]}function Qh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;e=eb(e,148);f=Gb(e,a,b,c,d),g=12264,J[f>>2]=g;return e|0}function Qg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=eb(e,148);f=Gb(b,a,0,c,0),g=13124,J[f>>2]=g;return b|0}function Oh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;e=eb(e,148);f=Gb(e,a,b,c,d),g=12324,J[f>>2]=g;return e|0}function Ng(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=eb(e,148);f=Gb(b,a,0,c,0),g=13184,J[f>>2]=g;return b|0}function Fh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=eb(e,148);f=Gb(b,a,0,c,0),g=12544,J[f>>2]=g;return b|0}function Dh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=eb(e,148);f=Gb(b,a,0,c,0),g=12604,J[f>>2]=g;return b|0}function $b(a,b){a=a|0;b=b|0;var c=0;c=La-16|0;La=c;J[c+12>>2]=b;a=Na[a|0](c+12|0)|0;ga(J[c+12>>2]);La=c+16|0;return a|0}function zb(a,b,c){a=a|0;b=b|0;c=Q(c);var d=0;d=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){d=J[d+J[b>>2]>>2]}Na[d|0](b,c)}function Ik(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=J[a+12>>2];return Na[J[J[e>>2]+20>>2]](e,b,c,J[a+8>>2]+12|0,d)|0}function db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){d=J[d+J[b>>2]>>2]}Na[d|0](b,c)}function cb(a,b){a=a|0;b=b|0;var c=0;c=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){c=J[c+J[b>>2]>>2]}return Na[c|0](b)|0}function Ih(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0);d=N[b+116>>2];c=Q(N[b+100>>2]*c);N[a+4>>2]=c*N[b+120>>2];N[a>>2]=c*d}function ag(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0);d=N[b+104>>2];c=Q(N[b+92>>2]*c);N[a+4>>2]=c*N[b+108>>2];N[a>>2]=c*d}function Ak(a,b){a=a|0;b=b|0;if(!(J[a+28>>2]>(b|0)&(b|0)>=0)){Aa(1444,3377,346,5658);B()}return J[a+24>>2]+P(b,28)|0}function pb(a,b){a=a|0;b=b|0;var c=0;c=J[a>>2];a=Xa(8);b=b+c|0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;return a|0}function Uh(a,b){a=a|0;b=b|0;var c=0;c=L[a+4>>1];if(!(!(c&16)^b)){J[a+72>>2]=0;I[a+4>>1]=c&65519|(b?16:0);Sb(a)}}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=na((H[b+11|0]<0?J[b>>2]:b)|0,19436,J[c>>2])|0,J[d>>2]=e}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=na((H[b+11|0]<0?J[b>>2]:b)|0,19672,J[c>>2])|0,J[d>>2]=e}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=na((H[b+11|0]<0?J[b>>2]:b)|0,19904,J[c>>2])|0,J[d>>2]=e}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=na((H[b+11|0]<0?J[b>>2]:b)|0,20304,J[c>>2])|0,J[d>>2]=e}function Ib(a,b,c){if(c){if((c|0)>=641){ab(b);return}a=(K[c+23924|0]<<2)+a|0;J[b>>2]=J[a+12>>2];J[a+12>>2]=b}}function tb(a,b){a=a|0;b=b|0;var c=0;c=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){c=J[c+J[b>>2]>>2]}Na[c|0](b)}function ok(a,b){a=a|0;b=Q(b);if(J[a>>2]){if(Q(b*b)>Q(0)){J[a+144>>2]=0;I[a+4>>1]=L[a+4>>1]|2}N[a+72>>2]=b}}function Yk(){var a=0;a=Xa(20);J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=11892;J[a+12>>2]=0;J[a+16>>2]=0;return a|0}function Zi(a,b,c){a=a|0;b=b|0;c=c|0;a=J[a>>2]+(b<<3)|0;b=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=b;return 1}function oj(a){a=a|0;var b=Q(0),c=Q(0);b=N[J[a+48>>2]+20>>2];c=N[J[a+52>>2]+20>>2];N[a+140>>2]=b>c?b:c}function Af(a){a=a|0;var b=0,c=0;a=J[a+4>>2];b=Xc(a)+1|0;c=fb(b);if(c){a=rb(c,a,b)}else{a=0}return a|0}function mf(){var a=0;a=Xa(20);J[a>>2]=0;J[a+4>>2]=0;J[a+16>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function Ze(a){a=a|0;var b=0;b=Xa(12);H[b+4|0]=0;J[b+8>>2]=J[a>>2];J[a>>2]=0;J[b>>2]=19504;return b|0}function Ue(a){a=a|0;var b=0;b=Xa(12);H[b+4|0]=0;J[b+8>>2]=J[a>>2];J[a>>2]=0;J[b>>2]=19740;return b|0}function Lj(){var a=0;a=Xa(20);J[a>>2]=0;J[a+4>>2]=0;H[a+16|0]=0;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function Jk(a,b){a=a|0;b=b|0;var c=0;c=J[a+12>>2];return Na[J[J[c>>2]+16>>2]](c,J[a+8>>2]+12|0,b)|0}function Wf(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0);d=N[b+108>>2];N[a>>2]=N[b+104>>2]*c;N[a+4>>2]=d*c}function De(a){a=a|0;var b=Q(0);b=Q(Q(N[a+8>>2]-N[a>>2])+Q(N[a+12>>2]-N[a+4>>2]));return Q(Q(b+b))}function Ug(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0);d=N[b+100>>2];N[a>>2]=N[b+96>>2]*c;N[a+4>>2]=d*c}function zd(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0);d=N[b+88>>2];N[a>>2]=N[b+84>>2]*c;N[a+4>>2]=d*c}function jh(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0);d=N[b+84>>2];N[a>>2]=N[b+80>>2]*c;N[a+4>>2]=d*c}function zf(){var a=0;a=J[6200];if(a){while(1){Na[J[a>>2]]();a=J[a+4>>2];if(a){continue}break}}}function df(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(gb(a,J[b+8>>2],f)){oc(b,c,d,e)}}function Eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Id(b,J[J[a+48>>2]+12>>2],c,J[J[a+52>>2]+12>>2],d)}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Hd(b,J[J[a+48>>2]+12>>2],c,J[J[a+52>>2]+12>>2],d)}function lh(a,b){a=a|0;b=b|0;var c=0;b=J[b+48>>2];c=J[b+16>>2];J[a>>2]=J[b+12>>2];J[a+4>>2]=c}function kh(a,b){a=a|0;b=b|0;var c=0;b=J[b+52>>2];c=J[b+16>>2];J[a>>2]=J[b+12>>2];J[a+4>>2]=c}function qb(a,b,c){a=a|0;b=b|0;c=c|0;a=J[a>>2]+b|0;b=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=b}function Ya(a,b){var c=0;c=La-16|0;La=c;if(J[6142]){J[c+12>>2]=b;Rc(J[6142],a,b)}La=c+16|0}function Sg(a,b){a=a|0;b=b|0;N[a+76>>2]=N[a+76>>2]-N[b>>2];N[a+80>>2]=N[a+80>>2]-N[b+4>>2]}function og(a){a=a|0;return Q(Q(Q(N[J[a+52>>2]+56>>2]-N[J[a+48>>2]+56>>2])-N[a+120>>2]))}function bl(a,b){a=a|0;b=b|0;var c=0;c=J[b+4>>2];J[a+102964>>2]=J[b>>2];J[a+102968>>2]=c}function al(a,b){a=a|0;b=b|0;var c=0;c=J[b+102968>>2];J[a>>2]=J[b+102964>>2];J[a+4>>2]=c}function Jc(){var a=0;a=Xa(16);J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function Gk(a,b){a=a|0;b=b|0;var c=0;c=J[a+12>>2];Na[J[J[c>>2]+28>>2]](c,b,N[a>>2])}function Wg(a,b){a=a|0;b=b|0;var c=0;c=J[b+80>>2];J[a>>2]=J[b+76>>2];J[a+4>>2]=c}function cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Na[a|0](b,c,d,e)|0}function bf(){var a=0;a=Xa(6);I[a+4>>1]=0;I[a>>1]=1;I[a+2>>1]=65535;return a|0}function Hj(a){a=a|0;N[a+136>>2]=Y(Q(N[J[a+48>>2]+16>>2]*N[J[a+52>>2]+16>>2]))}function pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(gb(a,J[b+8>>2],0)){pc(b,c,d)}}function ml(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} +function ef(){var a=0;a=Xa(12);J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;return a|0}function ae(a){a=a|0;var b=0;if(a){b=J[a>>2];if(b){J[a+4>>2]=b;ab(b)}ab(a)}}function Rg(a){a=a|0;a=La-16|0;La=a;J[a+12>>2]=0;Rc(23664,9289,0);La=a+16|0}function $d(){var a=0;a=Xa(12);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;return a|0}function ej(a,b,c){a=a|0;b=b|0;c=c|0;J[J[a>>2]+(b<<2)>>2]=J[c>>2];return 1}function ng(a){a=a|0;return Q(Q(N[J[a+52>>2]+72>>2]-N[J[a+48>>2]+72>>2]))}function Yi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Na[J[a>>2]](b,c,d)|0}function uh(a,b){a=a|0;b=Q(b);return Q(Q(Q(N[a+156>>2]*N[a+256>>2])*b))}function pg(a,b){a=a|0;b=Q(b);return Q(Q(Q(N[a+96>>2]+N[a+100>>2])*b))}function hd(a){Eb(J[a+32>>2],J[a+40>>2]);Eb(J[a+32>>2],J[a+36>>2])}function Hb(a,b){a=a|0;b=b|0;Na[J[J[a>>2]+4>>2]](a)|0;Ib(b,a,148)}function Gc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Na[J[a>>2]](b,c,d)}function ji(a,b,c){a=a|0;b=b|0;c=c|0;return Q(Q(Na[a|0](b,c)))}function Wj(a,b){a=a|0;b=b|0;I[a+4>>1]=L[a+4>>1]&65527|(b?8:0)}function yf(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=Q(d);Na[a|0](b,c,d)}function rg(a,b){a=a|0;b=b|0;return Q(N[((b<<2)+a|0)+24>>2])}function Bg(a,b){a=a|0;b=b|0;return Q(N[((b<<3)+a|0)+12>>2])}function il(a,b){a=a|0;b=b|0;J[a+4>>2]=J[a+4>>2]&-5|(b?4:0)}function ic(a,b){if(b){ic(a,J[b>>2]);ic(a,J[b+4>>2]);ab(b)}}function Yf(a,b){a=a|0;b=b|0;return Q(N[((b<<2)+a|0)+8>>2])}function Fg(a,b){a=a|0;b=b|0;return Q(N[((b<<3)+a|0)+8>>2])}function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ma=0;return 0}function ii(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a|0](b,c)|0}function ld(a,b){a=a|0;b=Q(b);return Q(Q(N[a+112>>2]*b))}function jd(a,b){a=a|0;b=Q(b);return Q(Q(N[a+104>>2]*b))}function Zk(a,b){a=a|0;b=b|0;return Q(Q(Na[J[a>>2]](b)))}function Hg(a,b){a=a|0;b=Q(b);return Q(Q(N[a+108>>2]*b))}function yd(a,b){a=a|0;b=Q(b);return Q(Q(N[a+92>>2]*b))}function mb(a,b,c){a=a|0;b=b|0;c=Q(c);N[J[a>>2]+b>>2]=c}function ih(a,b){a=a|0;b=Q(b);return Q(Q(N[a+88>>2]*b))}function ai(a,b){a=a|0;b=b|0;J[a+4>>2]=J[a+4>>2]&(b^-1)}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;return gb(a,b,0)|0}function lb(a,b){a=a|0;b=b|0;return Q(N[J[a>>2]+b>>2])}function _k(a,b,c){a=a|0;b=b|0;c=Q(c);Na[J[a>>2]](b,c)}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;I[J[a>>2]+b>>1]=c}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;J[J[a>>2]+b>>2]=c}function ud(a,b){a=a|0;b=b|0;return Q(N[(b<<2)+a>>2])}function Zb(a,b,c){a=a|0;b=b|0;c=c|0;Na[J[a>>2]](b,c)}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;H[J[a>>2]+b|0]=c}function zk(a,b){a=a|0;b=b|0;return Q(Q(Na[a|0](b)))}function we(a,b){a=a|0;b=b|0;return Na[J[a>>2]](b)|0}function rj(a){a=a|0;if(a){Na[J[J[a>>2]+32>>2]](a)}}function jl(a){if(a){return 31-S(a-1^a)|0}return 32}function af(a,b){a=a|0;b=b|0;return L[J[a>>2]+b>>1]}function _e(a,b){a=a|0;b=b|0;return I[J[a>>2]+b>>1]}function Dc(a,b){a=a|0;b=b|0;return J[J[a>>2]+b>>2]}function bi(a,b){a=a|0;b=b|0;J[a+4>>2]=J[a+4>>2]|b}function Rk(a,b,c){a=a|0;b=b|0;c=Q(c);Na[a|0](b,c)}function Nb(a,b){a=a|0;b=b|0;return K[J[a>>2]+b|0]}function Cb(a){a=a|0;if(a){Na[J[J[a>>2]+4>>2]](a)}}function Tg(a,b){a=a|0;b=Q(b);return Q(Q(b*Q(0)))}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;Na[a|0](b,c)}function gj(a){a=a|0;return J[a+4>>2]-J[a>>2]>>2}function Fc(a,b){a=a|0;b=b|0;return Na[a|0](b)|0}function $i(a){a=a|0;return J[a+4>>2]-J[a>>2]>>3}function Kc(a,b,c,d){Ca(a|0,b|0,8,0,c|0,-1,d|0)}function $h(a,b){a=a|0;b=b|0;return P(b,20)+a|0}function Rj(a){a=a|0;return(K[a+4|0]&32)>>>5|0}function Pj(a){a=a|0;return(K[a+4|0]&16)>>>4|0}function Nk(a){a=a|0;return J[J[a+12>>2]+4>>2]}function ye(a){a=a|0;return(K[a+4|0]&2)>>>1|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Vj(a){a=a|0;return(K[a+4|0]&8)>>>3|0}function Tj(a){a=a|0;return(K[a+4|0]&4)>>>2|0}function Mf(a,b){a=a|0;b=b|0;J[a+102940>>2]=b}function Lf(a,b){a=a|0;b=b|0;J[a+102980>>2]=b}function uc(a,b){a=a|0;b=Q(b);return Q(Q(0))}function tf(a){a=a|0;return qa(J[a+60>>2])|0}function te(a,b){a=a|0;b=Q(b);N[a+144>>2]=b}function qe(a,b){a=a|0;b=Q(b);N[a+136>>2]=b}function le(a,b){a=a|0;b=Q(b);N[a+104>>2]=b}function hb(a){a=a|0;return J[J[a>>2]-4>>2]}function ge(a,b){a=a|0;b=Q(b);N[a+140>>2]=b}function dh(a,b){a=a|0;b=Q(b);N[a+100>>2]=b}function ac(a,b){a=a|0;b=b|0;Na[J[a>>2]](b)}function Xj(a,b){a=a|0;b=Q(b);N[a+132>>2]=b}function Qf(a,b){a=a|0;b=Q(b);N[a+148>>2]=b}function zc(a){a=a|0;return Q(N[a+132>>2])}function wj(a){a=a|0;return Q(N[a+120>>2])}function vj(a){a=a|0;return Q(N[a+112>>2])}function uj(a){a=a|0;return Q(N[a+108>>2])}function re(a){a=a|0;return Q(N[a+144>>2])}function rd(a){a=a|0;return Q(N[a+124>>2])}function qd(a){a=a|0;return Q(N[a+128>>2])}function ke(a){a=a|0;return Q(N[a+104>>2])}function je(a,b){a=a|0;b=Q(b);N[a+68>>2]=b}function jc(a){a=a|0;return Q(N[a+136>>2])}function hh(a,b){a=a|0;b=Q(b);N[a+92>>2]=b}function he(a,b){a=a|0;b=Q(b);N[a+72>>2]=b}function gk(a){a=a|0;return Q(N[a+116>>2])}function eh(a,b){a=a|0;b=Q(b);N[a+96>>2]=b}function ee(a){a=a|0;return Q(N[a+100>>2])}function de(a){a=a|0;return Q(N[a+140>>2])}function ce(a,b){a=a|0;b=Q(b);N[a+84>>2]=b}function Zg(a,b){a=a|0;b=Q(b);N[a+88>>2]=b}function Pf(a){a=a|0;return Q(N[a+148>>2])}function Dk(a,b){a=a|0;b=Q(b);N[a+16>>2]=b}function Bk(a,b){a=a|0;b=Q(b);N[a+20>>2]=b}function wd(a){a=a|0;return Q(N[a+84>>2])}function vd(a){a=a|0;return Q(N[a+88>>2])}function sk(a){a=a|0;return Q(N[a+56>>2])}function ie(a){a=a|0;return Q(N[a+68>>2])}function gh(a){a=a|0;return Q(N[a+92>>2])}function fh(a){a=a|0;return Q(N[a+12>>2])}function cl(a){a=a|0;return K[a+102972|0]}function be(a){a=a|0;return Q(N[a+96>>2])}function ah(a){a=a|0;return Q(N[a+76>>2])}function Zh(a){a=a|0;return Q(N[a+48>>2])}function Sh(a){a=a|0;return Q(N[a+52>>2])}function Mh(a){a=a|0;return Q(N[a+40>>2])}function Jj(a,b){a=a|0;b=b|0;J[a+12>>2]=b}function Hh(a){a=a|0;return Q(N[a+44>>2])}function Ek(a){a=a|0;return Q(N[a+16>>2])}function Ck(a){a=a|0;return Q(N[a+20>>2])}function Ac(a){a=a|0;return Q(N[a+72>>2])}function $k(a,b){a=a|0;b=Q(b);N[a+8>>2]=b}function xd(a){a=a|0;return Q(N[a+8>>2])}function ci(a,b){a=a|0;b=b|0;J[a+4>>2]=b}function Kj(a,b){a=a|0;b=b|0;J[a+8>>2]=b}function Ad(a){a=a|0;return Q(N[a+4>>2])}function nb(a){a=a|0;return Na[a|0]()|0}function Qj(a,b){a=a|0;b=b|0;Na[a|0](b)}function Oj(a){a=a|0;return J[a+100>>2]}function zi(a){a=a|0;return J[a+56>>2]}function ve(a){a=a|0;return J[a+12>>2]}function si(a){a=a|0;return J[a+60>>2]}function rc(a){a=a|0;return Q(N[a>>2])}function pd(a){a=a|0;return K[a+141|0]}function mg(a){a=a|0;return K[a+104|0]}function ig(a){a=a|0;return K[a+116|0]}function _d(a){a=a|0;return J[a+48>>2]}function Yd(a){a=a|0;return J[a+52>>2]}function Sk(a,b){a=a|0;b=b|0;J[a>>2]=b}function Of(a){a=a|0;return J[a+16>>2]}function Nj(a){a=a|0;return J[a+88>>2]}function Eg(a){a=a|0;return K[a+140|0]}function ue(a){a=a|0;return J[a+8>>2]}function qc(a,b){a=a|0;b=b|0;return 1}function Mk(a){a=a|0;return K[a+38|0]}function Ij(a){a=a|0;return K[a+61|0]}function Cc(a){a=a|0;return J[a+4>>2]}function Xd(a){a=a|0;return a- -64|0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0}function xe(a){a=a|0;return J[a>>2]}function se(a){a=a|0;return a+12|0}function rk(a){a=a|0;return a+44|0}function qk(a){a=a|0;return a+28|0}function ne(a){a=a|0;return a+80|0}function me(a){a=a|0;return a+88|0}function fe(a){a=a|0;return a+84|0}function Vb(a){a=a|0;return a+68|0}function Ub(a){a=a|0;return a+76|0}function Lk(a){a=a|0;return a+32|0}function yj(a){a=a|0;return 23056}function xk(a){a=a|0;return 20820}function vk(a){a=a|0;return 20796}function tj(a){a=a|0;return 23232}function qj(a){a=a|0;return 23372}function nj(a){a=a|0;return 23488}function lj(a){a=a|0;return 19048}function ib(a){a=a|0;if(a){ab(a)}}function gl(a){a=a|0;return 20704}function cj(a){a=a|0;return 19168}function Uk(a){a=a|0;return 21800}function Ok(a){a=a|0;return 21864}function Mj(a){a=a|0;return 20868}function He(a){a=a|0;return 20552}function Gj(a){a=a|0;return 22516}function Ej(a){a=a|0;return 22632}function Cj(a){a=a|0;return 22760}function Aj(a){a=a|0;return 22888}function oh(a){a=a|0;Ya(9242,0)}function mc(a){a=a|0;H[a+4|0]=1}function Ke(a){a=a|0;H[a+8|0]=1}function $a(a){a=a|0;return a|0}function xc(a){a=a|0;return 1}function sf(a){a=a|0;return 0}function Yc(){return Xa(16)|0}function yc(a,b){a=a|0;b=b|0}function bd(){return Xa(8)|0}function xf(){return 24816}function bb(a){a=a|0;ab(a)}function Mb(a){a=a|0;B()}function Tb(){ma();B()}function ob(a){a=a|0} +// EMSCRIPTEN_END_FUNCS +e=K;p(q);var Na=c([null,ji,ud,yf,$e,Xe,Oe,Hc,il,Fc,ye,Rk,te,zk,re,qe,jc,Qj,Hj,ge,de,oj,Fc,_d,Yd,Hc,Ri,Xd,zi,si,ii,$h,Zh,Sh,Mh,Hh,rc,Ad,xd,fh,nb,Og,Fg,Bg,rg,rc,Ad,ib,ud,Yf,Fc,Of,ib,bd,mb,lb,ib,bd,mb,lb,ib,Yc,qb,pb,qb,pb,ib,Yc,mb,lb,ib,mf,qb,pb,mb,lb,ib,ef,qb,pb,mb,lb,ib,Jc,mb,lb,qb,pb,ib,bf,Ic,af,Ic,_e,Cb,hb,yb,Cb,$a,$a,hb,mc,ac,Ze,$b,Ye,We,Cb,hb,Ve,Cb,$a,$a,hb,mc,ac,Ue,$b,Te,Cb,hb,db,_b,Se,db,Re,Qe,yb,Cb,$a,$a,hb,mc,ac,Pe,$b,Ne,Cb,hb,ci,db,Cc,cb,bi,ai,Bb,Me,Le,Bb,db,Cb,$a,$a,hb,Ke,ac,Je,$b,Ie,ib,He,Jc,nb,Ge,cb,Fe,lc,Ee,De,ub,Ce,Zb,Be,Gc,Ae,yb,ti,Yb,qb,pb,hl,gl,fl,el,Mf,db,Lf,db,Df,tb,Kf,yb,Jf,db,If,yb,$c,db,Gf,dl,Ff,_b,Ef,Bb,Hf,db,cl,cb,bl,db,al,lc,Cf,ob,hb,Ec,Dc,mb,lb,Cc,cb,cb,Yb,kc,Bb,Xb,$k,_k,xd,Zk,ob,$a,$a,hb,Yk,nb,qb,pb,yb,cb,Yb,kc,Bb,Xb,ob,$a,$a,hb,yb,cb,Yb,kc,Bb,Xb,ob,$a,$a,hb,Xk,nb,yb,cb,Wk,Gc,Yb,kc,Bb,Xb,di,cb,li,Bc,ki,Vk,ob,Uk,Tk,nb,Sk,Zb,xe,we,mb,lb,Ob,Nb,Qk,Pk,ib,Ok,Nk,cb,ve,cb,zh,db,Mk,cb,Bh,db,Lk,Kk,Ah,tb,ue,cb,Jk,yb,Ik,Hk,Gk,db,Fk,zb,rc,ub,Ek,Dk,Ck,Bk,Ak,yk,Dd,db,ob,xk,wk,nb,Ec,Dc,qb,pb,mb,lb,Ob,Nb,ob,vk,Ld,yb,Yh,uk,Xh,db,Wh,Xb,se,tk,se,Ab,sk,ub,rk,qk,pk,db,Xd,ok,zb,Ac,nk,Bb,mk,_b,lk,kk,jk,ik,hk,gk,fk,ek,db,dk,Zb,Sb,tb,ck,bk,ak,$j,_j,Zj,Yj,zc,Xj,jc,qe,de,ge,_h,db,xe,cb,Wj,db,Vj,cb,Uj,Tj,Sj,ye,Vh,Rj,Uh,Pj,Oj,cb,Nj,cb,Kd,ib,Mj,Lj,nb,Ec,Dc,Kj,Zb,ue,we,Jj,ve,Ob,Nb,ob,hb,Cc,cb,_d,cb,Yd,lc,pe,Wb,Ij,cb,tb,ib,$a,$a,Gj,Fj,nb,qb,pb,mb,lb,ob,$a,$a,hb,ne,Ab,me,le,zb,ke,ub,je,ie,he,Ac,tb,ib,$a,$a,Ej,Dj,nb,qb,pb,mb,lb,ob,$a,$a,hb,ch,db,Vb,Ab,bh,zb,ah,ub,hh,gh,eh,be,dh,ee,tb,ib,$a,$a,Cj,Bj,nb,qb,pb,mb,lb,ob,$a,$a,hb,_g,db,Ub,Ab,le,zb,ke,ub,ce,wd,Zg,vd,tb,ib,$a,$a,Aj,zj,nb,qb,pb,mb,lb,Ob,Nb,ob,$a,$a,hb,Vb,Ab,Ub,fe,ee,ub,sd,Gg,Eg,cb,Dg,db,rd,qd,Cg,Bc,pd,od,nd,zb,jc,md,zc,ld,Wb,tb,ib,$a,$a,yj,xj,nb,qb,pb,mb,lb,Ob,Nb,ob,$a,$a,hb,Vb,Ab,Ub,wj,ub,og,ng,ig,cb,hg,db,rd,qd,gg,Bc,mg,lg,kg,zb,vj,jg,uj,yd,Wb,tb,ib,$a,$a,tj,sj,nb,qb,pb,mb,lb,rj,$a,$a,hb,Vb,Ab,Ub,pe,Wb,ce,zb,wd,ub,vd,tb,ib,$a,$a,qj,pj,nb,qb,pb,mb,lb,ob,$a,$a,hb,ne,Ab,me,be,ub,je,zb,ie,he,Ac,tb,ib,$a,$a,nj,mj,nb,qb,pb,Ob,Nb,mb,lb,ob,$a,$a,hb,Vb,Ab,Ub,fe,sd,ub,pd,cb,od,db,nd,zb,jc,md,zc,jd,Wb,te,re,Qf,Pf,tb,ae,lj,$d,nb,kj,jj,ij,hj,gj,cb,fj,Zd,ej,dj,ae,cj,$d,nb,bj,db,aj,_b,$i,cb,_i,Zd,Zi,Yi,oe,Xi,Wi,Vi,Mb,Tb,Ui,Ti,Si,Mb,Qi,Pi,Oi,Ni,Mi,Li,Ki,Ji,yc,yc,Wd,Wd,Ii,Hi,Gi,Fi,Ei,Di,Ci,Bi,Ai,Mb,$a,bb,yi,xc,xi,wi,vi,ui,bb,ri,xc,qi,pi,oi,ni,bb,mi,xc,hi,gi,fi,ei,$a,Mb,Rh,$a,bb,Ph,bb,Nh,bb,Qg,Hb,Th,Fh,Qh,Hb,Hb,Ng,Hb,Hb,Hb,Dh,Hb,Oh,Mb,$a,bb,Gd,Fd,Ih,uc,Gh,yc,ph,$a,bb,Lh,Kh,Jh,Eh,bb,Ch,bb,Cd,Bd,vh,uh,th,bb,yh,xh,wh,Qb,Pb,zd,yd,qh,bb,sh,rh,qc,oh,Mb,lh,kh,jh,ih,$g,bb,nh,mh,qc,Wg,Vg,Ug,Tg,Rg,Sg,bb,Yg,Xg,qc,Pg,bb,Mg,bb,Qb,Pb,Ig,Hg,Ag,kd,bb,Lg,Kg,Jg,Cd,Bd,wg,uc,vg,ug,bb,zg,yg,xg,Qb,Pb,zd,pg,fg,eg,bb,tg,sg,qg,Qb,Pb,ag,uc,$f,bb,dg,cg,bg,Gd,Fd,Wf,ld,Vf,bb,_f,Zf,Xf,Qb,Pb,Rf,jd,Nf,kd,bb,Uf,Tf,Sf,$a,bb,Bf,_c,wf,vf,uf,tf,Qc,Pc,sf,rf,$a,bb,ob,ob,Nc,bb,Nc,bb,qf,df,hf,pf,bb,ff,jf,of,bb,gf,kf,nf,bb,lf]);function Oa(){return G.byteLength/65536|0}function Ta(Ua){Ua=Ua|0;var Pa=Oa()|0;var Qa=Pa+Ua|0;if(Pa=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="<<< WASM_BINARY_FILE >>>";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);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(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={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["Q"];addOnInit(Module["asm"]["P"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;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>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}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 setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function initRandomFill(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("initRandomDevice")}function randomFill(view){return(randomFill=initRandomFill())(view)}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function 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}var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)}var preloadPlugins=Module["preloadPlugins"]||[];function FS_handledByPreloadPlugin(byteArray,fullname,finish,onerror){if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled}function FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}}function FS_modeStringToFlags(str){var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags}function FS_getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:()=>{for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd=-1)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAPU32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAPU32[buf+96>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function HandleAllocator(){this.allocated=[undefined];this.freelist=[];this.get=function(id){return this.allocated[id]};this.has=function(id){return this.allocated[id]!==undefined};this.allocate=function(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id};this.free=function(id){this.allocated[id]=undefined;this.freelist.push(id)}}var emval_handles=new HandleAllocator;function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError(`Tried to register registered instance: ${ptr}`)}else{registeredInstances[ptr]=instance}}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError(`Tried to unregister unregistered instance: ${ptr}`)}}function detachFinalizer(handle){}var finalizationRegistry=false;function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=Emval.toValue(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`)}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return Emval.toHandle(ctor)}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var typeDependencies={};function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError(`Missing field: "${fieldName}"`)}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}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)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(`${humanName} with invalid "this": ${this_}`)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(`${humanName} incompatible with "this" of type ${this_.constructor.name}`)}if(!this_.$$.ptr){throwBindingError(`cannot call emscripten binding method ${humanName} on deleted object`)}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=`${classType.name}.${fieldName}`;var desc={get:function(){throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`,[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=()=>{throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`,[getterReturnType,setterArgumentType])}}else{desc.set=v=>{throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function enumReadValueFromPointer(name,shift,signed){switch(shift){case 0:return function(pointer){var heap=signed?HEAP8:HEAPU8;return this["fromWireType"](heap[pointer])};case 1:return function(pointer){var heap=signed?HEAP16:HEAPU16;return this["fromWireType"](heap[pointer>>1])};case 2:return function(pointer){var heap=signed?HEAP32:HEAPU32;return this["fromWireType"](heap[pointer>>2])};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_enum(rawType,name,size,isSigned){var shift=getShiftFromSize(size);name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":function(c){return this.constructor.values[c]},"toWireType":function(destructors,c){return c.value},"argPackAdvance":8,"readValueFromPointer":enumReadValueFromPointer(name,shift,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor)}function __embind_register_enum_value(rawEnumType,name,enumValue){var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(`${enumType.name}_${name}`,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function emval_allocateDestructors(destructorsRef){var destructors=[];HEAPU32[destructorsRef>>2]=Emval.toHandle(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var argN=new Array(argCount-1);var invokerFunction=(handle,name,destructors,args)=>{var offset=0;for(var i=0;i4){emval_handles.get(handle).refcount+=1}}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}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;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return BOX2D.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = BOX2D; +else if (typeof define === 'function' && define['amd']) + define([], function() { return BOX2D; }); +else if (typeof exports === 'object') + exports["BOX2D"] = BOX2D; diff --git a/emscripten/box2d/box2d.release.wasm.js b/emscripten/box2d/box2d.release.wasm.js new file mode 100644 index 00000000..fcdd6980 --- /dev/null +++ b/emscripten/box2d/box2d.release.wasm.js @@ -0,0 +1,21 @@ + +var BOX2D = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + return ( +function(BOX2D = {}) { + +var Module=typeof BOX2D!="undefined"?BOX2D:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});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 scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;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=""}{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(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{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var 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)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="box2d.release.wasm.wasm";if(!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(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);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(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={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["O"];updateMemoryViews();wasmTable=Module["asm"]["Q"];addOnInit(Module["asm"]["P"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;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>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function ___assert_fail(condition,filename,line,func){abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function HandleAllocator(){this.allocated=[undefined];this.freelist=[];this.get=function(id){return this.allocated[id]};this.has=function(id){return this.allocated[id]!==undefined};this.allocate=function(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id};this.free=function(id){this.allocated[id]=undefined;this.freelist.push(id)}}var emval_handles=new HandleAllocator;function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError(`Tried to register registered instance: ${ptr}`)}else{registeredInstances[ptr]=instance}}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError(`Tried to unregister unregistered instance: ${ptr}`)}}function detachFinalizer(handle){}var finalizationRegistry=false;function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=Emval.toValue(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`)}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return Emval.toHandle(ctor)}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var typeDependencies={};function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError(`Missing field: "${fieldName}"`)}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}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)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(`${humanName} with invalid "this": ${this_}`)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(`${humanName} incompatible with "this" of type ${this_.constructor.name}`)}if(!this_.$$.ptr){throwBindingError(`cannot call emscripten binding method ${humanName} on deleted object`)}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=`${classType.name}.${fieldName}`;var desc={get:function(){throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`,[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=()=>{throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`,[getterReturnType,setterArgumentType])}}else{desc.set=v=>{throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function enumReadValueFromPointer(name,shift,signed){switch(shift){case 0:return function(pointer){var heap=signed?HEAP8:HEAPU8;return this["fromWireType"](heap[pointer])};case 1:return function(pointer){var heap=signed?HEAP16:HEAPU16;return this["fromWireType"](heap[pointer>>1])};case 2:return function(pointer){var heap=signed?HEAP32:HEAPU32;return this["fromWireType"](heap[pointer>>2])};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_enum(rawType,name,size,isSigned){var shift=getShiftFromSize(size);name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":function(c){return this.constructor.values[c]},"toWireType":function(destructors,c){return c.value},"argPackAdvance":8,"readValueFromPointer":enumReadValueFromPointer(name,shift,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor)}function __embind_register_enum_value(rawEnumType,name,enumValue){var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(`${enumType.name}_${name}`,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function emval_allocateDestructors(destructorsRef){var destructors=[];HEAPU32[destructorsRef>>2]=Emval.toHandle(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var argN=new Array(argCount-1);var invokerFunction=(handle,name,destructors,args)=>{var offset=0;for(var i=0;i4){emval_handles.get(handle).refcount+=1}}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}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;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _fd_close(fd){return 52}function _fd_read(fd,iov,iovcnt,pnum){return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var wasmImports={"D":___assert_fail,"v":___syscall_fcntl64,"I":___syscall_ioctl,"J":___syscall_openat,"q":__embind_create_inheriting_constructor,"m":__embind_finalize_value_object,"F":__embind_register_bigint,"M":__embind_register_bool,"c":__embind_register_class,"l":__embind_register_class_class_function,"i":__embind_register_class_constructor,"a":__embind_register_class_function,"b":__embind_register_class_property,"r":__embind_register_constant,"L":__embind_register_emval,"A":__embind_register_enum,"o":__embind_register_enum_value,"x":__embind_register_float,"d":__embind_register_function,"k":__embind_register_integer,"h":__embind_register_memory_view,"w":__embind_register_std_string,"s":__embind_register_std_wstring,"n":__embind_register_value_object,"f":__embind_register_value_object_field,"N":__embind_register_void,"z":__emval_call_method,"g":__emval_call_void_method,"j":__emval_decref,"e":__emval_get_method_caller,"B":__emval_incref,"y":__emval_run_destructors,"C":__emval_take_value,"p":_abort,"K":_emscripten_memcpy_big,"G":_emscripten_resize_heap,"t":_fd_close,"H":_fd_read,"E":_fd_seek,"u":_fd_write};var asm=createWasm();var ___wasm_call_ctors=function(){return(___wasm_call_ctors=Module["asm"]["P"]).apply(null,arguments)};var _malloc=function(){return(_malloc=Module["asm"]["R"]).apply(null,arguments)};var _free=function(){return(_free=Module["asm"]["S"]).apply(null,arguments)};var ___getTypeName=function(){return(___getTypeName=Module["asm"]["T"]).apply(null,arguments)};var __embind_initialize_bindings=Module["__embind_initialize_bindings"]=function(){return(__embind_initialize_bindings=Module["__embind_initialize_bindings"]=Module["asm"]["U"]).apply(null,arguments)};var ___errno_location=function(){return(___errno_location=Module["asm"]["__errno_location"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["V"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return BOX2D.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = BOX2D; +else if (typeof define === 'function' && define['amd']) + define([], function() { return BOX2D; }); +else if (typeof exports === 'object') + exports["BOX2D"] = BOX2D; diff --git a/emscripten/box2d/box2d.release.wasm.wasm b/emscripten/box2d/box2d.release.wasm.wasm new file mode 100644 index 00000000..f05b3be6 Binary files /dev/null and b/emscripten/box2d/box2d.release.wasm.wasm differ